GitHub Supply Chain Attack Exposes Secrets in 218 Repositories

A GitHub Action supply chain attack exposed secrets from 218 repositories due to malicious code in tj-actions/changed-files, impacting popular projects and potentially causing further supply chain attacks.
GitHub Supply Chain Attack Exposes Secrets in 218 Repositories
Table of Contents
    Add a header to begin generating the table of contents

    A significant security incident involving a GitHub Action supply chain attack has resulted in the exposure of secrets from 218 repositories. The compromised GitHub Action, tj-actions/changed-files, was exploited by attackers who inserted malicious code to extract CI/CD secrets from the Runner Worker process. This data was then written to the repository. If workflow logs were publicly accessible, these secrets became readily available to anyone.

    GitHub Supply Chain Attack: The Attack Vector

    The initial attack vector appears to have stemmed from another supply chain attack targeting the reviewdog/action-setup@v1 GitHub Action. This breach may have compromised a GitHub Personal Access Token (PAT) belonging to a bot with sufficient privileges to modify the tj-actions/changed-files repository. The malicious commit, added on March 14, 2025, facilitated the secret exfiltration.

    Data of Exposed GitHub Action Secrets

    While only a small fraction of the approximately 23,000 projects using tj-actions/changed-files were affected, the potential consequences are substantial. Endor Labs, which tracked the incident, reported that between March 14, 04:00 PM UTC, and March 15, 02:00 PM UTC, 5,416 repositories across 4,072 distinct organizations referenced the compromised action. Some of these repositories are extremely popular, boasting over 350,000 stars and 63,000 forks, significantly amplifying the potential impact.

    Repositories with references to the breached GitHub Action
    Source: Endor Labs

    Of the 5,416 repositories referencing the compromised action, 614 executed the affected workflow during the timeframe. Endor Labs clarifies,

    Having executed the action does not necessarily mean that any credentials were printed to the console log. Some repositories followed best-practice recommendations and referenced the commit SHA instead of a mutable tag. Others were run before the attacker tampered with all of the version tags such that they point to the malicious commit.”

    However, 218 repositories ultimately leaked secrets to their console logs.

    The exposed secrets primarily included GitHub install access tokens (which expire within 24 hours), but also credentials for DockerHub, npm, and AWS, posing a more serious long-term risk. Repository owners are urged to immediately rotate their secrets to prevent exploitation.

    GitHub advises users to review its security hardening guidance and restrict access to sensitive files and folders. The investigation continues to determine if the initial reviewdog breach led to further compromises beyond tj-actions and whether any of the 218 affected projects suffered additional breaches.

    Related Posts