Voor teams die IDE-extensies automatisch bijwerken, ligt de inzet op de ontwikkelwerkplek: deze build kon hostgegevens verzamelen, een aanvallerssleutel aan SSH toevoegen en scripts achterlaten die na verwijdering bleven draaien. Een editor kan bij projectbestanden en bij accounts, sleutels en interne systemen die vanaf dezelfde computer bereikbaar zijn. De melding maakt de extensiemarktplaats daarmee relevant voor incidentbeheer naast pakketregisters en andere softwarekanalen.
De aanval zat in één release
Cursor zegt dat de versie tussen 2:27 uur en 13:35 uur Pacific Time op 29 oktober beschikbaar was. Het ging om de extensie Anthropic.claude-code, uitsluitend versie 2.1.313. Cursor schrijft dat die build niet door Anthropic is ontwikkeld. Het bedrijf schat dat hoogstens 5.000 gebruikers geraakt zijn en zegt hen rechtstreeks te benaderen. Dat cijfer gaat over deze specifieke versie in de Cursor-marktplaats, niet over alle Claude Code-gebruikers.
De registrycontrole van StepSecurity traceerde versie 2.1.313 van Open VSX naar de Cursor-spiegel; hun sandboxanalyse liet zien dat de extensiecode al bij het laden werd uitgevoerd. Cursor verwijderde de versie, haalde de hele VS Code-marktplaats uit voorzorg tijdelijk offline, controleerde andere extensies, verving zijn sleutels en bouwde de marktplaats opnieuw op. Het bedrijf zegt dat de aanvallersserver inmiddels offline is.

De extensie draaide op de ontwikkelcomputer
In extension.js was een loader toegevoegd. Die draaide zodra de extensiemodule werd geladen. Er was geen gesprek met Claude of aparte actie van de gebruiker nodig. De code draaide onder Node.js en gebruikte geen VS Code-API’s. Het risico ontstond al bij het laden, voordat een ontwikkelaar een prompt invoerde.
Cursor zegt dat de payload de hostnaam, gebruikersnaam, het besturingssysteem, de architectuur, het thuismappad, namen van omgevingsvariabelen, werkmappen, het ingestelde Git-e-mailadres en het publieke IP-adres verzamelde. De code probeerde de SSH-sleutel svc-telemetry aan authorized_keys toe te voegen, de lokale SSH-dienst aan te zetten en een omgekeerde SSH-tunnel te openen. De hostgegevens en status van de achterdeur moesten via een HTTP-verzoek naar poort 8099 worden verstuurd.
Ook legde de code persistentie aan. Op macOS gebruikte zij een LaunchAgent. Op Windows probeerde zij een geplande taak als SYSTEM aan te maken, met een opstartscript als terugvaloptie. Achtergrondprocessen probeerden de tunnel ongeveer elke zestig seconden opnieuw te openen. Cursor zegt dat het inschakelen van de lokale SSH-dienst op de meeste Mac- en Windows-computers beheerdersrechten vereist en daar waarschijnlijk mislukte. De sleutel en persistentiebestanden konden wel achterblijven.
IDE-marktplaatsen zijn een aanvalspad
Een eerdere campagne richtte zich op de instellingen van IDE-plugins. Aikido ontdekte vijftien JetBrains-plugins die ingevoerde AI-API-sleutels direct doorstuurden naar een aanvallersserver. De plugins stonden onder zeven uitgeversaccounts en waren volgens Aikido samen bijna 70.000 keer geïnstalleerd. De campagne met valse JetBrains-plugins bracht ook bijna 70.000 installaties in gevaar. Bij Cursor zat de aanval in een aangepaste release van een bestaande extensie; bij JetBrains ging het om plugins die zich voordeden als AI-assistenten.
In mei beschreef Nx een aanval op hetzelfde soort distributiekanaal. De kwaadaardige Nx Console-versie 18.95.0 stond achttien minuten in de Visual Studio Marketplace en zesendertig minuten op Open VSX. Een malwarepakket dat een ontwikkelaar eerder had geïnstalleerd, stal diens GitHub-token. De aanvaller gebruikte dat token later om de extensie onder de identiteit van een legitieme bijdrager te publiceren. Het korte publicatievenster liet zien hoe code via een vertrouwde uitgever op ontwikkelcomputers kan belanden.
Hetzelfde mechanisme verschijnt buiten IDE-marktplaatsen. Op 17 juni meldde Microsoft Threat Intelligence dat een overgenomen npm-account kwaadaardige code toevoegde aan meer dan 140 Mastra-pakketten. De payload startte tijdens npm install en kon daardoor ook ontwikkelwerkstations en CI-omgevingen bereiken. Die aanval staat naast de Mastra-aanval waarbij een besmette dependency ruim 140 npm-pakketten raakte. IDE-extensies, bibliotheken en pakketinstallaties delen hier dezelfde grens: code van een leverancier krijgt uitvoering op de machine van een ontwikkelaar.
De omvang blijft aan de host te bepalen
Cursor noemt maximaal 5.000 getroffen gebruikers, maar publiceert geen vastgesteld aantal installaties dat de loader daadwerkelijk uitvoerde of een SSH-tunnel tot stand bracht. Het bedrijf zegt geen bewijs te hebben dat andere versies of de officiële Anthropic-distributie zijn aangepast. De melding maakt dus een onderscheid tussen een specifieke pakketversie en alle mensen die Claude Code gebruiken. De aanvallersserver is uitgeschakeld, maar de melding zegt niet hoeveel hostgegevens daarvoor zijn aangekomen.
Op 30 oktober verscheen versie 2.1.314 als nieuwste uitgave in de officiële Anthropic-repository. Cursor waarschuwt dat verwijderen of bijwerken de los geïnstalleerde persistentiebestanden op een eerder getroffen computer niet vanzelf opruimt.
Op een werkplek waar versie 2.1.313 draaide, konden de SSH-sleutel en geplande taken na verwijdering achterblijven. Daarmee raakt de nasleep ook aan het beheer van ontwikkelcomputers waarop bedrijfsaccounts en interne systemen bereikbaar zijn.
Veelgestelde vragen
Grip op je softwareketen
Ik denk mee over jouw softwareketen, ontwerp de oplossing en realiseer die van eerste plan tot automatisering. Waar het kan, richt ik het beheer in op eigen infrastructuur zodat je team grip houdt op toegang en data.
Dit artikel is geproduceerd samen met het Agent Team. Meer over de redactie.
