Cyberbeveiliging

Kritieke kwetsbaarheid voert code uit bij het openen van mappen

Chandan Nidavanda
gepubliceerd op
24.07.2026
X min.
geschatte leestijd
Delen op
Inhoudsopgave

Het cybersecurityteam van Baobab Risk Solutions heeft de volgende kritieke kwetsbaarheid ontdekt. Als een bedrijfsontwikkelaar de Cursor IDE gebruikt, dreigt momenteel het volgende gevaar: het simpelweg openen van een projectmap kan code uitvoeren op de laptop — zonder vraag, zonder waarschuwing en met volledige toegang tot alle rechten van die gebruiker.

Cursor IDE is een AI-gedreven code-editor voor software-engineers, gebaseerd op Microsoft Visual Studio Code. Het cruciale verschil zit in de diepe AI-integratie: in plaats van alleen eenvoudige code voor te stellen, leest en begrijpt Cursor complete projectmappen, kan het complexere programmeertaken autonoom uitvoeren, zelfstandig bugs oplossen en vragen over de gehele broncode beantwoorden.

Het onderschatte risico op ontwikkelaarsapparaten

De meeste middelgrote bedrijven hebben geen eigen Security Operations-team dat ontwikkelaarslaptops 24/7 bewaakt. Toch staan juist op deze laptops vaak bedrijfskritische gegevens en toegangsrechten: SSH-keys, AWS- of Azure-inloggegevens, VPN-toegang, klantgegevens en de broncode van het eigen product.

AI-gestuurde ontwikkelomgevingen (IDE's) zoals Cursor verspreiden zich snel binnen ontwikkelaarsteams omdat ze de productiviteit verhogen. Het probleem: Ze brengen een nieuwe risicocategorie met zich mee waar in traditionele veiligheidstrainingen tot nu toe niet op wordt gewezen. Het klonen of openen van een Git-repository is niet langer een passieve handeling, maar kan leiden tot potentiële code-uitvoering.

Het gevaar: Automatische code-uitvoering zonder waarschuwing of sandbox

Cursor ondersteunt een functie genaamd hooks — kleine automatiseringsscripts die een project kan meeleveren in een verborgen bestand (.cursor/hooks.json). Oorspronkelijk zijn deze ontwikkeld zodat de AI-assistent de betreffende codebase beter begrijpt.

De werking in de praktijk:

  1. Een ontwikkelaar kloont of opent een repository (open-sourcecode zoals de code van een externe dienstverlener, testcode van een sollicitant of een geforkte dependency).
  2. Cursor leest het bestand .cursor/hooks.json uit de projectmap.
  3. De inhoud van dit bestand wordt direct uitgevoerd — met de rechten van de ingelogde gebruiker.
  4. Er is geen sandbox, geen beveiligingsvraag en ook geen zichtbaar logbestand.

Het vangnet van de IDE, de functie "Workspace Trust" die eigenlijk moet waarschuwen voor het uitvoeren van projectautomatiseringen, staat in Cursor standaard uitgeschakeld.

De zakelijke impact

Wanneer een geprepareerde repository wordt geopend, kan een aanvaller het volgende aanrichten:

Als een kwaadaardige repo wordt geopend, kan een aanvaller... Zakelijke impact
SSH-keys van de laptop uitlezen Inloggen op servers en bij de Git-provider uit naam van de developer
AWS- / Azure- / GCP-credentials buitmaken Cloud-account overnemen en klantgegevens exfiltreren
Browser-session-cookies stelen Logins voor Microsoft 365, Salesforce, Jira etc. overnemen (hijacking)
Via de VPN van de developer toegang krijgen tot interne systemen Lateral movement naar de productie-omgeving
Opgemerkt code aanpassen voor de commit Supply-chain attack — je eigen klanten downloaden het resultaat

De reikwijdte van de aanval komt exact overeen met alles waar de laptop van de ontwikkelaar toegang toe heeft.

Waarom klassieke beveiligingsmaatregelen falen

Antivirusprogramma's en EDR-oplossingen zien Cursor als een legitieme, ondertekende applicatie. De schadelijke activiteit ziet eruit als normaal gedrag van een ontwikkelaar en blijft onopgemerkt:

  • Code-reviews controleren zelden verborgen configuratiemappen. Reviewers laten .cursor/ net zo ongezien door als .vscode/.
  • Workspace Trust zou helpen — maar staat standaard uit. De meeste gebruikers krijgen dus nooit een waarschuwing te zien.
  • Geen commando ingetypt. De ontwikkelaar heeft alleen een map geopend. Er is geen bewuste handeling waar een training op kan inspelen.

Drie directe maatregelen ter bescherming tegen aanvallen

Het ontwikkelingsteam hoeft geen nieuwe tool te introduceren, maar zou wel de volgende drie gewoontes moeten aanleren:

1. Behandel IDE-configuratiemappen als uitvoerbare code

Voordat een repository uit externe bronnen wordt geopend, zoals code van derden, dienstverleners, sollicitanten of nieuwe dependencies, is het de moeite waard om even in de volgende mappen te kijken:

  • .cursor/ (vooral hooks.json en mcp.json)
  • .vscode/ (tasks.json, settings.json, launch.json)
  • .devcontainer/
  • .husky/ en .git/hooks/

Als je een willekeurig script uit deze repo niet zomaar zou uitvoeren, moet je het ook niet in Cursor openen zonder deze bestanden eerst te controleren. Een snelle blik in een eenvoudige teksteditor is voldoende.

2. Configuratie op gebruikersniveau auditen

Je persoonlijke Cursor-configuratie bevindt zich in ~/.cursor/ (macOS/Linux) of %USERPROFILE%\.cursor\ (Windows). Controleer dit routinematig elk kwartaal (of tijdens het onderhoud van de endpoints):

  • ~/.cursor/hooks.json
  • ~/.cursor/mcp.json
  • ~/.cursor/rules/

Alles wat daar niet bewust is geplaatst, is een waarschuwing en vereist een controle.

3. Open geen onbekende code op systemen met root-toegang

Voor het controleren van externe code is een wegwerpomgeving ideaal: een VM, een container of een speciale review-laptop zonder inloggegevens voor de productieomgeving, zonder SSH-sleutels en zonder cloudprofielen. Dankzij de Remote-SSH- en Dev-Container-functies van Cursor is dit eenvoudig te realiseren.

Checklist van 5 minuten voor het ontwikkelteam

Workspace Trust inschakelen in de Cursor-instellingen.
Vóór het openen van externe repos snel een blik werpen op .cursor/, .vscode/ en .devcontainer/.
Onbekende code nooit controleren op een laptop met productie-secrets.
Eén keer per kwartaal ~/.cursor/ auditen op onverwachte bestanden.
Developers instrueren om verdachte bestanden in deze mappen direct bij IT te melden.

Extra bescherming door zichtbaarheid op de endpoints

Goede gewoontes helpen bij het dichten van beveiligingslekken, maar fouten gebeuren. Omdat Cursor scripts lokaal uitvoert, biedt een MDR-service zoals Baobab MDR bescherming waar klassieke antivirussoftware tekortschiet: in plaats van statische bestandspatronen bewaakt een expertteam het systeemgedrag in realtime. Aangezien 75% van alle cyberaanvallen pas via logbestanden wordt ontdekt (Bitkom 2025), dicht deze analyse een kritiek gat.

Drie redenen om te kiezen voor een dedicated MDR-service:

  • Detectie van gedragsmatige afwijkingen: Start een IDE onverwacht een achtergrond-shell of opent deze ~/.ssh/id_rsa , dan slaat het team direct alarm.
  • Contextuele alarmbeoordeling: Ontwikkelaars voeren continu scripts uit. Om alarmmoeheid door valse meldingen te voorkomen, maken security-experts een nauwkeurig onderscheid tussen reguliere build-scripts en echte exploits.
  • Directe isolatie in noodgevallen: Bij een geslaagde exploit telt elke seconde. De service kan de betreffende laptop automatisch isoleren van het netwerk voordat aanvallers zich verder kunnen verspreiden.

Conclusie

AI-gestuurde ontwikkelomgevingen bieden aanzienlijke productiviteitsvoordelen en zijn inmiddels niet meer weg te denken uit het dagelijks werk van ontwikkelaars. Tegelijkertijd verandert de beveiligingsarchitectuur: het openen van een projectmap komt technisch gezien overeen met het uitvoeren van code. Het behandelen van IDE-configuratiebestanden als uitvoerbare code verkleint dit risico aanzienlijk. Het opnemen van deze controleprocedures in standaardprocessen en onboardings dicht een relevant beveiligingslek met minimale inspanning.

Het blogartikel is geschreven door