Zurück
2026/10/29
Bösartige AGENTS.md- und CLAUDE.md-Dateien: Wie ein Downloads-Ordner KI-Coding-Agenten kapern kann
Eine eingeschleuste Anweisungsdatei im Downloads-Ordner sollte einen KI-Coding-Agenten npm-Malware installieren lassen. Was geschah und wie Sie sich schützen.
Das Wichtigste in Kürze
- Eine eingeschleuste
AGENTS.md-Datei im Ordner~/Downloadseines Nutzers wies einen KI-Coding-Agenten an, ein bekanntermaßen bösartiges npm-Paket zu installieren. Der Versuch wurde gestoppt, bevor Code ausgeführt wurde. - In Labortests folgte OpenAI Codex einer bösartigen Anweisungsdatei in mehr als 90 % der Versuche. Claude Code folgte ihr in etwa der Hälfte der Fälle.
- Es handelt sich nicht um einen Fehler, den ein Patch beheben kann. Agenten vertrauen den Anweisungsdateien in dem Ordner, in dem sie starten, und Browser können Dateien in den Downloads-Ordner schreiben.
- Die wichtigsten Abwehrmaßnahmen sind einfach: Starten Sie nie einen Agenten im Downloads-Ordner, lesen Sie Anweisungsdateien, die Sie nicht selbst geschrieben haben, prüfen Sie Agent-Konfigurationen auf Endpunkte, die Sie nicht festgelegt haben, und lassen Sie Freigaben und Sandboxes aktiviert.
Was geschah
Am 22. Oktober 2026 veröffentlichte das Sicherheitsunternehmen Forever Security den Beitrag „Markdown Is the New Executable“ von Gal Weizman und Omer Samet. Der Beitrag beschreibt einen realen Vorfall auf dem Rechner eines Forever-Kunden. Ein KI-Coding-Agent arbeitete im Ordner ~/Downloads des Nutzers, und eine AGENTS.md-Datei in diesem Ordner wies ihn an, function-color zu installieren, ein bösartiges npm-Paket. Forever stoppte den Agenten, bevor das Paket installiert wurde und bevor bösartiger Code lief.
Wie die Datei in den Downloads-Ordner gelangte, ist unbekannt. Forever gibt an, dies nicht ermittelt zu haben, und die Berichterstattung von BleepingComputer und The Hacker News greift diesen Punkt auf. Forever baute anschließend Labordemonstrationen, um zu zeigen, wie eine Webseite eine solche Datei ablegen könnte und was ein Agent damit tun würde.
Das Paket selbst ist nicht neu. Checkmarx und CloudSEK ordnen function-color der npm-Kampagne MALFEX zu. Das Paket ist eine dünne Hülle, die function-flag nachlädt. Das Installationsskript dieses Pakets lädt eine weitere Schadkomponente von einem entfernten Server herunter und führt sie aus. Die Kampagne zielt auf Windows, und laut Checkmarx ist ihr Betreiber seit August 2023 aktiv. Als wir die npm-Registry am 29. Oktober 2026 prüften, waren function-color, function-flag und cdn-img-fetch bereits durch den Platzhalter 0.0.1-security von npm ersetzt.
Warum eine Markdown-Datei einen Agenten steuern kann
Forevers Argumentation beruht auf zwei alltäglichen Verhaltensweisen, die zusammen gefährlich werden.
- Agenten laden Anweisungsdateien automatisch. Coding-Agenten lesen Projekt-Anweisungsdateien beim Start und behandeln sie als Vorgaben des Nutzers. Codex liest
AGENTS.mdvom Projektstamm bis hinunter zum aktuellen Ordner. Gibt es keinen Projektstamm, liest es nur den aktuellen Ordner. Claude Code lädtCLAUDE.mdaus dem Startordner und aus jedem übergeordneten Ordner. Ist keineCLAUDE.mdvorhanden, liest es stattdessenAGENTS.md. - Das Web kann in den Downloads-Ordner schreiben. Laut BleepingComputer speichern Chrome, Edge und Firefox Dateien standardmäßig im Downloads-Ordner, ohne nach dem Speicherort zu fragen. Eine Webseite kann Namen und Inhalt der Datei bestimmen. Eine Markdown-Datei ist kein Programm, daher stufen die Prüfungen des Betriebssystems für heruntergeladene ausführbare Dateien sie nicht als gefährlich ein.
Zusammen bedeutet das: Eine Webseite kann eine Datei ablegen, die ein Agent später als Anweisungen liest. Der Agent muss dafür nicht im üblichen Sinne „überlistet“ werden: Er tut genau das, wofür er gebaut wurde. Forever weist außerdem darauf hin, dass manche Agenten selbstständig im Web surfen. Dann sieht womöglich überhaupt kein Mensch, dass ein Download stattfindet.
Dieselbe Logik gilt über den Downloads-Ordner hinaus. Jeder Ordner, den nicht vertrauenswürdige Inhalte erreichen können, kommt in Frage: ein frisch geklontes Repository, ein entpacktes Archiv oder ein freigegebener Ordner. Bei Claude Code übernimmt ein Projekt, das in einen Unterordner von Downloads entpackt wurde, auch eine CLAUDE.md, die direkt im Downloads-Ordner liegt, weil Dateien in übergeordneten Ordnern ebenfalls geladen werden.
Was die Forschung gezeigt hat
Forever testete zwei Agenten. Die meisten Durchläufe verwendeten eine harmlose Ersatz-Nutzlast (das Öffnen des Taschenrechners). Das echte bösartige Paket wurde einmal ausgeführt, in einer isolierten virtuellen Maschine.
OpenAI Codex
Die Forscher verwendeten die echte AGENTS.md vom Rechner des Kunden. Die Datei wies Codex an, einen MCP-Server-Eintrag in seine rechnerweite Konfiguration ~/.codex/config.toml aufzunehmen. Dieser Eintrag führte beim Start einen Befehl aus, der das npm-Paket installierte. Da die Konfiguration global ist, wirkt die Änderung in jeder späteren Codex-Sitzung auf dem Rechner fort, nicht nur in der Sitzung, die die Datei gelesen hat. Laut Forever erforderte der Angriff mehrere Umwege: einen langen, eintönigen Dokumentstil, eine Unter-Sitzung, die mit Flags zur Umgehung der Sandbox gestartet wurde, und eine Startmethode, die das Start-Timeout von Codex umging. Trotzdem führte Codex die Nutzlast in mehr als 90 % der Versuche aus.
Claude Code
Für Claude Code schrieben die Forscher eine eigene CLAUDE.md, gestaltet als Einrichtungshinweise für ein internes API-Gateway. Sie forderte Claude auf, eine Einstellung ANTHROPIC_BASE_URL in die Projektdatei .claude/settings.json zu schreiben, die den API-Verkehr auf einen von den Forschern kontrollierten Server umleitete. Laut Forever gelangt dadurch das OAuth-Token der Sitzung nach außen. Zudem kann sich der Server des Angreifers als Modell ausgeben und Tool-Aufrufe zurücksenden, darunter Shell-Befehle mit deaktivierter Sandbox. Forever demonstrierte den Diebstahl des Tokens (dessen Wiederverwendung, um als das Opfer aufzutreten) und Codeausführung beim nächsten Start. Gezeigt wurde außerdem ein Weg, der den Angriff noch in derselben Sitzung auslöste, indem ein Subagent gestartet wurde.
Das funktionierte weniger zuverlässig. Claude Code bittet um Freigabe, bevor es in Einstellungsdateien schreibt, und lehnte die verdächtige Änderung oft ab. Forever meldet Erfolg in etwa der Hälfte der Fälle und bei etwa einem von fünf Versuchen für den Subagenten-Weg in derselben Sitzung.
Was nicht gezeigt wurde
- Forever konnte nicht klären, wie die echte Datei in den Downloads-Ordner des Kunden gelangte. Der Weg über einen Web-Download ist eine nachgewiesene Möglichkeit, keine bestätigte Ursache.
- Getestet wurden nur Codex und Claude Code. Forever argumentiert, dass andere Agenten, die Anweisungsdateien laden, auf dieselbe Weise angreifbar sind, hat sie aber nicht getestet.
- Die Artikel nennen keine konkreten Tool-Versionen und berichten keine Stellungnahmen der Hersteller. Forevers Position lautet, dass es „hier nichts gibt, was OpenAI oder Anthropic patchen könnten“: Die Agenten arbeiten wie vorgesehen.
Warum das wichtig ist
Anweisungsdateien werden leicht übersehen, weil sie wie Dokumentation aussehen. In der Praxis wirken sie wie Konfiguration, und über einen Agenten mit Shell-Zugriff können sie wie Code wirken. Drei Punkte machen das Risiko praktisch relevant:
- Agenten werden oft im Downloads-Ordner gestartet. Viele nutzen Agenten, um Dateien zu sortieren oder mit etwas gerade Heruntergeladenem zu arbeiten. Forever sagte gegenüber BleepingComputer, dass Hunderte seiner Kunden Coding-Agenten aus dem Downloads-Ordner heraus betreiben, mit mehr als 1.300 dort gestarteten Claude-Code-Sitzungen.
- Die Wirkung überdauert die Sitzung. Eine geänderte globale Konfiguration, ein neuer MCP-Server oder ein umgeleiteter API-Endpunkt wirkt weiter, nachdem die ursprüngliche Datei gelöscht wurde.
- Zugangsdaten sind die Beute. Ein gestohlenes Sitzungstoken eines Agenten ist ein funktionierender Login. Ein Angreifer kann es nutzen, ohne Code auf dem Rechner auszuführen.
Praktische Abwehrmaßnahmen
1. Bewusst wählen, wo Agenten starten
- Starten Sie einen Coding-Agenten nie in
~/Downloadsoder in einem Ordner, in den Browser, E-Mail- oder Chat-Programme schreiben. Verschieben oder klonen Sie die Arbeit zuerst in einen eigenen Arbeitsordner. - Vermeiden Sie es auch, Agenten in Ihrem Home-Verzeichnis zu starten. Starten Sie sie im jeweiligen Projektordner. BleepingComputer weist darauf hin, dass OpenAI und Anthropic dasselbe empfehlen.
- Erwägen Sie, Ihren Browser so einzustellen, dass er bei jedem Download nach dem Speicherort fragt. Das kostet einen Klick, verhindert aber stille Downloads.
2. Nach Anweisungsdateien suchen, die Sie nicht selbst geschrieben haben
Durchsuchen Sie die Orte, an denen nicht vertrauenswürdige Dateien landen, sowie Ihren Home-Ordner. Unter Linux und macOS:
find ~/Downloads ~/Desktop ~ -maxdepth 3 \( -name AGENTS.md -o -name AGENTS.override.md -o -name CLAUDE.md -o -name CLAUDE.local.md \) -print 2>/dev/null | sort -u
Unter Windows in der PowerShell:
Get-ChildItem $HOME\Downloads, $HOME\Desktop -Recurse -Depth 3 -Force -ErrorAction SilentlyContinue -Include AGENTS.md, AGENTS.override.md, CLAUDE.md, CLAUDE.local.md | Select-Object FullName, LastWriteTime
Lesen Sie jede gefundene Datei, bevor ein Agent damit in Berührung kommt. Seien Sie sehr misstrauisch bei Anweisungen, Pakete zu installieren, Server hinzuzufügen, API-Endpunkte zu ändern oder Freigaben abzuschalten. Prüfen Sie auch Ihre persönlichen Anweisungsdateien ~/.codex/AGENTS.md und ~/.claude/CLAUDE.md, da diese für jede Sitzung gelten.
Eine legitime Projekt-Anweisungsdatei beschreibt, wie das Projekt gebaut und getestet wird. Sie hat keinen Grund, die globale Konfiguration Ihres Agenten, seinen API-Endpunkt oder seine Sicherheitseinstellungen zu ändern. Behandeln Sie jede Datei, die solche Änderungen verlangt, als feindselig.
3. Agent-Konfiguration auf Änderungen prüfen, die Sie nicht vorgenommen haben
Suchen Sie gemäß Forevers Rat nach unerwarteten MCP-Server-Blöcken, einer geänderten chatgpt_base_url oder einer ANTHROPIC_BASE_URL oder einem anderen API-Endpunkt, den Sie nicht festgelegt haben:
grep -nE '^\[mcp_servers|base_url' ~/.codex/config.toml
grep -nE 'BASE_URL|mcpServers' ~/.claude/settings.json .claude/settings.json .claude/settings.local.json .mcp.json 2>/dev/null
Teams, die Claude Code nutzen, können Einstellungen mit Managed Settings zentral vorgeben. Außerdem können sie ConfigChange-Hooks verwenden, um Änderungen an Einstellungen während einer Sitzung zu protokollieren oder zu blockieren.
4. Schutzmechanismen aktiviert lassen
- Lassen Sie Freigabeabfragen und Sandboxing aktiviert. Vermeiden Sie Flags, die sie umgehen, etwa
--dangerously-bypass-approvals-and-sandboxbei Codex oder--dangerously-skip-permissionsbei Claude Code, außerhalb einer Wegwerf-Umgebung. - Lesen Sie Freigabeabfragen für Einstellungs- und Konfigurationsdateien sorgfältig. Im Claude-Code-Test war es dieser Freigabeschritt, der den Angriff in etwa der Hälfte der Fälle stoppte.
- Lesen Sie den Workspace-Trust-Dialog von Claude Code, bevor Sie ihn für einen neuen Ordner bestätigen.
- Arbeiten Sie mit nicht vertrauenswürdigen Repositories und Downloads in einer virtuellen Maschine oder einem Dev-Container, nicht auf Ihrem Hauptarbeitsplatz.
- Blockieren Sie bei npm die bekannten MALFEX-Pakete und erwägen Sie
ignore-scriptsfür Installationen, die Sie nicht geprüft haben.
5. Wenn Sie eine eingeschleuste Datei finden
- Starten Sie keinen Agenten in diesem Ordner. Bewahren Sie eine Kopie der Datei für die Untersuchung auf und entfernen Sie sie dann aus dem Ordner.
- Prüfen Sie die oben genannten Konfigurationsdateien des Agenten und entfernen Sie alles, was Sie nicht selbst hinzugefügt haben.
- Gehen Sie davon aus, dass das Sitzungstoken des Agenten abgeflossen sein könnte. Melden Sie sich ab und wieder an, und erneuern Sie alle API-Schlüssel, auf die der Agent zugreifen konnte.
- Durchsuchen Sie Lockfiles und
node_modules-Ordner nachfunction-colorundfunction-flag. Wurde eines davon installiert, betrachten Sie den Rechner als kompromittiert und folgen Sie Ihrem Incident-Response-Prozess.
Das größere Bild
Forevers Titel lautet „Markdown Is the New Executable“. Das ist eine hilfreiche Sichtweise auf jede Datei, die ein Agent als Anweisungen liest. Anweisungsdateien bestimmen, was ein Agent mit Shell-Zugriff als Nächstes tut, und verdienen daher dieselbe Sorgfalt wie Skripte: Kennen Sie ihre Herkunft, prüfen Sie Änderungen daran und halten Sie sie aus Ordnern fern, in die jeder im Internet schreiben kann. Die Maßnahmen hier sind überwiegend Gewohnheiten, keine Patches, und kosten wenig.
Quellen
- Forever Security, „Markdown Is the New Executable“ (22. Oktober 2026), die Primärquelle
- BleepingComputer, „AI coding agents hijacked using AGENTS.md file in Downloads folder“ (25. Oktober 2026)
- The Hacker News, „Malicious File in Downloads Folder Tries to Trick AI Coding Agent Into Installing Malware“ (26. Oktober 2026)
- Checkmarx, MALFEX-npm-Malware-Kampagne (5. Oktober 2026)
- CloudSEK, MALFEX: bösartige npm-postinstall-Supply-Chain-Kampagne
- OpenAI, Codex-Dokumentation zu AGENTS.md
- Anthropic, Claude-Code-Dokumentation zu Memory (CLAUDE.md) und Claude-Code-Sicherheitsdokumentation
Global
Japan
Korea
China
Taiwan
Vietnam
Thailand
Indonesia
Portugal
Spain
France
Egypt
Russia