CTIPilot
AI-generated · no human review · verify critical claims against the linked source. how it works →

GitHub Copilot

product · product:github-copilot

Coverage
1
first 2026-09-22 → last 2026-10-11
Latest activity
2026-09-30
AI coding agents' plugin SHA-pinning is bypassable, mainly via plugins hosted on Bitbucket or self-hosted…
Peak priority
notable
1 notable
Targets
·
no sector or region stated
Sources cited
4
4 hosts

Action items (1)

Do-now tasks recorded on the entries about GitHub Copilot, newest first. Check the date before acting on an older one.

Defender insights

What each entry about GitHub Copilot tells a defender to do, newest first.

2026-09-22NOTABLEAI coding agents' plugin SHA-pinning is bypassable, mainly via plugins hosted on Bitbucket or self-hosted git, and only consumer Gemini CLI stays unfixed

Triage · detection

Story timeline

  1. 2026-09-22Plugin4Shell: a design flaw AIR rates zero-click breaks plugin SHA-pinning in Claude Code, OpenAI Codex, GitHub Copilot and Gemini CLI
    trending-vulnerabilitiesAI coding agents' plugin SHA-pinning is bypassable, mainly via plugins hosted on Bitbucket or self-hosted git, and only consumer Gemini CLI stays unfixed

Hunting pivots

Releases covered
GitHub Copilot
ATT&CK techniques (1 across 1 tactic)

1 technique observed across 1 entry about this entity, derived from entry metadata and body evidence, never asserted without a published entry behind it · pinned to MITRE ATT&CK v20.0 · compare on the matrix · Navigator layer (JSON)

  • Initial AccessSupply Chain Compromise: Compromise Software Supply Chain

Initial Access TA0001

T1195.002Supply Chain Compromise: Compromise Software Supply Chain×1

Adversaries may manipulate application software prior to receipt by a final consumer for the purpose of data or system compromise. Supply chain compromise of software can take place in a number of ways, including manipulation of the application source code, manipulation of the update/distribution mechanism for that software, or replacing compiled releases with a modified version.

Evidence: 2026-09-22/plugin4shell-ai-coding-agent-sha-pinning-bypass · ATT&CK page ↗

Entries about GitHub Copilot (1)

2026-09-22 · view entry permalink →

NOTABLEupdatedNATOB1

Plugin4Shell: a design flaw AIR rates zero-click breaks plugin SHA-pinning in Claude Code, OpenAI Codex, GitHub Copilot and Gemini CLI

Security firm AIR disclosed Plugin4Shell on 2026-09-17: a remote-code-execution design flaw, zero-click by AIR's account, present in four major AI coding agents: Claude Code, OpenAI Codex, GitHub Copilot and Gemini CLI. All four implement plugin-marketplace SHA-pinning, locking each install to a reviewed 40-hex commit hash, but none verifies after checkout that the resolved working tree actually matches that hash (AIR Security, 2026-09-17). An attacker who controls or takes over a trusted plugin's upstream repository creates a branch named identically to the pinned SHA and sets it as the repository's default branch; Claude Code, Codex and Copilot run a plain git clone followed by a checkout of the pinned commit, and because git resolves an ambiguous ref-versus-object-id in favor of the ref, the checkout silently resolves to the attacker's branch while the agent reports the pinned commit installed (AIR Security, 2026-09-17). Gemini CLI has a distinct variant: it fetches the pinned commit into FETCH_HEAD then checks that out, which an attacker defeats by naming their malicious default branch literally "FETCH_HEAD" (AIR Security, 2026-09-17).

Because background plugin auto-update is the default in Claude Code and Codex, an already-installed, already-reviewed plugin is silently swapped on the next update with no install step and no prompt: full zero-click compromise of the agent and "full access to every asset and every piece of data the agent can reach" (AIR Security, 2026-09-17). AIR built a working test attack against all four agents in May 2026 and disclosed it to the vendors in June (The Hacker News, 2026-09-18). OpenAI's own public fix for the same bug shipped in Codex 0.146.0, and AIR says Anthropic fixed it in Claude Code 2.1.179, which Anthropic's release notes do not mention (The Hacker News, 2026-09-18). AIR wrote at disclosure that Microsoft had shipped no fix for Copilot (AIR Security, 2026-09-17). By 2026-09-30 heise online had updated its article to report, citing GitHub support, that GitHub closed the flaw in Copilot CLI 1.0.87 and in the Copilot app 1.1.23, and that the fix checks whether the checked-out code matches the pinned commit (translated from German) (heise online, 2026-09-21). Consumer Gemini CLI is being deprecated rather than patched, so every existing install "stays vulnerable for good" (AIR Security, 2026-09-17). On 2026-08-04 the researchers received Google's confirmation that consumer Gemini CLI is being discontinued and will get no fix (heise online, 2026-09-21). Enterprise access via Gemini Code Assist or Google Cloud is not affected by the discontinuation, and Google's replacement, Antigravity CLI, currently has no comparable SHA-pinning mechanism to bypass (translated from German) (heise online, 2026-09-21). Google says enterprise access to the Gemini CLI will continue with updates, and whether a fix for this flaw is among them is not clear (The Hacker News, 2026-09-18).

The Hacker News independently checked the shipped plugin catalogs on 2026-09-18 and adds a material scope caveat: background auto-update is on by default only for each agent's own built-in, GitHub-hosted marketplace, and every plugin it checked in Anthropic's community catalog and the default Claude Code/Copilot catalogs points to a GitHub repository, which rejects SHA-shaped branch names outright, so the branch-hijack variant does not reach a user who installs only from an agent's default marketplace (The Hacker News, 2026-09-18). The risk concentrates on externally-hosted marketplaces: AIR and The Hacker News name Bitbucket and self-hosted git servers (The Hacker News, 2026-09-18), while heise online states that GitLab, like GitHub, rejects branch names in commit-hash format and is not exploitable this way (translated from German) (heise online, 2026-09-21). On those outside marketplaces auto-update is off or optional (The Hacker News, 2026-09-18). Gemini CLI's FETCH_HEAD-named-branch variant is not clearly blocked by GitHub's hash-name restriction, so a GitHub-hosted Gemini plugin is not established as safe (The Hacker News, 2026-09-18). As of 2026-09-18, no CVE identifier had been assigned and no source reported exploitation in the wild (The Hacker News, 2026-09-18).

It is a plugin SHA-pinning bypass: the agent checks out the exact commit the marketplace pinned but never verifies it landed there, so an attacker who controls the plugin's repo makes the checkout resolve to malicious code while the pin still looks honored. The result is zero-click remote code execution across Claude Code, Codex, GitHub Copilot, and Gemini CLI.

Google has deprecated the Gemini CLI and will not patch it, so every install stays vulnerable for good; those users should migrate to Antigravity, which this attack does not reach

AIR Security 2026-09-17
Updaterun 2026-09-30T0639Z-auditpriorityupdated_atheadlinesummaryactionsbody

GitHub has closed the flaw in Copilot: according to GitHub support the fix is in Copilot CLI 1.0.87 and the Copilot app 1.1.23, and it checks whether the checked-out code matches the pinned commit (translated from German) (heise online, 2026-09-21). heise online also now states that GitLab, like GitHub, rejects branch names in commit-hash format and is not exploitable through the branch-name variant (heise online, 2026-09-21). The earlier statements that Copilot had no fix and that heise named GitLab as exposed are superseded.

The Claude Code fix rests on AIR's account alone: Anthropic's release notes for 2.1.179 do not mention it, whereas OpenAI's own public fix for the same bug shipped in Codex 0.146.0 (The Hacker News, 2026-09-18). The branch-name variant also needs a git host that accepts hash-shaped branch names, which GitHub does not, so users who install plugins only from the agents' default GitHub-based marketplaces are not exposed to it (The Hacker News, 2026-09-18). Google's 2026-08-04 confirmation that consumer Gemini CLI will get no fix was given to the researchers, not received by Google's own researchers (heise online, 2026-09-21).

Correctionrun 2026-10-11T1307Z-audittitleactionsbodysectors

Zero-click is AIR's characterization of the background auto-update path. The Hacker News finds auto-update on by default only for each agent's own GitHub-hosted marketplace, where the branch-name trick does not work, and off or optional for outside marketplaces (The Hacker News, 2026-09-18), so a default installation is not exposed to the branch-name variant without user action. Gemini CLI's exposure runs through a distinct FETCH_HEAD branch variant, and The Hacker News does not establish that installing a Gemini CLI plugin from GitHub avoids it.

vulnerability22 Sep 04:34Zmulti-sourceOpen finding →

Co-occurring entities

Derived: referenced by the same focused operational entries (weekly summaries and report roundups don't count); ×N counts the shared entries.

Where this entity is cited

  • Vulns1

Source distribution

  • air.security1 (25%)
  • heise.de1 (25%)
  • helpnetsecurity.com1 (25%)
  • thehackernews.com1 (25%)