For the complete documentation index, see /llms.txt. Markdown version of this page: /en/insights/ai-security/plugin4shell-ai-coding-agent-plugin-verification.md.
AI Security ↗

Plugin4Shell: when an approved AI plugin installs different code

Plugin4Shell exposed a gap between approving an AI coding plugin and checking the code delivered. A published Codex fix explains the missing verification.

AI-generated illustration: a monitor compares reviewed plugin version A with installed version B.
AI-generated illustration. The screen is a concept, not an authentic product screenshot.

In brief: Plugin4Shell concerns a gap between the plugin version that was approved and the code an AI coding tool actually installed. A recorded version number or identifier is useful only if the installed code matches it.

A plugin adds capabilities to a coding tool. It can bring in software maintained outside the company, making the installation process part of the software supply chain.

What the researchers found

Air Security’s report, dated 17 September, describes Plugin4Shell in Claude Code, Codex, GitHub Copilot and Gemini CLI. An attacker needed control of a plugin’s source repository. Under the conditions described, plugin updates could deliver malicious code without another user action.

The report describes a vulnerability, not a count of businesses confirmed to have been breached.

What locking a version is meant to do

Git records changes to software as commits. Each commit has an identifier, shown alongside its author and date in Git’s history.

Locking a plugin to a particular commit is intended to select that specific revision. Think of approving a particular edition of a document: its title alone does not tell you whether the copy you received is the edition you reviewed.

OpenAI’s published fix explains the failure in Codex. Git could interpret the requested identifier as a branch name and select different code. The fix checks the resulting commit and rejects a mismatch.

What has been corrected

The verification change appears in Codex 0.146.0’s release history. Air also reports a fix in Claude Code 2.1.179. At publication, Air reported no Copilot fix and said Google would not patch the deprecated Gemini CLI; those are the report’s dated status claims.

For a business using AI coding tools, the important distinction is between approving a component and verifying its delivery. This sits alongside the software supply-chain risks already seen around coding tools: trust in a tool also depends on the software it brings into the development environment.

← Back to all insights
Questions or inquiry? [email protected] Contact us →