Een ogenschijnlijk onschuldige tekstfile in de Downloads-map kan genoeg zijn om een AI-codingagent om de tuin te leiden. Onderzoekers van Forever Security beschrijven hoe een bestand met instructies, genaamd AGENTS.md, een agent kan sturen richting een bekende kwaadwillende npm-package. Daarmee gaat het niet om “rare input”, maar om een praktisch aanvalspatroon dat in reële omgevingen is getest.
Het gevaar zit in de combinatie van twee dingen: een agent die vertrouwt op instructiesbestanden in de map waarmee hij start, en het feit dat een webpagina bestanden naar Downloads kan wegschrijven zonder dat iemand een aparte toestemming ziet. Dit maakt AGENTS.md in Downloads tot een concrete risicovector voor teams die AI-tools gebruiken bij dagelijkse developmenttaken.
Hoe AGENTS.md in Downloads een AI-agent misleidt
Forever Security kreeg de poging tegen op een klantmachine en wist de agent te stoppen voordat er code echt werd uitgevoerd. De focus lag op een instructiebestand dat in gewone projectworkflow lijkt te passen: AGENTS.md. Zo’n bestand is bedoeld als plain-text instructies voor een agent, bijvoorbeeld wanneer die in een map start en automatisch de opdrachten volgt.
In het beschreven voorbeeld stond in AGENTS.md een section die de agent opdraagt een server aan zijn configuratie toe te voegen en vervolgens een pakket te installeren. Het pakket dat werd genoemd heette function-color en blijkt onderdeel van een bredere malwareketen.
De aanval werkt niet omdat één “magisch” pakket direct malware bevat, maar doordat het pakket een downloader ophaalt die daarna een Windows payload fetch’t en start. Die campagne is door andere onderzoekers eerder geanalyseerd onder de naam MALFEX.
Waarom deze aanval zo lastig te vangen is
Er zijn twee subtiele bouwstenen die de aanval mogelijk maken, en die afzonderlijk onschuldig lijken:
- Agenten vertrouwen op map-instructies: als een agent in een bepaalde folder start, behandelt hij instructiebestanden daarin als orders.
- Een webpagina kan Downloads vullen: een webpagina kan (zonder extra klik of zichtbare prompt) een bestand wegschrijven naar de Downloads-map, inclusief naam en inhoud.
Als je die twee combineert, kan een aanvaller via een webpagina een AGENTS.md plaatsen op precies de plek waar de agent vervolgens “belangrijk werk” doet: namelijk in de folder waar hij instructies verwacht.
Forever kon niet met zekerheid vaststellen hoe het bestand bij de getroffen klant terechtkwam. Wel is er een proof-of-concept scenario gebouwd om te testen of de volledige route realistisch is: door een pagina te bezoeken kan er stil een AGENTS.md in Downloads verschijnen.
Gevolgen: van malware-installatie tot tokenlekkage
Forever Security liet zien dat het niet alleen om één specifieke agent gaat. De onderzoekers repliceerden de aanval met twee verschillende coding agents, met deels andere uitkomsten.
Codex: wijziging in globale configuratie
Bij Codex gebruikte de proof-of-concept de echte aanvaller-file in een geïsoleerde virtuele machine. Het instructiebestand stelde de agent voor om een server toe te voegen en daarna een installatieopdracht uit te voeren.
Belangrijk detail: de aangebrachte wijziging betrof niet alleen het huidige project. Door een serverblok toe te voegen in een configbestand dat geldt voor meer dan één sessie op dezelfde machine—bijvoorbeeld in ~/.codex/config.toml—zou de wijziging later ook in andere mappen invloed kunnen hebben. Forever meldde dat in meer dan 90% van de pogingen de malware-aanpak door de agent werd uitgevoerd wanneer die kans kreeg.
Claude Code: instellingen misbruiken voor API-verkeer
De aanval tegen Claude Code zag er anders uit en lukte minder vaak. Daar plantte men een CLAUDE.md die de agent moest helpen met een “interne gateway setup”. Het doel was een waarde zoals ANTHROPIC_BASE_URL in een settingsbestand te laten terechtkomen, zodat API-verkeer naar een aanvaller-server zou gaan.
Die ene wijziging is al ernstig: wanneer het base URL verplaatst wordt, kan de server het verkeer “namaken” en reageren alsof het de modelprovider is. In de analyse leidde dit tot tokenlekkage en vervolgens account takeover als gevolg van het misbruik van een sessietoken. Daarna kan die server opdrachten teruggeven die de agent uitvoert.
Claude Code heeft doorgaans extra frictie omdat sommige schrijfacties goedkeuring vereisen. Volgens de onderzoekers werd de benodigde “write approval” ongeveer half de tijd bereikt doordat de instructies zeer lang en engineering-achtig waren verpakt.
Wat je nu kunt doen (zonder afhankelijk te zijn van één leverancier)
In de kern is de boodschap van Forever Security: je kunt dit in veel gevallen mitigeren door proces- en configuratieafspraken aan te scherpen. Hieronder staan praktische stappen die je kunt doorvoeren, ongeacht welke agent je precies gebruikt.
Vermijd starten vanuit Downloads
Begin simpel en hard: start Codex, Claude Code of andere agents niet vanuit ~/Downloads. Volgens de onderzoekers is dit de map waar een webpagina doorgaans zelfstandig bestanden kan plaatsen. Als een agent daar automatisch instructies leest, maak je de aanval te makkelijk.
Controleer instructiebestanden die je niet zelf hebt toegevoegd
Let op bestanden als AGENTS.md of CLAUDE.md. Zie je er eentje in Downloads, of in een repository die je net hebt gekloond? Behandel het als verdacht totdat je begrijpt wie/wanneer het bestand is gemaakt.
Lees het bestand vóór je de agent toegang geeft tot code. Dat is extra belangrijk als de inhoud lijkt op “routine project setup”, want juist die camouflage werd in de beschreven aanval gebruikt.
Check de agent-config op ongeautoriseerde endpoints
Bekijk de configuratiebestanden van de agent zelf. Voor Codex noemen onderzoekers controle op wijzigingen in bestanden zoals ~/.codex/config.toml, met name serverblokken. Bij Claude Code ligt de aandacht op settings zoals .claude/settings.json, bijvoorbeeld op waarden die lijken op ANTHROPIC_BASE_URL of andere API-endpoints die je niet zelf hebt gezet.
Als je in één map iets niet herkent, beschouw het dan niet als “lokaal incident”. De aanvalstrategie richt zich juist op configuratie die later doorwerkt.
Laat prompts en sandboxing aan
Forever benadrukt ook een gedragslaag: houd goedkeuringsverzoeken en sandbox-achtige beperkingen ingeschakeld. Wees extra alert voor instructies die expliciet vragen om beveiligingsfuncties uit te zetten. Juist dat soort instructies zagen de onderzoekers terug in de aanvalscadans.
Vind je een geplaatst bestand? Rot toegang en tokens
Als je sporen vindt van een “geplanted file”, neem dan aan dat tokens gelekt kunnen zijn. Forever adviseert om sessietokens en sleutels te roteren. Een gestolen token is een actieve toegang—niet alleen een gebeurtenis die je achteraf kunt aantonen.
Waarom dit ook bij jou kan gebeuren
In de telemetry van Forever Security draait het scenario om realistische dagelijkse omstandigheden. Ongeveer de helft van hun klanten start een coding agent in de Downloads-map, en in grofweg een kwart van de sessies wordt er ook gebladerd via de browser. Daarmee zijn precies de voorwaarden aanwezig die nodig zijn om instructiebestanden stil in Downloads te laten landen en vervolgens zonder directe menselijke controle te laten uitvoeren.
Dit betekent niet dat iedereen besmet is; het betekent wél dat de aanval logisch past bij hoe teams AI-tools gebruiken. Daarom is het verstandig om je werkwijze rond mappen, approvals en configuratiebeheersing meteen te herzien.
Vergelijkbare incidenten en context
Hoewel dit specifieke verhaal draait om instructiebestanden, past het in een bredere trend: aanvallen die “onschuldige” tussenstapjes misbruiken om automatisering aan het werk te zetten. Als je wilt zien hoe vergelijkbare ketens zich kunnen vormen in supply chain context, lees dan ook LiteLLM supply chain aanval: PyPI en Docker.
Daarnaast is er ook relevante praktijkkennis over hoe agenten of tooling kwetsbaar worden wanneer je niet scherp stuurt op wat ze mogen doen. Een ander voorbeeld van misbruikpatronen in agentachtige omgevingen vind je in OpenAI AI-agents: vm-escapes en cross-sandbox communicatie.
Conclusie
AGENTS.md in Downloads is geen theoretisch randje. Het beschreven scenario laat zien dat een agent instructies uit de verkeerde map kan accepteren en daardoor malware kan installeren of instellingen kan aanpassen op manieren die tokenlekkage veroorzaken. De kern van de oplossing is vooral procesmatig: start geen agenten vanuit Downloads, controleer instructiebestanden die je niet zelf hebt geplaatst, check endpoints in configuratie en rot tokens zodra je sporen vindt.
Door die stappen nu te borgen, voorkom je dat “gewone development-notes” veranderen in een opdrachtketen die je automatisering tegen je gebruikt.
Bron: https://thehackernews.com/2026/10/malicious-file-in-downloads-folder.html
