Dev / CodingNieuwsAI-generated

Cursor, Copilot en VS Code: lek in ingebouwde browser

Beveiligingsbedrijf Forever Security heeft lekken gevonden in de ingebouwde browsers van vijf AI-codeerassistenten: Cursor, GitHub Copilot, Claude Desktop, Visual Studio Code en OpenAI's Codex. In Cursor lukte het om code op de host uit te voeren, in Codex, Claude Desktop en VS Code om willekeurige bestanden van de schijf te lezen, en in Copilot om de adresbalk iets anders te laten tonen dan er geladen werd. Twee van de vijf zijn volgens de onderzoekers nog niet gedicht.

Het onderzoek is donderdag gepubliceerd door Gal Weizman onder de naam EMBRACE, kort voor embedded browser. The Register vroeg de leveranciers om een reactie.

Eén oorzaak, vijf tools

De vijf bugs zijn verschillend, maar de oorzaak is volgens Weizman telkens dezelfde. Elke tool gaf zijn ingebouwde browser extra mogelijkheden die een gewone browser niet heeft, en juist die uitbreidingen ondermijnen het beveiligingsmodel waar browsers decennia op zijn gebouwd.

In Cursor kan een webpagina de composer van de agent aanroepen. De agent leest wat de pagina doorgeeft als instructies en voert die uit, terwijl de gebruiker ze niet ziet. Een gewone webpagina kan geen commando's op de computer starten, omdat JavaScript niet met lokale applicaties praat; via die doorgang wel. Het resultaat is prompt injection die uitmondt in code-uitvoering op de host.

Bij GitHub Copilot ging het om de adresbalk. Sommige pagina's wijzigen hun adres zonder een nieuwe pagina te laden, en omdat de app dat niet altijd ziet, liet Copilot de pagina zelf zijn adres doorgeven. De app controleerde alleen of die tekst op een webadres leek, dus of hij begon met http, https of file, maar niet waar de tab echt naartoe wees. Zo kan er github.com/login in de balk staan terwijl er een phishingpagina onder hangt.

Claude Desktop, VS Code en Codex lieten zich overhalen bestanden te lezen. Bij Claude Desktop en VS Code is een lokale pagina in de ingebouwde browser beperkt tot de projectmap, maar die beperking gold niet voor web workers: achtergrondthreads van JavaScript. Een lokale pagina start een worker, en de worker kan bij elk bestand op de machine. Codex had die mapbeperking helemaal niet, waardoor een lokale pagina direct alles kon lezen.

Wat de leveranciers deden

Cursor kreeg de melding op 10 september en patchte stil op 1 oktober, zonder advisory en zonder reactie aan de onderzoekers. Het Copilot-probleem vond Weizman op 26 september in versie 1.1.27; GitHub loste het op 13 oktober zelf op in build 1.1.29, zonder melding van Forever.

De drie bestandslekken liggen moeilijker. Anthropic wees de melding over Claude Desktop op 23 juli af als een kwestie binnen de grens van workspace trust, maar accepteerde een dag later dezelfde bevinding toen Noma Security die indiende. Microsoft kreeg de VS Code-melding op 10 september en wees die volgens de onderzoekers op dezelfde grond af; het lek is nog open. OpenAI kreeg de Codex-melding op 27 juli en reageerde niet; tegen The Register zegt een woordvoerder dat het bedrijf ervan weet en eraan werkt.

Wat je nu kunt doen

Draai je Cursor of de Copilot-extensie, werk dan bij: beide fixes zijn uit, voor Copilot vanaf build 1.1.29. Voor Codex en VS Code is er nog geen patch.

De onderzoekers geven drie adviezen aan organisaties. Breng in kaart welke van deze tools er op werkplekken draaien. Behandel de ingebouwde browser als een endpoint dat onvertrouwde content binnenhaalt, niet als een functie van je editor. En leun niet op de aanname dat een gebruiker eerst moet klikken, want de agent kan die klik zelf vragen aan iemand die hem vertrouwt.