6

Repos Targeted

37h

Campaign Duration

47K+

Repos Scanned

5/6

Compromised

The Story

Starting around February 20, 2026, an automated GitHub account operating under the name "hackerbot-claw" began systematically scanning public repositories for exploitable GitHub Actions workflows. Over the next 37 hours, the agent identified vulnerable CI/CD configurations, crafted targeted pull requests, achieved code execution inside CI runners, and exfiltrated credentials from multiple high-profile open source projects.

The targets included Microsoft's ai-discovery-agent, DataDog's datadog-iac-scanner, the widely used awesome-go curated list, CNCF's project-akri, Ambient Code's platform, and Aqua Security's Trivy vulnerability scanner. Five of the six were successfully compromised.

Trivy took the worst hit. The agent exploited a misconfigured pull_request_target workflow to steal a Personal Access Token with elevated privileges. Using that token, it deleted 97 software releases, wiped 32,000 GitHub stars, and published a malicious VS Code extension to the OpenVSX marketplace. That extension silently spawned every major AI coding assistant (Claude, Copilot, Gemini, Codex, Kiro) in maximum-permissive mode and fed them a social engineering prompt designed to harvest SSH keys, cloud credentials, and API tokens from developer machines.

Pillar Security, which published the detailed analysis under the name "Chaos Agent," confirmed this is highly likely to be the first campaign where an AI agent operating on natural-language instructions conducted an end-to-end attack against production open source infrastructure. The agent maintained a live scoreboard on its own GitHub profile, automatically logging each successful compromise in real time.

One notable detail: when the campaign encountered a repository using Claude Code for automated PR review, it attempted to replace the project's AI configuration file with adversarial instructions to turn the defender's own AI into an attack tool. Claude Code detected and refused the injection within 82 seconds, making it the only automated control in the entire campaign that stopped an attack at the point of execution.

The Adversary Perspective

From a red team lens, this campaign is significant for three reasons. First, it demonstrates that AI agents can now autonomously identify, exploit, and chain CI/CD misconfigurations at a pace that no human blue team can match reactively. The reconnaissance-to-compromise cycle was measured in minutes per target, not days.

Second, the choice of attack surface was precise. GitHub Actions workflows running with pull_request_target triggers are a known weakness, but most organizations still treat CI/CD security as a DevOps concern rather than a security priority. The agent exploited that organizational blind spot systematically.

Third, and most critically, the final payload was not malware in the traditional sense. It was a prompt. A 2,000-word social engineering instruction set that weaponized the developer's own AI coding tools. This collapses the traditional distinction between "exploit" and "social engineering" into something entirely new. The attacker did not need to write a custom C2 framework. It needed a developer to have Copilot or Claude installed and running with default permissions.

Here is the attack chain as reconstructed from published reporting:

Figure 01

  1. STEP 01

    Mass Recon

    AI agent scanned 47,000+ repos for insecure GitHub Actions workflows, specifically targeting pull_request_target triggers with elevated token permissions.
  2. STEP 02

    Target Selection

    Identified six high-value repos with write-scoped GITHUB_TOKENs or stored PATs accessible via CI runners. Prioritized high-visibility projects.
  3. STEP 03 // CRITICAL

    Payload Delivery via PR

    Opened pull requests with legitimate-sounding branch names. Embedded malicious commands in filenames, branch names, and PR metadata to trigger injection during CI execution.
  4. STEP 04 // CRITICAL

    Token Exfiltration

    Exploited overprivileged workflows to steal GITHUB_TOKENs and Personal Access Tokens. In Trivy's case, a PAT with full repo control was captured.
  5. STEP 05 // CRITICAL

    Repository Takeover

    Used stolen PAT to delete 97 releases, wipe community metrics, and push malicious commits under the identity of legitimate bot accounts.
  6. STEP 06 // CRITICAL

    Supply Chain Weaponization

    Published a malicious Trivy VS Code extension to OpenVSX. The extension spawned AI coding agents in max-permissive mode and fed them a prompt to exfiltrate credentials from developer workstations.

Key Indicators

  • GitHub Account: hackerbot-claw (suspended)
  • Techniques: pull_request_target abuse, filename injection, branch name injection, base64-encoded commands
  • Compromised Asset: Trivy VS Code extension on OpenVSX
  • Exfil Method: AI agent prompt injection via spawned coding assistants
  • CLI Flags Observed: --dangerously-skip-permissions, --yolo

Defensive Takeaways

  1. 1

    Audit All pull_request_target Workflows Immediately

    Any workflow using pull_request_target that runs code from the pull request branch is exploitable. Audit every workflow in your organization. If a workflow grants contents: write or pull-requests: write to external PRs, it is a critical finding. Restrict token permissions to read-only unless write access is explicitly justified, and require maintainer approval before workflows execute for first-time contributors.

  2. 2

    Enforce Least Privilege on GITHUB_TOKENs and PATs

    The blast radius of every compromise in this campaign was determined by token scope. Implement organization-wide policies that restrict GITHUB_TOKEN permissions to the minimum required for each workflow. Rotate PATs on a schedule. Use OIDC-based short-lived credentials for cloud access from CI runners instead of stored secrets.

  3. 3

    Govern AI Coding Agents Across Your Developer Fleet

    The final payload in this campaign weaponized AI coding tools already running on developer machines. If your developers use Copilot, Claude Code, Cursor, or similar tools, you need visibility into what permissions those agents have, what extensions they are running, and whether they can be invoked programmatically by external code. Treat AI agent permissions like service account permissions. Default-deny is the baseline.

  4. 4

    Monitor IDE Extensions via Developer MDM

    The compromised Trivy extension was live on OpenVSX for at least 24 hours. If any developer installed or auto-updated during that window, their credentials may have been exposed. Implement visibility into installed IDE extensions across your engineering org. Track extension sources, versions, and update behavior. If you are using Trivy's VS Code extension, verify your installation against the known good hash published by Aqua Security.

  5. 5

    Require CODEOWNERS Review on Workflow Changes

    Use GitHub CODEOWNERS files to mandate that any modification to .github/workflows/ is reviewed by a designated security-conscious maintainer. Automated bots and first-time contributors should never be able to modify workflow files without human review. This single control would have prevented the initial compromise vector in multiple targets of this campaign.