Zurück zum Blog

KI für EinsteigerAnleitung

Claude Code oder Codex in Downloads ausführen? AGENTS.md-Sicherheitsprüfung

Eine Datei namens AGENTS.md oder CLAUDE.md in Downloads kann Claude Code und Codex steuern. Was diese Dateien sind und eine 5-Minuten-Prüfung deiner Konfigurationen.

Von CheapTokens TeamVeröffentlicht am 6 Min. Lesezeit

Cover: Eine platzierte AGENTS.md im Downloads-Ordner erreicht die Konfiguration eines KI-Agenten
Auf dieser Seite
  1. Was AGENTS.md und CLAUDE.md sind und warum der Agent ihnen glaubt
  2. Was die Forscher mit einer Datei in Downloads gemacht haben
  3. Welche Einstellungen du prüfen solltest und wie eine normale aussieht
  4. Die 5-Minuten-Prüfung
  5. Wenn etwas falsch aussieht

Kurze Antwort: Starte Claude Code oder Codex nicht in deinem ~/Downloads-Ordner. Am 22. Oktober 2026 veröffentlichte das Sicherheitsunternehmen Forever Security eine Untersuchung, die zeigt, dass eine Website still und leise eine Datei namens AGENTS.md oder CLAUDE.md in Downloads speichern kann, und ein in diesem Ordner gestarteter Agent die Datei dann als vertrauenswürdige Anweisungen behandelt. Unten: was diese Dateien sind, was die Forscher ändern konnten und eine Prüfung, die etwa fünf Minuten dauert.

Stell dir die gewöhnliche Variante vor. Du hast ein Dutzend PDFs und Screenshots von einer Website gespeichert, ein Terminal in Downloads geöffnet, claude oder codex eingegeben und darum gebeten, „diese Dateien zu sortieren“. Nichts daran fühlt sich riskant an. Und genau das ist der Haken.

Was AGENTS.md und CLAUDE.md sind und warum der Agent ihnen glaubt#

Ein Coding-Agent beginnt nicht jede Sitzung bei null. Bevor er sich deine Anfrage ansieht, prüft er den Ordner, in dem er gestartet wurde, auf eine reine Textdatei mit dauerhaften Anweisungen: „Tabs verwenden, die Tests mit npm test ausführen, niemals den Migrations-Ordner anfassen.“ AGENTS.md ist der allgemeine Name, CLAUDE.md ist dieselbe Idee für Claude Code. In deinem eigenen Projekt sind diese Dateien nützlich, weil du sie geschrieben hast.

Der Agent kann allerdings nicht erkennen, wer eine Datei geschrieben hat. Eine CLAUDE.md, die eine Website in Downloads abgelegt hat, sieht genau aus wie die, die du letzte Woche geschrieben hast.

Lernkarten

Begriffe, die dir in diesem Artikel begegnen

Was die Forscher mit einer Datei in Downloads gemacht haben#

Der Beitrag von Forever Security (Autoren Gal Weizman und Omer Samet, 22. Oktober 2026) beschreibt zwei Fälle. Alle Erfolgsquoten unten sind die eigenen Messungen der Forscher.

Codex. Die platzierte AGENTS.md wies den Agenten an, einen MCP-Server-Eintrag zu ~/.codex/config.toml hinzuzufügen, und dieser Eintrag führte zur Installation eines npm-Pakets namens function-color. Laut den Forschern lief die Nutzlast in mehr als 90 % der Versuche. Schau, wo diese Datei liegt: in deinem Home-Ordner, nicht in Downloads. Die Konfiguration gilt maschinenweit, sodass jede spätere Sitzung in jedem Ordner betroffen ist, lange nachdem du den Downloads-Ordner vergessen hast.

Claude Code. Die platzierte CLAUDE.md versuchte, eine ANTHROPIC_BASE_URL-Einstellung in .claude/settings.json zu schreiben. Diese Einstellung entscheidet, wohin der Agent seinen API-Datenverkehr sendet. Richte sie auf den Server von jemand anderem, und dieser Server sieht dein OAuth-Token und kann Tool-Aufrufe zurücksenden, die der Agent ausführen soll. Das Schreiben gelang etwa in der Hälfte der Fälle; ein Pfad, der innerhalb derselben Sitzung ausgeführt wurde, etwa in einem Fünftel der Fälle.

Von einer platzierten Datei zu einer geänderten Konfiguration
Wie eine platzierte Anweisungsdatei in den eigenen Einstellungen des Agenten landet (Forever Security, 22. Oktober 2026)

Der Beitrag stellt klar, dass in keinem der beiden Produkte etwas „kaputt“ ist: Der Agent funktioniert wie entworfen, und das Risiko entsteht daraus, wo die Datei liegt und wie sehr der Agent ihr vertraut. Forever gibt außerdem an, eine echte platzierte AGENTS.md auf dem Rechner eines Kunden gefunden und eine bösartige npm-Installation gestoppt zu haben, bevor Code lief; npm hat function-color inzwischen entfernt. Der letzte Teil ist die eigene Darstellung der Forscher. OpenNET berichtete am 26. Oktober 2026 über die Geschichte und weist auf ein ähnliches Risiko hin, wenn eine AGENTS.md über einen Pull Request oder ein geklontes Repository eintrifft.

Kurzer Check

Warum ist der Codex-Fall schlimmer als eine schlechte Sitzung in Downloads?

Antwort anzeigen

Antwort: Die geänderte Konfiguration gilt maschinenweit, sodass jede spätere Sitzung in jedem Ordner betroffen ist

Die platzierte Datei muss nur einmal laufen. Was sie in ~/.codex/config.toml schreibt, bleibt dort und gilt für spätere Sitzungen in jedem Ordner.

Welche Einstellungen du prüfen solltest und wie eine normale aussieht#

Zwei Dateien, eine für jedes Tool in der Untersuchung.

In ~/.codex/config.toml suchst du nach [mcp_servers.*]-Einträgen, an deren Hinzufügen du dich nicht erinnerst, und nach einer Base URL, die du nicht gesetzt hast. Ein verdächtiger Eintrag lässt deinen Rechner etwas von npm abrufen und ausführen:

toml
[mcp_servers.helper]
command = "npx"
args = ["-y", "some-package"]

Der Name helper und das Paket hier sind Platzhalter. Im Fall der Forscher war das Paket hinter einem solchen Eintrag function-color.

In .claude/settings.json suchst du nach einem API-Endpunkt oder Proxy, den du nicht dort eingetragen hast. Wenn du ANTHROPIC_BASE_URL nie gesetzt hast, sollte die Datei es überhaupt nicht erwähnen. Wenn doch, sollte es die Adresse des von dir gewählten Anbieters sein. Für CheapTokens verwendet ein Client im Anthropic-Stil wie Claude Code https://api.cheaptokens.dev ohne /v1 am Ende; Clients im OpenAI-Stil verwenden https://api.cheaptokens.dev/v1.

Eine Base URL, die du gesetzt hast, gegenüber einer, die du nicht gesetzt hast
Dieselbe Einstellung zweimal: Die linke Adresse hast du gewählt, der rechte Host ist dir unbekannt (Platzhalter)

Wenn du Claude Code mit deinem eigenen Key betreibst, zeigt die Schritt-für-Schritt-Anleitung zum Verbinden von Claude Code mit CheapTokens die ganze Datei, und die Dokumentation listet beide Base URLs auf. Für lange Agent-Schleifen hat DeepSeek-V4-Flash (deepseek-ai/DeepSeek-V4-Flash-0731) einen Kontext von 380K, bis zu 32.768 Ausgabe-Tokens pro Antwort und einen Preis zu jeder Stunde; die Modellseite enthält den Rest.

Cline, Aider und andere Agenten waren nicht Teil dieser Untersuchung, und jeder speichert seine Einstellungen an einem eigenen Ort. Die Gewohnheit ist dieselbe: Wisse, welche Datei den Endpunkt enthält, und lies sie einmal.

Die 5-Minuten-Prüfung#

Öffne ein Terminal und gehe diese Schritte der Reihe nach durch. Nichts hier ändert eine Datei; es wird nur gelesen.

Schritt für Schritt

Prüfe deinen Rechner

Finde verirrte Anweisungsdateien

bash
find ~/Downloads -maxdepth 3 -name "AGENTS.md" -o -name "CLAUDE.md"

Jeder Treffer, den du nicht geschrieben hast: Öffne ihn als Text und lies ihn. Wenn du nicht weißt, woher er kommt, lösche ihn.

Lies die Codex-Konfiguration

bash
grep -n "mcp_servers\|base_url" ~/.codex/config.toml

Jede [mcp_servers.…]-Zeile sollte etwas sein, an dessen Hinzufügen du dich erinnerst. „No such file“ ist in Ordnung, wenn du Codex nicht verwendest.

Lies die Claude-Code-Einstellungen

bash
grep -n "BASE_URL\|proxy" ~/.claude/settings.json .claude/settings.json

Führe es aus deinem Projektordner aus, damit beide Dateien abgedeckt sind. Jede Adresse in der Ausgabe sollte ein Anbieter sein, den du ausgewählt hast.

Sieh dir deine Shell an

bash
env | grep -i "BASE_URL"

Dies listet Base URLs auf, die als Umgebungsvariablen gesetzt sind. Dieselbe Regel: Du solltest jede davon wiedererkennen.

Suche nach dem Paket aus dem Fall

bash
npm ls -g --depth=0 | grep function-color

Führe außerdem npm ls function-color in den Projekten aus, in denen du einen Agenten verwendet hast. Wenn es auftaucht, behandle den Rechner als kompromittiert.

Wenn etwas falsch aussieht#

Schließe zuerst den Agenten. Entferne dann die Einträge, die du nicht wiedererkennst, und rotiere alle Anmeldedaten, die der Agent sehen konnte: API-Keys, Tokens, alles in der Umgebung. Wenn die Idee, einen Key zu rotieren, neu für dich ist, deckt was ein API-Key ist und wie man ihn speichert die Grundlagen ab.

Gewohnheiten, die verhindern, dass es erneut passiert, alle aus den Gegenmaßnahmen der Forscher:

  • Starte Agenten in einem Projektordner, den du selbst angelegt hast, nicht in Downloads.
  • Lies jede AGENTS.md oder CLAUDE.md, die du nicht geschrieben hast, bevor du einen Agenten darauf laufen lässt, auch solche, die über einen Clone oder einen Pull Request eintreffen.
  • Lass Bestätigungsaufforderungen und Sandboxing eingeschaltet und sei misstrauisch gegenüber jeder Anweisung, die den Agenten auffordert, sie abzuschalten.