Claude Code and Codex Patched After Plugin4Shell Exposes a Shared Assumption Across Four AI Agents

A disclosed zero-click flaw in plugin marketplaces for Claude Code, Codex, Gemini CLI, Microsoft Copilot, and GitHub Copilot points to something more durable than a bug: a design assumption that four independent teams held simultaneously.

Disclosure Timeline — Plugin4Shell

June 2026

AIR researchers Or Nevo, Dor Granat, and Niv Hoffman report Plugin4Shell — a plugin SHA-pinning bypass enabling zero-click remote code execution — to affected vendors.

Before 17 Sept 2026

Anthropic ships Claude Code 2.1.179 (patched). OpenAI ships Codex 0.146.0 (patched). Google deprecates Gemini CLI; users directed to Antigravity CLI.

17 September 2026

AIR publishes full disclosure. Microsoft Copilot: no patch released. GitHub Copilot: GitHub asserts a mitigation exists; researchers dispute scope. Reported reach: millions of users across affected plugin marketplaces.

Status as of 18 September 2026

No exploitation in the wild is claimed. No incident, breach, compromise, or data loss has been reported. This is a disclosed vulnerability, not an incident.

What Happened

On 17 September 2026, security researchers at AIR — Or Nevo, Dor Granat, and Niv Hoffman — publicly disclosed a vulnerability they call Plugin4Shell, described as a plugin SHA-pinning bypass. The mechanism, as reported in AIR’s disclosure: agents check out pinned commits but fail to verify that the code actually landed at that location, which allows an attacker to redirect checkout operations to malicious code while the pin appears honoured. The flaw is zero-click remote code execution. No exploitation in the wild is claimed, and no incident, breach, compromise, or data loss has been reported.

The products named as affected are Anthropic’s Claude Code, OpenAI’s Codex, Google’s Gemini CLI, Microsoft Copilot, and GitHub Copilot — five distinct agent products from four companies. The flaw was first reported to vendors in June 2026. The researchers describe the affected plugin marketplaces as reaching millions of users.

The disclosure triggered a response from GitHub. A GitHub spokesperson said: “GitHub does not allow users to create branch or tag names that resemble commit SHAs. This mitigation ensures the reported vulnerability cannot be exploited on GitHub.” The researchers’ position is that marketplaces hosted on platforms such as Bitbucket remain vulnerable, and that Copilot supports those external marketplaces. The two positions describe different scopes, not a factual disagreement between them.

The key insight: Four independent engineering teams at four separate companies arrived at the same flawed assumption — that pinning a commit SHA is equivalent to verifying it. They did not share code. They shared a mental model. That is how an industry-wide vulnerability emerges without coordination, negligence, or a common codebase.

The assumption was shared. The response was not. That divergence, rather than the flaw itself, is what a buyer
The assumption was shared. The response was not. That divergence, rather than the flaw itself, is what a buyer of these tools is actually choosing between.

Disclosure Status — Four States, Reported Flatly

Anthropic Claude Code

PATCHED — v2.1.179

Patch confirmed at version 2.1.179.

OpenAI Codex

PATCHED — v0.146.0

Patch confirmed at version 0.146.0.

Google Gemini CLI

DEPRECATED

Gemini CLI is deprecated. Users are directed to Antigravity CLI.

Microsoft Copilot

NO PATCH RELEASED

No patch released as of the disclosure date.

GitHub Copilot

CONTESTED SCOPE

GitHub asserts a platform-level mitigation exists. Researchers’ position is that external marketplaces — such as those on Bitbucket — remain in scope, and Copilot supports them. Both positions can be true simultaneously.

This is a status list, not a risk ranking. No product is ranked by risk here. This is not security advice, and no instruction or directive of any kind is issued.

The Structural Read

The most important detail in the Plugin4Shell disclosure is not which products are patched. It is why four products from four companies needed patching for the same conceptual error. The answer is not a supply chain compromise, not copied code, not a shared library. It is a shared assumption: that naming a commit SHA and verifying it are the same operation.

A SHA pin looks like the strongest supply-chain control available precisely because a cryptographic hash cannot be forged. That appearance of finality is the trap. Pinning states which commit you want. It does not, by itself, establish that what you received is that commit. The gap between naming and checking is the entire vulnerability — and because it is a design assumption rather than a coding mistake, it surfaced independently across products that share no codebase. Assumptions propagate faster than code. They travel in documentation, in convention, in what every senior engineer already treats as settled.

The second structural point is about the extension layer. Plugin marketplaces occupy an unusual position in the agent stack: they are treated as peripheral (optional extensions, third-party ecosystem, not core product) but they execute code, they update automatically, and they run with whatever access the agent itself has. A component that auto-updates and executes is a production dependency whether or not it is managed like one. The supply-chain controls applied to extension layers tend to lag those applied to the applications they extend — not because of negligence, but because of how organisations allocate scrutiny when something feels optional.

Map of AI — Extension Layer Dynamics

The Plugin Marketplace as Unmanaged Production Dependency

In the Map of AI stack, the extension layer sits between the agent and third-party ecosystems. It inherits the agent’s permissions, delivers auto-updating executable code, and reaches millions of users — yet it is rarely subject to the same supply-chain scrutiny as the agent itself. That gap is not unique to any one vendor. It is structural: organisations allocate security scrutiny proportional to how production-critical a component feels, and plugin marketplaces have historically not felt production-critical. Plugin4Shell is a case study in why that categorisation does not match the technical reality.

The third point is about the GitHub-versus-researchers disagreement, which is the most analytically useful part of the disclosure. GitHub’s position is that its platform does not permit branch or tag names resembling commit SHAs, so the vulnerability cannot be exploited on GitHub. The researchers’ position is that marketplaces on other platforms — Bitbucket is named — remain vulnerable, and that Copilot accepts plugins from those sources. Reading these as contradictory is the mistake. A control that holds on one host does not automatically travel to every host a product can be pointed at. A tool that accepts external sources inherits the security posture of the weakest of them. Both claims can be true simultaneously and likely are. This piece does not adjudicate between the two positions.

Three Implications

IMPLICATION 1 — ASSUMPTIONS AS INDUSTRY-WIDE CONTAGION

Plugin4Shell did not spread through shared code. It spread through a shared mental model about what SHA pinning guarantees. That mechanism — a false equivalence between naming and verifying — had become industry convention, documented and taught as settled practice. For companies building on the agent stack, the useful question is not whether their code shares a library with a competitor’s. It is whether their teams share unexamined assumptions about what a security primitive actually proves. Convention is where the next version of this class of vulnerability already lives.

IMPLICATION 2 — THE EXTENSION LAYER NEEDS PRODUCTION-GRADE SCRUTINY

The plugin marketplace is not a peripheral feature. It is a component that executes code, auto-updates, and runs with the agent’s full access scope, in front of millions of users. Plugin4Shell makes the production character of the extension layer visible in a way that product roadmaps and threat models have not always reflected. The strategic question for every company operating an agent platform is whether the scrutiny applied to the extension layer is commensurate with its actual execution risk — not its perceived optionality. That is a resource allocation and organisational prioritisation question as much as a technical one.

IMPLICATION 3 — MULTI-HOST TRUST CHAINS REQUIRE EXPLICIT ARCHITECTURE

The scope disagreement between GitHub and the AIR researchers encodes a general principle: security controls are host-specific unless they are explicitly architected to travel. A tool that can be pointed at multiple plugin sources inherits the weakest trust model among those sources. As AI agents expand their reach across external marketplaces, enterprise integrations, and third-party platforms, the assumption that controls applied at the primary host cover the full attack surface becomes structurally incorrect. The architecture question — which controls travel, and how, and to which hosts — becomes a first-class product design problem rather than an afterthought of the security team.

91,000+ executives read Business Engineer for the AI strategy frameworks cited by ChatGPT, Claude, and Perplexity.

This article describes a disclosed vulnerability, not an incident. No exploitation in the wild is claimed, and nothing above says that anyone was attacked, breached or compromised, that any data was taken, or that any incident occurred. No CVE number, severity score or victim count is stated, and their absence reflects what has been published rather than a claim that none exists. Exposure is not quantified beyond the reported phrasing about millions of users. GitHub’s stated position and the researchers’ counter-position are both reported above and neither is adjudicated here. Nothing above says either party is right or wrong, and nothing claims that any product is or is not currently exploitable. Nothing here claims any vendor was negligent, careless, slow or at fault, and nothing praises any vendor’s response. No product is ranked by risk. No technical steps, code, commands or reproduction detail appear, and the mechanism is described no further than the summary already published by the researchers. Alphabet and Microsoft are publicly listed companies; Anthropic and OpenAI are private. No share-price, market-capitalisation, market-reaction or valuation claim is made about any of them. This is business analysis. It is not security advice and not investment advice, it tells no reader what to do, no view is expressed on any security, and no recommendation is made.

Sources: air.security · theregister.com · github.com

Scroll to Top

Discover more from FourWeekMBA

Subscribe now to keep reading and get access to the full archive.

Continue reading

FourWeekMBA