ConicPlex

Start Your Project

A laptop on a desk at night with abstract light streams rising from the screen and an open padlock beside it, symbolizing a security flaw in AI coding agents

On this Page

Plugin4Shell Bug Exposes Claude Code, Codex, Copilot, and Gemini CLI to Silent Takeover

A zero-click flaw called Plugin4Shell let attackers swap trusted plugin code in four major AI coding agents. Here is what shipped a fix and what did not.

Sameer Malek

September 21, 2026

A vulnerability called Plugin4Shell, disclosed on September 17, 2026 by security research firm AIR, lets anyone who controls a plugin’s source repository swap out the code an AI coding agent already trusted, even when that agent pinned the plugin to a specific, reviewed commit. It affects four major agents: Claude Code, OpenAI Codex, GitHub Copilot, and Gemini CLI. Anthropic and OpenAI shipped fixes before the public disclosure. GitHub and Google have not.

How Plugin4Shell Actually Works

The bug lives in how these agents verify plugin updates. When a plugin is pinned to a commit hash, the agent is supposed to check out exactly that commit and nothing else. According to AIR’s research, none of the four agents actually confirmed the checkout landed where it was supposed to.

That gap is exploitable in a fairly simple way. An attacker publishes a legitimate-looking plugin pinned to a real commit. Once it’s installed and trusted, they push a routine update, and the marketplace re-pins to a new commit hash. The attacker then creates a branch named identically to that 40-character hash and sets it as the repository’s default branch. Because git prefers a matching branch reference over a bare commit reference, the next background auto-update pulls the attacker’s branch instead of the commit that was actually reviewed. No approval prompt, no reinstall, no click required.

AIR summed up why this one stings more than a typical supply chain bug: it “reaches people who already did everything right,” meaning developers who reviewed a plugin, pinned it deliberately, and still ended up running someone else’s code.

Who’s Patched and Who Isn’t

Patch status as of this week, per AIR’s writeup and independent reporting from The Hacker News and Help Net Security:

  • Claude Code: patched in version 2.1.179, though Anthropic’s public release notes don’t call out the security fix directly.
  • OpenAI Codex: patched in version 0.146.0.
  • GitHub Copilot: Microsoft says a mitigation is in place, but researchers dispute that it closes the full attack surface. No dedicated patch has shipped.
  • Gemini CLI: deprecated by Google, with no fix coming. Users are being pointed toward a replacement product instead.

AIR’s disclosure timeline runs back further than the public reporting suggests: the flaw was found with a working proof of concept in May 2026 and disclosed to all four vendors in June, giving everyone months of lead time before going public in September. Researchers reported no evidence of in-the-wild exploitation at disclosure.

What This Means If Your Team Uses These Tools

If your developers run Claude Code or Codex, updating to the patched versions above closes this specific hole. If anyone on the team relies on GitHub Copilot’s plugin ecosystem or is still running Gemini CLI, treat plugin auto-updates as an open risk for now rather than an assumption you can rely on, and review what plugins are actually installed rather than trusting that a pinned commit means what it used to.

The broader lesson is one we bring up with clients doing AI development work generally: pinning a dependency to a commit hash or version number only protects you if the tool actually verifies the checkout matches. That’s true well beyond AI coding agents, and it’s worth a second look at any internal tooling that auto-updates plugins or packages in the background without a human checking what changed.

Sources

Sameer Malek is a Senior Full Stack Developer at ConicPlex, working across the stack on projects that don’t fit neatly into one platform or framework. He’s often the person weighing a genuine platform or architecture decision rather than defending one side of it, since his work regularly crosses between WordPress, custom builds, and everything in between. He writes here about the comparisons and tradeoffs that come up when there’s more than one reasonable way to build something.

Leave a Reply

Your email address will not be published. Required fields are marked *

Keep reading

Platforms

A designer workspace at dusk with a monitor showing a blue content-block blog layout next to a sketched wireframe notebook

What Webflow’s New CMS Components Actually Change for Content-Heavy Sites

Webflow shipped a feature that lets you insert built components straight into CMS content. Here is what it fixes for…

Moin Memon

October 23, 2026

News & Updates

A laptop glows with hexagonal green light on a dark desk beside a cracked red wax seal on an envelope, with a server rack blurred in the background, symbolizing a Node.js security patch and a broken certificate validation check.

Node.js Patches a Critical RCE Flaw in Its Brotli Decoder, Plus Nine Other Bugs

Node.js shipped 10 security fixes on October 21, 2026, including a critical Brotli decoder RCE bug and three TLS certificate…

Sajil Memon

October 23, 2026

Plugins

Illustration of a document with a checkmark badge representing per-product terms and conditions acceptance in WooCommerce

How to Add Terms and Conditions per Product in WooCommerce (3 Plugins Compared)

WooCommerce ships with one store-wide terms and conditions checkbox. Here is how to require product-specific terms instead, comparing 3 real…

Sajil Memon

October 23, 2026

WhatsApp
Husen Memon
Husen Memon
Typically replies instant