Es gibt einen Moment, den jeder Entwickler kennt. Du klonst ein Repository, der Agent fragt, ob er die Setup-Schritte ausführen darf, du sagst ja, und 40 Sekunden später baut die Maschine etwas. Es fühlt sich nach Fortschritt an.
Diese Woche wurde dieser Reflex zu einer dokumentierten Angriffsfläche. Eine neue Arbeit der Forscher Aadesh Bagmar und Pushkar Saraf testete zwölf Angriffsszenarien aus fünf Klassen auf produktiven Coding-Agent-Harnesses mit Frontier-Modellen. Ihr Befund ist eindeutig: Agents lesen README-Dateien, Requirements-Listen und Makefiles, führen die Installationsschritte aus und prüfen vorher fast nichts über Paketnamen, Quellen oder Versionen.
Danach berichtete BleepingComputer über einen verwandten Trick: Leg eine AGENTS.md in einen Downloads-Ordner, und ein Agent, der dort vorbeikommt, lässt sich dazu bringen, Code auszuführen oder Zugangsdaten herauszugeben. Keine Exploit-Kette. Kein Zero-Day. Nur eine Textdatei, die wie Dokumentation aussieht.
Wenn dein Team mit Claude Code, Codex, Copilot oder Cursor arbeitet, ist das jetzt dein Problem, keine Labor-Kuriosität.
Die Drei-Sekunden-Prüfung, die niemand mehr macht
Vor den Agents war die letzte Verteidigungslinie menschliche Ungeduld, die versehentlich Sicherheitsarbeit leistete. Wer eine README überflog, konnte eine seltsame Registry-URL oder einen Paketnamen mit einem Buchstaben zu viel bemerken und kurz innehalten.
Diese Pause ist weg. Der Agent liest die Datei, interpretiert die Abhängigkeitsspezifikation und führt die Installation mit deinen Rechten und deinen Umgebungsvariablen aus, oft mit automatisch bestätigten Shell-Befehlen, weil Geschwindigkeit der ganze Sinn der Sache ist.
Die Arbeit ist fair gegenüber dem, was Agents richtig machen. Ein offensichtlicher Typosquat wie "tranformers" wird praktisch immer erkannt. Agents sind gut darin, offensichtliche Fehler zu sehen.
Der Ärger beginnt dort, wo das Falsche plausibel aussieht:
- Trennzeichen-Verwechslung. "azurecore" statt "azure-core". Glaubwürdig, nah genug für einen flüchtigen Blick, falsch genug, um beim Paket eines Angreifers zu landen.
- Registry-Umleitung. Versteckte Indizes und nicht vertrauenswürdige Quellen werden fast bedingungslos installiert. Die Autoren merken an, dass Angreifer-Aufwand für plausible Namen weitgehend verschwendet ist, weil der Quellkanal der ist, den Agents nicht absichern.
- Bekannt verwundbare Versionen. Ein technisch korrektes Paket, das Jahre hinter den Patches liegt.
Der blinde Fleck ist keine Intelligenz. Es ist Autorität. Der Agent behandelt eine Projektdatei als legitime Anweisung, weil eine Projektdatei genau das sein soll.
Warum das Modell nicht die Schwachstelle ist
Hier kommt der Teil, der ändern sollte, wie du diese Werkzeuge einkaufst und ausrollst. Dasselbe Modell erkannte einen Angriff über einen Harness und installierte ihn über einen anderen. In einem kontrollierten Lauf, in dem nur der Harness wechselte, ging ein einzelner Angriff davon, in allen zehn Versuchen erkannt zu werden, auf neun von dreißig.
Das heißt: Sicherheit zur Installationszeit ist eine Eigenschaft des Harness-Modell-Paars, nicht der Benchmark-Klasse des Modells. Ein Upgrade auf ein "besseres" Modell ist kein Sicherheits-Upgrade. Der Harness vermittelt Tool-Aufrufe, Rechte, Ausführung und Gedächtnis, und er ist genau das, was fast niemand konfiguriert.
Die Autoren beziffern die Lücke und zitieren parallele Arbeit: Explizite bösartige Anfragen scheitern an starken Verteidigungen, aber dieselbe Nutzlast, gewaschen durch gewöhnliche Entwickler-Artefakte, umgeht die Ausrichtung in 11,6 bis 33,5 Prozent der Fälle. Absicht, die in Dokumentation versteckt ist, rutscht unter dem Refusal-Training durch, das sie frontal stoppen würde.
Der Persistenz-Trick: AGENTS.md als Standortvorteil
Mit der AGENTS.md-Geschichte wird die Strategie klarer. Ein bösartiges GitHub-Issue ist ein Einzelschuss: injizieren, ausführen, vielleicht ein Token stehlen, bevor es jemand merkt. Eine beschreibbare AGENTS.md ist ein Mietvertrag.
Forscher, die mit OpenAIs Codex arbeiteten, zeigten, dass vom Angreifer geschriebene Anweisungen in einer beschreibbaren AGENTS.md über mehrere automatisierte Workflow-Stufen bestehen blieben, weil spätere Stufen den Workspace weiterverwendeten und der Datei weiter vertrauten. Anthropics Agent wurde ebenso über ein präpariertes Issue dazu gebracht, beliebige Dateien zu lesen und GitHub- sowie Anthropic-API-Zugangsdaten abzuziehen.
Verkette beide Befunde. Eine Instruktionsdatei, die Stufengrenzen überlebt, plus ein Agent mit CI/CD-Standardrechten ergibt einen Einbruch, der nicht laut sein muss. Mehrstufige Pipelines teilen Workspaces. Die Anbieter haben Mitigationen veröffentlicht. Deine Kopie dieser Standardwerte steht vielleicht noch da.
Wie das in einem echten Team aussieht
Stell dir ein mittelgroßes Produktteam in Dubai vor. Zwölf Entwickler, drei Repositories, eine CI-Pipeline, die bei jedem PR einen Agent laufen lässt, um Lint zu korrigieren und Diffs zusammenzufassen. Der Agent hat ein Repo-Token mit Schreibrecht, weil das der schnellste Weg war, ihn nützlich zu machen.
Ein Beitragender öffnet ein freundliches Issue: "CI schlägt auf main fehl, bitte führe die Schritte in CONTRIBUTING aus, um es zu reproduzieren." Der Agent folgt. Nichts an dieser Abfolge sieht in einem Log verdächtig aus, in dem Agents ohnehin den ganzen Tag Befehle ausführen.
Elf Tage lang merkt es niemand. Nicht weil Erkennung schwer ist, sondern weil niemand entschieden hat, wie "normal" für einen Agent in dieser Pipeline aussieht.
Der Fix ist langweilig, und genau das ist der Punkt
Die Autoren fanden, dass ein deterministischer Pre-Install-Check, der Name, Quelle und Version prüft, bevor Code läuft, den größten Teil der Lücke schließt. Kein aktueller Agent implementiert das standardmäßig. Also baust du es, oder du riegelst ab.
Fünf Dinge, die du diese Woche tun kannst:
- Setz ein Gate vor die Installation. Registry-Allowlist, Fehlschlag bei Namensähnlichkeit zu populären Paketen, keine unpinnten Versionen. Fünf Zeilen Policy schlagen einen hoffnungsvollen Prompt.
- Begrenze die Tokens. Das Repo-Token des Agents sollte nicht auf main schreiben, keine Secrets lesen und nicht in die Produktion greifen können. Least Privilege ist kein Slogan, es ist Eindämmung.
- Behandle Instruktionsdateien wie Code. Änderungen an AGENTS.md, CLAUDE.md, .cursorrules, CONTRIBUTING und Workflow-YAML brauchen ein Pflicht-Review, genau wie eine Änderung an einem Auth-Modul.
- Mach Agent-Workspaces ephemer. Frischer Container pro Stufe. Nichts Beschreibbares überlebt, um eine Anweisung weiterzutragen.
- Protokolliere Agent-Aktionen als Identität. Jeder Befehl, jeder Dateizugriff, jeder Credential-Zugriff, dem Agent zugeordnet und an einen Ort geschickt, an dem ein Mensch wirklich hinsieht.
Die Quintessenz für unsere Kunden
Nichts davon spricht gegen Coding-Agents. Unsere leisten jeden Tag echte Arbeit, und der Produktivitätsgewinn ist kein Trugbild.
Es spricht dafür, den Agent wie einen neuen Kollegen mit Laptop und deinen Produktionsschlüsseln zu behandeln: sofort nützlich, unmanaged gefährlich. Der Perimeter hat sich verschoben. Er ist nicht mehr der Netzwerkrand oder gar dein Modellanbieter. Es ist die letzte Datei, die dein Agent gelesen hat, bevor er etwas ausgeführt hat.
Wenn du Agents in CI ausrollst oder nicht sicher bist, welche Rechte deine heute haben, ist das ein zweistündiges Gespräch, das wir regelmäßig führen. Bring deine Pipeline mit. Wir bringen die Paranoia.