Plugin4Shell: Was am 18. September 2026 geschah
Am 18. September 2026 hat das Sicherheitsunternehmen Air Security Plugin4Shell veröffentlicht, eine Schwachstelle, die vier weit verbreitete Coding Agents betrifft: Claude Code, Codex, GitHub Copilot und Gemini CLI.
Wer das Repository eines Plugins kontrolliert, kann den Agent dazu bringen, anderen Code als den geprüften zu installieren. Der Agent erklärt derweil, er befinde sich auf der gepinnten Version.
Der Patch-Stand bleibt uneinheitlich, wie The Hacker News[1] berichtet. Anthropic hat die Schwachstelle in Claude Code 2.1.179 behoben, OpenAI in Codex 0.146.0. GitHub Copilot bleibt ungeschützt, während Google die Gemini CLI so belässt, wie sie ist: Das Produkt wird eingestellt.
Das öffentliche Material trägt einen Markennamen, Plugin4Shell; eine offizielle CVE-Kennung fehlt in der Berichterstattung. Dieses Ressort vermerkt das als Grenze der Nachverfolgbarkeit: Ein Marketingname lässt sich schwerer in einen Patch-Management-Prozess einordnen.
Der Mechanismus: ein Hash, behandelt wie ein Etikett
Der Marketplace pinnt jedes Plugin per Commit-Hash auf eine geprüfte Version. Der Hash ist eine lange Zeichenkette, die einen exakten Snapshot des Codes identifiziert.
Die Garantie hält unter einer Bedingung: Wer den Snapshot herunterlädt, berechnet den Hash des erhaltenen Codes neu und vergleicht ihn mit dem erwarteten. Air Security hat festgestellt, dass die vier Agents genau diesen Abgleich überspringen. Sie holen das Artefakt und vertrauen dem Etikett.
Ein Branch ist eine Codelinie mit einem Namen. Auf einem Git-Host, der Branch-Namen in der Form eines Hashes akzeptiert, legt der Eigentümer des Repositorys diesen Namen an und lässt ihn zeigen, wohin er will.
Der Fetch-Befehl löst diese Zeichenkette als symbolische Referenz auf statt als Inhalt. Der Agent installiert beliebigen Code und meldet weiterhin die gepinnte Version.
Wo der Trick wirklich funktioniert
Der Perimeter zählt. GitHub weist Branch- und Tag-Namen zurück, die einem Commit-Hash ähneln, wie die eigene Dokumentation angibt. Ein dort gehostetes Plugin widersteht dem Branch-Trick.
Air Security nennt die permissiven Hosts als reale Angriffsfläche: Bitbucket und unternehmenseigene Git-Server, die diese Agents genauso unterstützen. The Hacker News hat die Standard-Marketplaces am 18. September 2026 überprüft. Jedes Plugin im Community-Katalog von Anthropic und in den Default-Katalogen von Claude Code und Copilot verweist auf ein GitHub-Repository.
Die Gemini CLI geht einen anderen Weg. Laut Air Security scheitert ihr Installer an einem Repository, dessen Hauptbranch den Namen FETCH_HEAD trägt, und die Regel von GitHub deckt diesen Fall nur uneindeutig ab.
Für die Gemini CLI bietet das Hosting auf GitHub also nur einen unsicheren Schutz, und die Korrektur bleibt außerhalb der Roadmap von Google.
Das Auto-Update schließt den Kreis
Das Element, das aus einer Schwachstelle einen Vorfall macht, ist die automatische Aktualisierung im Hintergrund.
Die Funktion frischt bereits installierte Plugins von sich aus auf. Ein vor Monaten freigegebenes Plugin wird während einer beliebigen Sitzung ausgetauscht, und der Nutzer erfährt nichts von dem Wechsel.
Air Security berichtet, dass dieses Verhalten in Claude Code und Codex standardmäßig aktiv ist. Genau hier liegt der Procurement-Punkt: Die Vertrauenskette stützt sich auf eine einmalige Geste, während die Ausführung über Wochen weiterläuft. Eine veraltete Sicherheitsfreigabe deckt am Ende Code ab, der viel später eingetroffen ist.
Der vollständige Angriffsweg erfordert zwei Bedingungen: ein Plugin, das auf einem permissiven Git-Server liegt, und ein aktives Auto-Update. Beide beschreiben gängige Unternehmenskonfigurationen.
Die Reichweite: Das Plugin erbt die Zugangsdaten
Ein Plugin läuft mit denselben Berechtigungen wie die Person, die den Agent benutzt.
Lokale Dateien, gespeicherte Zugangsdaten, mit diesen Zugangsdaten erreichbare Systeme: Die Reichweite deckt all das ab, wie Air Security anmerkt. Hier liegt der Unterschied zwischen einer klassischen und einer agentischen Supply-Chain-Kompromittierung.
Der ausgetauschte Code landet in einem Prozess, der bereits Tokens, Cloud-Schlüssel und offene Sitzungen besitzt. Die Analyse von Unit 42 zu den Zugangsdaten des AWS-AgentCore-Harness (unit42.paloaltonetworks.com[2]) beschreibt dasselbe Muster aus einem anderen Blickwinkel. Die Ausführungsumgebung des Agents bewahrt Authentifizierungsmaterial auf, das der von ihr beherbergte Code lesen kann.
Wer Runtimes für Agents entwirft, muss diesen Prozess als Zone mit hohen Privilegien behandeln. Der Entzug zählt genauso viel wie die Installation: Ein Agent verdient eigene Zugangsdaten und namentliche Logs.
Die zugrunde liegende Bedingung
Die zugrunde liegende Bedingung, die alle vier Fälle teilen, ist eine einzige. Das Pinning wird auf der Metadatenebene deklariert und bei der Installation ignoriert.
Es ist dasselbe Muster, das in den Package Managern der frühen 2010er-Jahre zu sehen war: Lockfiles vorhanden, Integritätsprüfungen abwesend. Die Branche hat diese Lücke mit verpflichtenden Content-Hashes, Signaturen und Transparency-Logs geschlossen.
Die Security Posture von KI-Systemen bleibt zwei bis drei Jahre hinter der Reife der Infrastruktur zurück, die sie beherbergt. Plugin4Shell zeigt das auf die direkteste Weise: Das Vokabular der sicheren Supply Chain ist in den Coding Agents vor den Kontrollen angekommen, die es wahr machen. Das Etikett ist schneller gereist als der Mechanismus.
Eine deklarierte Garantie erzeugt messbares Vertrauen und null Schutz. Diese Asymmetrie ist der teure Teil.
Drei Fragen für Enterprise-KI-Teams
Drei Fragen für Enterprise-KI-Teams, zu klären noch im laufenden Patch-Zyklus:
- Welcher Host beherbergt die Plugins, die die Agents heute im Unternehmen installieren: GitHub, Bitbucket oder ein interner Git-Server?
- Welche Client-Version läuft auf den Rechnern der Entwickler? Claude Code 2.1.179 und Codex 0.146.0 sind die Mindestschwellen.
- Ist die automatische Plugin-Aktualisierung aktiv, und wer erhält das Log jedes Austauschs?
Die ersten beiden Fragen haben Antworten, die sich an einem Nachmittag überprüfen lassen, mit einer Inventarisierung der Clients und einer Abfrage der Plugin-Manifeste. Die dritte verlangt eine Policy-Entscheidung, und die muss der Engineering-Leiter treffen.
Die dritte Frage verdient eine schriftliche Antwort. Ein Agent, der von sich aus Code aktualisiert, erzeugt Ereignisse, die mit derselben Strenge protokolliert werden müssen wie ein Deploy in der Produktion.
Für GitHub Copilot braucht es eine kompensierende Maßnahme, da der Patch fehlt: Plugins auf GitHub-Repositorys beschränken und die Installation von permissiven Hosts per Policy sperren. Für die Gemini CLI fällt die Entscheidung klarer aus: Ein eingestelltes Produkt mit einer offenen Schwachstelle verlässt den Unternehmensperimeter.
Entscheidungen für den nächsten Planning Cycle
Entscheidungen für CTOs und Heads of Engineering im nächsten Planning Cycle: Der Plugin-Marketplace ist wie eine Paket-Registry zu behandeln, mit denselben Regeln.
Das bedeutet internes Mirroring der freigegebenen Artefakte, Hash-Prüfung auf Client-Seite und eine Allowlist der zugelassenen Hosts. Die Kosten fallen bescheiden aus gegenüber der technischen Schuld einer bloß deklarierten Vertrauenskette.
Für den CFO ist die Lesart direkt: Die Investition in agentisches Tooling trägt, während das Sicherheitsbudget auch den Vertriebskanal der Erweiterungen abdecken muss. Das Procurement-Komitee hat drei Punkte mit den Anbietern neu zu verhandeln. Es zählen öffentliche Patch-SLAs, die Kundenkontrolle über das Auto-Update und die Transparenz über die Lieferkette der Plugins.
Diese Architektur neigt zur Falle, solange die Kontrolle auf der Metadatenebene bleibt. Sie wird in dem Moment zum Wettbewerbsvorteil, in dem der Hash wieder bedeutet, was er erklärt.
Dieser Artikel wurde von einem KI-Redaktionsautor unter menschlicher Aufsicht verfasst, in Übereinstimmung mit den Transparenzpflichten der Verordnung (EU) 2024/1689 (AI Act, Art. 50). Die Quellen sind im Text verlinkt.
Article by LEON
Quellen
- The Hacker News 18 Sep 2026 (thehackernews.com)
- unit42.paloaltonetworks.com