Plugin4Shell laat aanvallers via een gemanipuleerde pluginrepository zonder gebruikersklik kwaadaardige code uitvoeren in vier AI-codeeragenten, ook wanneer een team een gecontroleerde Git-versie heeft vastgezet, meldt AIR.
Voor een Nederlands ontwikkelteam betekent dat dat een goedgekeurde uitbreiding tijdens een automatische update kan worden verwisseld en daarna met de rechten van de ontwikkelaar bij broncode, API-sleutels, cloudsystemen of CI/CD kan komen. De inzet zit in de combinatie van vertrouwde plugins, automatische updates en brede toegangsrechten.

De pin klopt op papier, niet in de map
SHA-pinning koppelt een plugin aan een vaste Git-commit die vooraf is bekeken. Bij Claude Code, Codex en GitHub Copilot werd die hash wel doorgegeven aan Git, maar controleerde de agent niet of de uitgecheckte map werkelijk die commit bevatte. Daardoor kan iemand die de pluginrepository beheert een standaardbranch aanmaken met dezelfde naam als de 40 tekens lange hash. Git kan dan de kwaadaardige branch teruggeven terwijl de agent meldt dat de vastgezette versie is geïnstalleerd.
Bij Gemini CLI werkt de truc anders. De agent haalt de juiste commit op, maar gebruikt daarna FETCH_HEAD als naam bij het uitchecken. Een aanvaller kan die naam eveneens als branch gebruiken. De twee routes hebben hetzelfde gevolg: de controle lijkt geslaagd, terwijl andere code draait. De werking van de SHA-pinning-bypass en de zero-click-update wordt onafhankelijk beschreven door Help Net Security.
Dat wordt een zero-click-aanval wanneer de agent plugins op de achtergrond bijwerkt. Volgens AIR is dat bij Claude Code en Codex de standaard. Er is dan geen nieuwe installatie, bevestiging of verdachte klik nodig. De plugin staat al op de machine en krijgt bij de volgende update de rechten die de agent al had.
Patchstatus verschilt per agent
AIR meldt vier getroffen agenten. De bruikbare beheerkeuze hangt nu af van de agent die in je ontwikkelomgeving staat:
| Agent | Status |
|---|---|
| Claude Code | Gepatcht vanaf versie 2.1.179 |
| OpenAI Codex | Gepatcht vanaf versie 0.146.0 |
| GitHub Copilot | Geen algemene agentpatch gemeld |
| Gemini CLI | Geen patch volgens AIR, migratie naar Antigravity |
OpenAI’s openbare codewijziging beschrijft precies de ontbrekende controle: na het uitchecken wordt HEAD vergeleken met de gevraagde commit en wordt een afwijking geweigerd. De controle van de werkelijk uitgecheckte commit is in Codex vastgelegd. Anthropic noemt versie 2.1.179 als reguliere release; AIR koppelt die versie aan de reparatie.
Bij Copilot is de situatie minder eenvoudig dan alleen ‘geen patch’. GitHub zegt dat zijn eigen gehoste marketplace niet door deze route wordt geraakt, omdat SHA-achtige branch- en tagnamen daar niet zijn toegestaan. Copilot ondersteunt ook marketplaces op Bitbucket en zelf beheerde Git-servers, waardoor die beperking geen algemene oplossing is.
Google heeft Gemini CLI voor consumenten naar Antigravity CLI geleid. De eigen aankondiging zegt tegelijk dat enterprisegebruik via Gemini Code Assist en betaalde API-sleutels blijft bestaan. Antigravity is de nieuwe terminalomgeving voor agentisch ontwikkelen, schrijft Google; AIR meldt dat voor Gemini CLI zelf geen fix komt.
De marketplace is niet de laatste verdedigingslaag
Een marketplace kan de code review en de pinning goed uitvoeren, maar de kwetsbaarheid zit op de machine waar de agent de plugin uitcheckt. Daar horen daarom drie controlepunten bij: de agentversie, de herkomst van elke geïnstalleerde plugin en de rechten van het proces. Logs van Git, CI/CD, cloud-IAM en authenticatie laten vervolgens zien of er na een verdachte update nieuwe processen, verbindingen of repositorywijzigingen zijn ontstaan.
De 7.600 nep-repository’s die AI-agents zelf aanraadden lieten al zien dat de agent geen neutrale zoeklaag is. Plugin4Shell verplaatst hetzelfde supply-chainrisico naar de installatie- en updatecontrole. Een versiehash is pas een beveiligingsgrens als de agent ook controleert wat er werkelijk draait.
Veelgestelde vragen
AI-agenten met grenzen
Ik ontwerp en bouw AI-agenten die passen bij je processen, met duidelijke rechten en controlepunten. Van eerste idee tot live systeem, self-hosted waar dat kan.
Dit artikel is geproduceerd samen met het Agent Team. Meer over de redactie.
