GitHub's Agentic Workflows tooling exposed MCP operations to agent clients, but some supplied strings subsequently passed through a Cobra command-line parser as options. Without a reliable -- boundary and explicit argument handling, text that looked like a workflow name or option value could be interpreted as a privileged switch. The researcher documented…
Case · DiggingBeagle record
gh-aw MCP arguments reinterpreted as privileged command flags
MCP tool argument strings reached gh-aw command options not declared by the tool schema, including options affecting scanning and approval.
GitHub Agentic Workflows MCP integration before gh-aw 0.91.12; attacker-controlled argument passed to an installed and accessible tool. Controlled disclosure, not confirmed exploitation of arbitrary repositories.
Assessment profile
Assessment method- Setting
- research demonstration
- Exploitation
- demonstrated
- Impact
- Band 3 of 4
- Evidence
- Grade B
- Remediation
- fixed reported
- AI role
- AGAINST AI
Basis and provenance
GHSA-f7r8-5pqp-q5p4 and related GHSA-62c8-mmw9-rq5w document missing argument separators in spawned Cobra commands. Researchers tested the code paths and describe v0.91.12 prerelease fixes. The attacker needs low-trust MCP client reachability; no live victim campaign is documented.
Impact basis: An already connected MCP client could supply values parsed as gh-aw command flags, potentially bypassing scanner and approval controls and causing unauthorized local or repository changes. The score is for this demonstrated command-policy boundary, not confirmed attacks on external organizations.
Assessed Oct 19, 2026 using diggingbeagle.assessment/1.
Evidence basis: CLM-GHAW-MCP-FLAG-INJECTION · GHSA-f7r8-5pqp-q5p4: MCP argument flags escape gh-aw tool schema
At a glance
This is not shell injection. The trust crossing is between a schema-constrained MCP request and the more powerful options understood by the executable spawned under the operator account.
Read the implicationsThe advisory demonstrates parser-level and controlled handler effects; it does not establish a campaign against third-party repositories. v0.91.12 contains the published fix, but existing compiled workflows and their generated runtime must be checked separately.
Limits and uncertaintyFull account
GitHub's Agentic Workflows tooling exposed MCP operations to agent clients, but some supplied strings subsequently passed through a Cobra command-line parser as options. Without a reliable -- boundary and explicit argument handling, text that looked like a workflow name or option value could be interpreted as a privileged switch. The researcher documented access to command modes capable of weakening scans, changing approval behavior or operating on another repository.
This is not evidence that every model spontaneously bypassed GitHub approval. The caller needed access to the gh-aw MCP server, and the effective command and repository permissions constrained the eventual effect. The failure is more precise: the tool's JSON description did not define the full authority of the downstream command parser. An apparently valid invocation could acquire semantics that were never represented in the original tool contract.
The correction in 0.91.12 addressed argument separation and the implicated MCP command paths. Verification needs to exercise each named action on a pinned old and updated version, including paths that are syntactically valid but carry flag prefixes. A language-model refusal is not a substitute for an executor rejecting an unauthorized option.
Claims & evidence
CLM-GHAW-MCP-FLAG-INJECTIONGitHub Security Lab documented that MCP client strings could be parsed as gh-aw command-line options before v0.91.12, including flags to disable scanning or approve changes.supported
Basis: reported finding
- supportsGHSA-f7r8-5pqp-q5p4: MCP argument flags escape gh-aw tool schemaprimary disclosure
Summary; Details: Argv flag injection; Patched release
Implications
This is not shell injection. The trust crossing is between a schema-constrained MCP request and the more powerful options understood by the executable spawned under the operator account.
Controls and mitigations
- Stop option interpretation at the point untrusted MCP parameters become argv, and verify the effective repository and scanner policy at the side-effect boundary.
Unknowns and contradictions
- The advisory demonstrates parser-level and controlled handler effects; it does not establish a campaign against third-party repositories. v0.91.12 contains the published fix, but existing compiled workflows and their generated runtime must be checked separately.
Sources and citation
Material revision history
- Oct 19, 2026 · Published version · first publication · revision 174
- Oct 19, 2026 · Canonical change recorded · material revision · revision 175Public fields changed: assessment_profile