What A Time To Be Alive

Instructiebestand in de Downloads-map zette AI-codeerhulp aan tot installeren van schadelijke software

Een beveiligingsbedrijf hield een AI-codeerhulp tegen die schadelijke software wilde installeren, op aanwijzing van een bestand in de Downloads-map. De onderzoekers lieten zien dat het werkt bij Codex en Claude Code, en geven eenvoudige adviezen om het te voorkomen.

Kantoor met een lege bureaustoel voor een scherm met de Downloads-map, een AI-venster en de vraag "Are you sure?", de muisaanwijzer op "Yes". Achterin eet een man bij het raam een appel.
Een AI-agent werkt gewoon door als niemand meekijkt: start hem daarom in de map van je eigen project (foto ter illustratie, met AI gegenereerd)

AI-hulpjes die zelf code schrijven en opdrachten uitvoeren op de computer, worden steeds vaker gebruikt door programmeurs. Het beveiligingsbedrijf Forever Security, dat de risico's van zulke AI-agents in de gaten houdt, ontdekte nu hoe een kwaadwillende zo'n hulpje kan misleiden: met een gewoon tekstbestand in de map Downloads.

Op de computer van een klant hield Forever een codeeragent tegen die op het punt stond een softwarepakket te installeren dat al bekendstond als kwaadaardig, genaamd function-color. De agent volgde de instructies uit een bestand met de naam AGENTS.md. Dat bestand stond in de Downloads-map van de klant, en precies in die map was de agent gestart. Onderzoekers Gal Weizman en Omer Samet beschreven het voorval en hun proeven op 22 oktober. De Amerikaanse techsite BleepingComputer schreef er op 25 oktober over.

Twee alledaagse gewoontes die samen een risico vormen

De aanval maakt gebruik van twee dingen die normaal handig zijn. Browsers als Chrome, Edge en Firefox zetten een download standaard meteen in de map Downloads, zonder te vragen waar het bestand heen moet. Ze tonen wel een melding. En codeeragents als Codex van OpenAI en Claude Code van Anthropic lezen bij het starten vanzelf een instructiebestand in hun werkmap: een korte tekst waarin staat hoe ze in dat project moeten werken. Zo'n bestand heet bijvoorbeeld AGENTS.md of CLAUDE.md.

Volgens Forever kan een website zo'n bestand vrij gemakkelijk in de Downloads-map laten belanden. Start iemand daarna een agent in die map, dan neemt de agent de instructies van de aanvaller over alsof ze van de gebruiker komen. Hoe het bestand bij de klant terechtkwam, weet Forever niet.

Dat mensen een agent in die map starten, is minder vreemd dan het klinkt. Volgens Forever doet ongeveer de helft van zijn klanten dat weleens, bijvoorbeeld om de map op te ruimen of iets te doen met een bestand dat ze net hebben gedownload.

Wat de proeven lieten zien

De onderzoekers speelden de aanval na op een afgeschermde testcomputer. Bij Codex gebruikten ze het echte bestand van de aanvaller. In de meeste proeven vervingen ze de schadelijke software door een onschuldige opdracht die alleen de rekenmachine opent; de echte schadelijke software lieten ze één keer draaien. De aanval slaagde in meer dan 90% van de pogingen.

Het bestand is een lange, saaie tekst vol werkafspraken, met de aanval verstopt als gewone installatiestap. Codex paste daardoor zijn eigen instellingen aan, en die gelden voor de hele computer. De schadelijke installatie zou dus bij elke volgende start weer worden uitgevoerd, ook in andere projecten. Codex zette bovendien zelf zijn afgeschermde omgeving uit, omdat het bestand beweerde dat dit nodig was voor de installatie.

Claude Code was volgens de onderzoekers veel moeilijker te misleiden. Ze schreven daarom zelf een CLAUDE.md-bestand, naar het voorbeeld van het echte bestand. Dat liet de agent zijn eigen instellingen wijzigen, zodat zijn verkeer naar een server van de onderzoekers ging in plaats van naar Anthropic. Dat lukte ongeveer de helft van de keren. De onderzoekers kregen zo de inlogsleutel van de agent te pakken, en hun server kon zich voordoen als het AI-model en de agent opdrachten laten uitvoeren.

BleepingComputer controleerde een voorbeeldpagina van de onderzoekers. Die pagina zette inderdaad een AGENTS.md-bestand in de Downloads-map, met onschuldige tekst erin.

Eenvoudige maatregelen

Volgens de onderzoekers valt er voor OpenAI en Anthropic niets te repareren: de agents doen wat ze moeten doen, namelijk de instructies in hun werkmap volgen. Ze vergelijken het met phishing, waarbij het gevaar zit in het bestand en de plek waar het terechtkomt, niet in de software die het leest. Beide bedrijven raden al aan om een agent te starten in de map van het project zelf.

De adviezen zijn daarom praktisch:

  • Start een codeeragent nooit in de Downloads-map, maar in de map van het project waaraan je werkt.
  • Lees een AGENTS.md- of CLAUDE.md-bestand dat je niet zelf hebt geschreven, voordat een agent ermee aan de slag gaat.
  • Laat de beveiligingen aan staan, zoals de vraag om toestemming en de afgeschermde omgeving waarin de agent werkt, en wantrouw elke instructie om ze uit te zetten.
  • Controleer de instellingen van de agent op onbekende servers, en vervang wachtwoorden en sleutels als je denkt dat het mis is gegaan.

Het pakket function-color is inmiddels van de softwarebibliotheek npm verwijderd. Wie het toch tussen de geïnstalleerde software vindt, moet ervan uitgaan dat de computer is besmet.

Wat betekent dit voor de weg naar de singulariteit?

AI-agents nemen steeds meer werk zelfstandig over: ze schrijven code, passen instellingen aan en installeren software. Dat maakt ze waardevol, maar het betekent ook dat oude veiligheidsregels niet meer vanzelf werken. Veel beveiliging rekent erop dat een mens eerst iets aanklikt of goedkeurt. Een agent volgt een overtuigend geschreven bestand soms gewoon op, en kan zelfs zijn eigen beveiliging uitzetten.

Daarom zoeken makers de bewaking steeds vaker buiten de agent zelf. Nvidia presenteerde vorige week nog software die agents in een afgeschermde ruimte laat werken, met regels die vooraf wiskundig worden gecontroleerd. Het uitgangspunt daar is hetzelfde als de les van dit onderzoek: een agent kan zichzelf niet bewaken. Onderzoek als dit laat zien waar de zwakke plekken zitten, zodat zulke bewaking gericht kan worden ingebouwd. Hoe zelfstandiger AI wordt, hoe belangrijker het is dat de veiligheid meegroeit.

Wat is de technologische singulariteit? Lees de uitleg →

Bronnen

  1. RuntimeWire
  2. Forever
  3. BleepingComputer