Besmette Claude Code-extensie zette SSH-achterdeur open
3 min. leestijd

Besmette Claude Code-extensie zette SSH-achterdeur open

Wie gisteren Claude Code via de extensiemarketplace van Cursor heeft bijgewerkt, doet er goed aan vandaag zijn laptop na te lopen. Een aangepaste versie van de officiële Anthropic-extensie stond ruim elf uur online en probeerde een SSH-achterdeur te installeren. Volgens de beveiligingsmelding van Cursor gaat het om hooguit 5.000 gebruikers.

Wat er precies gebeurde

De malafide versie droeg het nummer 2.1.313 en gebruikte de legitieme extensie-ID van Anthropic, waardoor hij als gewone update binnenkwam. Hij stond op 29 oktober tussen 2.27 uur en 13.35 uur Pacific-tijd in de Cursor Marketplace. Wie automatische updates aan had staan, kreeg hem dus zonder iets te doen binnen.

Het lek werd ontdekt door OpenSourceMalware. Onderzoeker Jenn Gile vond een loader van 66 regels die vóór de echte extensiecode in de JavaScript-bundel was gezet. In eerste instantie wees de organisatie Open VSX aan als bron, maar dat is later rechtgezet: de besmetting zat alleen in de marketplace van Cursor. Er is geen aanwijzing dat de versie in Open VSX of de VS Code Marketplace van Microsoft terechtkwam, meldt The Hacker News. Hoe de aanvaller de update in de Cursor-winkel kreeg, is nog onduidelijk.

Wat de code deed

Securityteam bespreekt aan tafel de controle van ontwikkelaarslaptops

De loader zette een SSH-sleutel van de aanvaller in ~/.ssh/authorized_keys, met het onschuldig ogende label “svc-telemetry”. Daarna probeerde hij SSH aan te zetten op Windows, Linux en macOS en een omgekeerde tunnel op te zetten naar het IP-adres 134.209.82.225. Via een geplande taak, crontab of LaunchAgent bleef de code ook na een herstart actief.

Tegelijk stuurde de extensie over onversleuteld HTTP gegevens naar de aanvaller: publiek IP-adres, hostnaam, gebruikersnaam, besturingssysteem, het Git-e-mailadres en de namen (niet de waarden) van tot 40 omgevingsvariabelen met woorden als KEY, TOKEN of SECRET. Een lijst met namen lijkt onschuldig. Voor een aanvaller is het een kaart van waar de interessante sleutels zitten.

Cursor tempert de schade iets. Voor het aanzetten van SSH zijn beheerdersrechten nodig, en die had de extensie op de meeste Mac- en Windows-machines niet. De kans dat de aanvaller echt via de tunnel kon inloggen is daardoor klein. De sleutel, de persistentie en het wegsturen van gegevens gebeurden wel. Cursor sloot zijn marketplace tijdelijk en benadert getroffen gebruikers zelf. Anthropic heeft versie 2.1.314 uitgebracht.

Zo controleer je je machine

Cursor publiceerde een eenvoudige check: zoek in ~/.ssh/authorized_keys naar “svc-telemetry”. Voor Windows staat er een PowerShell-variant in de melding. Vind je de sleutel, dan is verwijderen alleen niet genoeg, schrijft Help Net Security op basis van het advies van Cursor. De payload laat losse scripts achter die blijven draaien. Isoleer de machine, haal sleutel, taken en tunnelprocessen weg, roteer wachtwoorden en tokens en overweeg de machine opnieuw te installeren.

Het npm-pakket @anthropic-ai/claude-code en de officiële extensie in de VS Code Marketplace zijn volgens OpenSourceMalware niet besmet.

Wat betekent dit

Het is het zoveelste incident in de keten rond AI-ontwikkeltools. Eerder dit jaar schreven we over de achterdeur in LiteLLM 1.107 en over het lek met API-sleutels in OpenCode. Codeerassistenten draaien met ruime rechten op ontwikkelaarsmachines, en daar staan precies de sleutels die aanvallers zoeken. Dat maakt een populaire extensie een aantrekkelijk doelwit.

Voor teams die Cursor gebruiken, bijvoorbeeld voor computer use in Cursor, is de les praktisch. Zet automatische updates voor extensies uit op machines met gevoelige toegang, of laat updates eerst door een kleine testgroep gaan. En wie zelf extensies of plug-ins voor Claude Code inzet: controleer van welke marketplace ze komen. Het blijft de vraag hoe een update onder de officiële ID van Anthropic in de Cursor-winkel kon belanden. Op dat antwoord wachten veel beveiligers nog.