TL;DR: An autonomous bot campaign exploited misconfigured GitHub Actions workflows to trigger code execution, steal credentials, and in some cases compromise repositories, according to Exaforce. The pattern shows that workflow trust, token scope, and prompt injection are now security controls, not just developer conveniences.
At a glance
What this is: Exaforce analyses the hackerbot-claw campaign, where an autonomous AI bot abused GitHub Actions workflow trust gaps to run code, steal credentials, and sometimes compromise repositories.
Why it matters: It matters because GitHub workflow permissions, token scope, and untrusted input handling now function as security controls, not just developer settings, for both software delivery and SOC visibility.
Context
GitHub Actions has become part of the software supply chain control plane, which means workflow configuration now affects both build integrity and identity security. When untrusted input reaches execution paths, a repository can turn into a credential-exposure point, a code-execution point, or both. The article’s core warning is that this is not only a developer hygiene issue; it is a governance issue for CI/CD access, token scope, and automated trust decisions.
The identity angle is direct because the campaign abused write-capable tokens, workflow permissions, and automated comments to move from ordinary repository interaction into privileged execution. That is a machine-identity problem as much as an application-security problem, because the workflow runner and its credentials become the attacker’s access path. For teams running NHI, IAM, and platform security programmes, the lesson is that build systems need the same lifecycle and privilege discipline as any other privileged environment.
Key questions
Q: What breaks when GitHub Actions workflows run untrusted pull requests with write access?
A: The workflow boundary breaks because attacker-controlled input can execute in a privileged context. That lets an untrusted contribution inherit repository rights, secret access, or release permissions that should never be available during validation. The result is token leakage, unauthorized repository actions, or both, especially when pull_request_target is combined with broad permissions.
Q: Why do write-capable workflow tokens create repository-compromise risk?
A: A write-capable token turns successful code execution into persistence. If an attacker can push changes, approve merges, or trigger downstream jobs, one compromised workflow can alter the repository and extend access beyond the original execution point. That is why workflow permissions should be scoped separately for validation, release, and administrative actions.
Q: How should security teams detect AI bot activity in GitHub workflow abuse?
A: Look for repeated pull-request creation, environment creation, and workflow completion events tied to suspicious automation identities, especially when they target multiple repositories in a short period. The key signal is not a single event but a sequence that shows a bot moving from normal repository interaction into execution attempts.
Q: How should teams govern LLMs that can act inside build workflows?
A: Treat the agent as a privileged system, not a chat interface. Separate instruction sources from contributor-controlled content, remove write permissions unless they are essential, and require explicit governance for any model that can change code, merge requests, or trigger downstream automation. Otherwise prompt injection becomes a control-plane compromise.
Technical breakdown
Why GitHub Actions trust boundaries break under untrusted input
GitHub Actions workflows often consume pull-request content, branch names, filenames, and comments as if they were simple data. When those values are interpolated into shell commands, expressions, or conditional logic, they stop being data and become execution input. That is why triggers such as pull_request_target, issue_comment, and workflows that reuse repository metadata are risky when they grant elevated permissions. The runner environment can then execute attacker-controlled commands, expose tokens, or write back to the repository. In practice, the failure is not GitHub itself but the assumption that repository-originated input is trustworthy just because it arrives through a normal developer workflow.
Practical implication: Treat every workflow field derived from contributors or repository metadata as untrusted until explicitly sanitised or isolated.
How token scope turns workflow execution into repo compromise
Workflow execution becomes materially more dangerous when the runner receives write-capable tokens or broad repository permissions. A token that can push changes, approve merges, or access secrets lets an attacker turn one successful workflow run into persistence inside the repository. In the article’s examples, the bot sought credentials that could be reused for follow-on actions, including malicious code changes that downstream CI jobs would execute. This is a classic privilege-amplification pattern: code execution alone is bad, but code execution plus over-privileged automation creates a path to repository control and supply chain propagation.
Practical implication: Limit workflow permissions to the minimum required and separate read-only validation from any step that can write or merge.
Why prompt injection matters when an LLM is embedded in the workflow
The campaign also showed that an LLM used inside a repository workflow inherits the same trust mistakes as shell automation, but with a different attack surface. If the agent consumes repository files such as CLAUDE.md, comments, or pull-request text as instructions, an attacker can steer the model toward unauthorized actions. That is prompt injection in an operational setting: the attacker is not breaking the model, but manipulating the instruction hierarchy the workflow gives it. Once the agent has write permissions, the model becomes a privileged execution path, not just an assistant.
Practical implication: Segregate instruction sources from untrusted repository content and remove write permissions from any agentic workflow that can be influenced by contributor input.
Threat narrative
Attacker objective: The attacker’s objective was to turn workflow trust into privileged execution and then use stolen credentials or injected actions to alter repositories and extend access.
- Entry occurred when the bot targeted public GitHub repositories through pull requests, comments, branch names, and other workflow inputs that the pipeline treated as normal contributor activity.
- Credential access followed when malicious workflow execution exposed tokens from the runner environment, including write-capable credentials that could be reused for repository actions.
- Escalation and impact came when stolen credentials or injected commands enabled code changes, malicious pushes, and in some cases repository compromise or supply chain risk.
Breaches seen in the wild
- tj-actions/changed-files compromise 2025: A stolen bot token let attackers poison tj-actions/changed-files so pipelines printed their CI/CD secrets to public logs (CVE-2025-30066).
- reviewdog Action compromise 2025: A stolen maintainer token poisoned reviewdog/action-setup, leaking CI secrets including the tj-actions bot token used in the next attack.
Read and download The State of NHI & AI Agent Breach Report 2026, covering 200+ breaches impacting Non-Human Identities including AI Agents.
NHI Mgmt Group analysis
Workflow trust has become an identity control problem, not merely a CI/CD configuration problem. The article shows that repository events, automated comments, and pull-request metadata can be converted into execution paths when teams treat them as trusted by default. In governance terms, the workflow runner is a privileged workload identity, and its permissions should be managed with the same discipline as any other high-risk service credential. Practitioners should stop thinking of build pipelines as low-value plumbing and start treating them as a high-impact access layer.
Prompt injection in agentic workflows is a privilege escalation pattern. When an LLM embedded in a repository can read instructions from files like CLAUDE.md and also act with write permissions, the model becomes a control point that an attacker can steer. That creates a governance gap between user intent, model instruction hierarchy, and downstream execution authority. Teams need to recognise that AI agents in software delivery inherit the blast radius of the permissions attached to them, so the access model must be designed before the agent is trusted in production workflows.
Build systems now need machine-identity lifecycle controls, not just secret scanning. The central failure mode here is not the presence of automation, but the persistence of broad, reusable privilege in a system that accepts untrusted input. Once a workflow token can write, merge, or trigger downstream jobs, compromise can propagate across repositories and pipelines. Practitioners should treat workflow credentials as governed NHIs with scope, rotation, and offboarding requirements, because static trust assumptions no longer match how attackers operate.
Hackerbot-claw is a useful named concept for AI-driven workflow abuse. It captures the combination of autonomous scanning, repeated exploit attempts, and rapid exploitation of ordinary CI/CD mistakes. That matters because the field tends to think of supply-chain abuse as a one-off intrusion, when the real pattern is repeated machine-speed abuse of weak trust boundaries. Security teams should assume this is a repeatable pattern, not an edge case, and design detections for behaviour rather than only known indicators.
SOC teams need visibility into SaaS control planes as part of supply-chain defence. The article makes clear that GitHub is not just a developer platform but an operational control plane where malicious workflow activity can precede repository compromise. That means detection engineering has to watch for suspicious pull-request sequences, environment creation events, and unexpected workflow completions. The reader takeaway is simple: if GitHub actions are invisible to the SOC, the organisation is blind at the exact point where code, identity, and build integrity intersect.
From our research library:
- 53% of security leaders expect AI to run major portions of their infrastructure autonomously within the next three years, according to the 2026 Infrastructure Identity Survey.
- Read next: Secrets Management Guide
What this signals
GitHub workflow abuse now sits at the intersection of CI/CD, IAM, and NHI governance. The reader’s programme needs to assume that runner tokens, automated merge paths, and agentic workflows can all become privilege-bearing identities. The operational shift is from trusting pipeline logic to governing pipeline authority, which is a different control problem entirely.
Workflow privilege should be treated as a lifecycle issue. If a job can read secrets, write back to the repository, or trigger downstream actions, it has the same governance requirements as any other privileged non-human identity. That means scope, offboarding, and monitoring need to follow the workflow, not just the repository owner.
According to the 2026 Infrastructure Identity Survey, 53% of security leaders expect AI to run major portions of their infrastructure autonomously within the next three years. As that expectation becomes normal, workflow abuse will increasingly test whether teams can distinguish useful automation from attacker-steered automation in time to matter.
For practitioners
- Tighten workflow permissions Default GitHub Actions jobs to read-only access, and grant write permissions only to the narrowest job that absolutely requires them. Separate validation steps from any step that can merge, push, or publish artifacts.
- Treat contributor input as untrusted Review every workflow path that uses pull-request comments, branch names, filenames, or repository metadata inside expressions or shell commands. Replace direct interpolation with safe allowlists or detached parsing.
- Remove secret exposure from runners Assume a runner can be probed by an attacker and reduce the value of what it can read. Keep secrets out of steps that do not need them, and isolate any token that must exist for deployment or release.
- Add detections for suspicious workflow sequences Alert on the sequence of pull_request.create, environment.create, and workflow completion events when the requesting identity is unknown or automation-like. Use that sequence to spot attempts to move from PR activity into execution.
- Harden any agentic workflow with write access If an LLM can read repository instructions or respond to pull requests, remove its ability to commit or approve changes unless the instruction channel is separately governed and tightly scoped.
Key takeaways
- The central risk is not a new exploit primitive but the abuse of trusted workflow paths that convert ordinary repository activity into code execution and credential exposure.
- The article shows how quickly autonomous bots can scan many repositories, repeat exploit attempts, and exploit the same control gap across different workflow patterns.
- The control point is workflow authority itself: least privilege, input isolation, and agent governance matter more than relying on reviewers to notice malicious activity after execution.
Standards & Framework Alignment
This section maps relevant standards and security frameworks to the operational risks and controls described in this guidance.
OWASP Non-Human Identity Top 10, OWASP Agentic AI Top 10 and MITRE ATT&CK address the attack and risk surface, while CIS Controls v8 sets the governance and control requirements practitioners need to meet.
| Framework | Control / Reference | Relevance |
|---|---|---|
| OWASP Non-Human Identity Top 10 | NHI-04 — Insecure Authentication | Workflow tokens and runner credentials were abused as trust boundaries in this campaign. |
| NHI-05 — Overprivileged NHI | Write-capable workflow permissions created the escalation path from execution to repo control. | |
| NHI-10 — Human Use of NHI | Human-generated comments and PRs were turned into machine-executable actions inside GitHub Actions. | |
| Recommendation — Harden workflow authentication paths and prevent untrusted input from reaching credential-bearing jobs. Reduce workflow privilege to the minimum scope needed for each job and repository action. Prevent human-authored repository content from being executed automatically by privileged workflows. | ||
| OWASP Agentic AI Top 10 | ASI03 — Identity & Privilege Abuse | The agentic workflow and LLM interactions were abused to obtain actions beyond intended authority. |
| Recommendation — Separate agent instruction channels from execution privileges and deny write access by default. | ||
| MITRE ATT&CK | TA0006;TA0008 — Credential Access; Lateral Movement | The campaign sought token theft and used it to move from workflow execution to repository compromise. |
| Recommendation — Map suspicious workflow activity to credential-access and lateral-movement detections in your SOC. | ||
| CIS Controls v8 | CIS-5 — Account Management | Repository and automation accounts need lifecycle controls because their permissions were the attack surface. |
| Recommendation — Apply account-management discipline to CI/CD identities, including review, restriction, and removal of stale access. | ||
Key terms
- GitHub Actions Trust Boundary: The point where repository content, contributor input, and workflow logic meet inside CI/CD. When untrusted data is allowed to influence execution, the trust boundary becomes an attack surface rather than a convenience layer for automation.
- Workspace Token: A workspace token is a credential issued to a cloud development environment so it can access repository resources on behalf of the user or session. In AI-enabled workspaces, that token becomes high-value because the assistant may be able to read, create, or export it if guardrails are weak.
- Prompt injection in development workflows: Prompt injection in development workflows is the practice of hiding instructions inside content an agent reads and then exploiting the agent’s trust in that content. In code environments, the result can be credential retrieval, workflow tampering, or secret exposure through apparently normal task execution.
- Machine identity lifecycle: Machine identity lifecycle is the full governance process for a non-human identity from creation to retirement. It includes provisioning, access scoping, rotation, renewal, offboarding, and auditability, and it fails when any one of those steps is handled manually or inconsistently.
Deepen your knowledge
NHI Foundation Level course covers NHI governance, machine identity security, and secrets management, including how to think about privileged automation in modern environments. It gives practitioners a common framework for governing the identities that power CI/CD and agentic workflows.
Published by the NHIMG editorial team on August 2, 2026.
Updated on October 12, 2026.
NHI Mgmt Group, the independent authority on Non-Human Identity, IAM, and Agentic AI security. nhimg.org