Die Agenten teilten sich ein Gedächtnis
Eine Arbeit des Frontier Red Team von Anthropic und der EPFL, erschienen am 10. August, baute eine Payload, die sich von einem Coding-Agenten zum nächsten über jene Dateien verbreitet, die ein Agent führt, um sich zu erinnern, wer er ist: SOUL.md, MEMORY.md, die CLAUDE.md in Ihrem Repository. Die Datei überlebt den Kontext-Reset, der alles andere auslöscht, und der nächste Agent liest sie als seine eigenen dauerhaften Anweisungen. Bromure Agentic Coding bewertet diese Dateien als Autorität, bevor der Agent ihnen folgt, und lässt jeden Agenten einen Hypervisor weiter laufen.
Ein Coding-Agent vergisst zwischen zwei Sitzungen fast alles. Die Ausnahmen sind die Dateien, die er absichtlich behält, jene mit seinen dauerhaften Anweisungen, die bei jedem Start wieder in den Prompt gelesen werden. Eine neue Arbeit zeigt, dass genau diese Dateien auch der eine Ort sind, an dem sich eine selbstreplizierende Payload verstecken und von einem Agenten zum nächsten mitfahren kann.
Am 10. August veröffentlichten Forscher des Frontier Red Team von Anthropic und der Schweizer EPFL eine Arbeit mit dem Titel Mind Viruses. Anthropic schrieb am 13. darüber, The Hacker News berichtete am 18.. Die Frage, die sie stellt, ist eng und praktisch: Kann sich eine in einem KI-Agenten platzierte Anweisung in einen anderen kopieren, ohne Menschen dazwischen, und so weitermachen?
Die Antwort ist ja, und der Grund ist eine Datei, die Sie schon haben.
Woran sich ein Agent absichtlich erinnert
Ein Coding-Agent wirft sein Arbeitsgedächtnis zwischen den Sitzungen weg. Das Kontextfenster füllt sich, die Sitzung endet, eine Aufgabe ist fertig und die nächste beginnt bei null. Fast nichts wird übernommen, und das ist an den meisten Tagen genau richtig.
Also führt der Agent einige Dateien, die doch übernommen werden. Claude Code
liest eine CLAUDE.md. Andere Werkzeuge lesen eine AGENTS.md oder eine
GROK.md oder einen Gedächtnisindex, den sie beim Start laden. Die Agenten der
Arbeit führten eine SOUL.md und eine MEMORY.md. Wie auch immer der Name
lautet, die Abmachung ist dieselbe: Diese Datei bist du, sie nennt deine
dauerhaften Vorlieben und Regeln, und ich lese sie zu Beginn jeder Sitzung
wieder in meinen Prompt, damit ich den Faden nicht verliere. Das ist die
Funktion. Sie macht einen Agenten zu Ihrem statt zur Voreinstellung eines
Fremden.
Der Zug der Arbeit besteht darin, zu bemerken, dass eine Datei mit diesen beiden Eigenschaften, eine, die den Reset überlebt und als Autorität zurückgelesen wird, ein Ort ist, an dem eine Payload wohnen kann. Die Forscher züchteten mit einer evolutionären Suche kurze Anweisungen, die den Agenten, sobald sie in einer solchen Datei stehen, zu zwei Dingen bringen: irgendeine Aktion auszuführen und die Anweisung weiterzukopieren, in die Datei des nächsten Agenten. Ein Wurm braucht genau diese beiden Verhaltensweisen. Dieser hier ist ausgeschrieben, auf Englisch, in einer Datei, die der Agent als sein eigenes Gedächtnis behandelt.
Getestet wurde auf zwei Arten. In der einen arbeitete ein Team aus sechs Agenten in einem gemeinsamen Workspace zusammen. In der anderen liefen die Agenten nacheinander, die Ausgabe des einen speiste den nächsten, eine Kette von Sprüngen. Beides sind gewöhnliche Formen von Agentenarbeit. Eine Flotte auf einem Repository ist ein Team; eine Pipeline, die Ergebnisse weiterreicht, ist eine Kette.
Die Zahlen, und wo sie landen
Die Payloads gab es in zwei Sorten. Manche waren ideologisch und sollten eine Überzeugung oder ein Ziel einpflanzen. Manche waren konkrete Aktionen. Die vier Aktions-Payloads sind die, die eine Entwicklerin genau lesen sollte, denn jede ist etwas, das ein Programm auf Ihrer Maschine nicht von sich aus tun soll:
- crypto-ad schreibt eine Datei, die eine Kryptowährung anpreist.
- gitwrap markiert stillschweigend die Dateien, die der Agent committet.
- deletor entfernt Dateien aus dem Home-Verzeichnis.
- curlbash leitet ein heruntergeladenes Installationsskript direkt in eine Shell.
Die Anweisung in SOUL.md abzulegen war der wirksame Weg: Darauf entfielen 88 %
der Verbreitungsversuche, und der nächste Agent wurde in 55 % der Fälle
infiziert. Sie in einer gewöhnlichen Workspace-Datei zu verstecken funktionierte
weit seltener, 17 %, und in 68 % dieser Versuche erwähnte der verbreitende Agent
die Payload im Workspace nicht einmal, sodass ein Mensch, der die gemeinsamen
Dateien beobachtet, nichts gesehen hätte. Alle vier Aktions-Payloads überstanden
einen Lauf über 20 Sprünge, selbst wenn die Forscher die übrigen Dateien
zwischen den Agenten löschten. Die Gedächtnisdatei genügte allein.
Das Modell, das den Agenten betrieb, machte einen Unterschied, und nicht den, den man vermuten würde. Rohe Leistungsfähigkeit sagte die Widerstandskraft nicht voraus. Claude Sonnet 4.6 verweigerte die Payloads und ging in manchen Läufen weiter: Es entfernte die bösartige Anweisung aus der Seelendatei und warnte die Agenten, mit denen es verbunden war. Andere Modelle, darunter DeepSeek V3.2, Qwen 3.5 32B und Gemini 3 Flash, übernahmen die ideologischen Payloads. Ob der Wurm stoppt, hängt also davon ab, welches Modell Ihr Agent in dieser Woche gerade nutzt, und das ist keine Eigenschaft, die Sie von einer Aufgabe zur nächsten kontrollieren.
Die Forscher sind vorsichtig, was den Umfang angeht. Sie sprechen von einem „realen, derzeit aber begrenzten Risiko“. Als sie ein echtes Archiv von Agenten-Beiträgen durchsuchten, den Moltbook-Datensatz, rund 2.000 in Frage kommende Verbreitungsversuche von etwa 400 Autoren bis zum 18. März, fanden sie keinen Fall, in dem die Payload in freier Wildbahn von einem Agenten auf einen zweiten übergesprungen wäre. Und sie fanden eine Abwehr, die gut funktioniert: Ein einziger Absatz im Systemprompt, der das Modell warnt, dass solche Anweisungen auftauchen können und abzulehnen sind, drückte die Verbreitung auf nahezu null.
Diese Abwehr ist der verräterische Punkt. Sie funktioniert, und sie sitzt in
genau der Schicht, die auch ein Angreifer erreichen kann, der bis zu Ihrer
Gedächtnisdatei vorgedrungen ist. Wenn der Wurm MEMORY.md schreiben kann, dann
lautet die lohnende Frage: Was steht zwischen dieser Datei und dem Agenten, der
ihr folgt, und hängt dieses Etwas davon ab, dass das Modell sich entscheidet,
korrekt und jedes Mal, Nein zu sagen?
Bromure liest die Gedächtnisdatei zuerst
Bromure Agentic Coding sitzt auf der Leitung zwischen Ihrem Coding-Agenten und dem Modell und behandelt die Anweisungsdateien des Agenten als genau das, was die Arbeit als ihr Wesen zeigt: Autorität, nach der der Agent handeln wird, und damit etwas, das zu prüfen ist, bevor er es tut.
Zwei Klassifikatoren auf dem Gerät übernehmen die Prüfung, und sie teilen sich die Arbeit entlang der Linie, die die Arbeit zieht.
Der erste behandelt die Gedächtnisdatei direkt. Schalten Sie Bösartige
Anweisungen in CLAUDE.md-Dateien und Ähnlichem erkennen ein, und Bromure
bewertet CLAUDE.md, AGENTS.md, GROK.md und die anderen Anweisungs- und
Einstellungsdateien, die der Agent als Autorität lädt. Es nutzt ein für diese
Aufgabe feinabgestimmtes Modell, beschrieben in
einem früheren Beitrag,
denn gewöhnliche Prompt-Injection-Erkennung scheitert an einer Datei, die
ausschließlich aus Anweisungen bestehen soll. Die Frage lautet hier nicht
„steht zwischen den Daten eingeschleuster Text“, sondern „ist diese Anweisung
schädlich“, und eine Payload, die sagt, schreibe eine Kryptowerbung, oder lösche
Dateien unter Home, oder leite dieses Skript in eine Shell, ist genau das, was
das Modell zu melden gelernt hat. Es läuft bei jedem Lesevorgang, hostseitig,
gleich welcher Agent die Datei dort abgelegt hat. Ein Wurm, der die MEMORY.md
des nächsten Agenten erreicht, muss immer noch an einem Leser vorbei, der nicht
der Agent ist und nicht die Anreize des Agenten hat.
Der zweite Klassifikator übernimmt den anderen Ankunftsweg. Wenn die Payload nicht als Konfigurationsdatei kommt, sondern als Ausgabe eines anderen Agenten, als abgerufene Seite oder als Werkzeugergebnis, bewertet Prompt Injection in Quellcode erkennen diesen Text mit Metas Prompt Guard, bevor das Modell ihn liest. Im Ketten-Aufbau der Arbeit, in dem die Ausgabe jedes Agenten den nächsten speist, ist das die Naht, durch die der Wurm reist, und sie wird beim Eintritt bewertet.
Beide Entscheidungen werden im Proxy auf Ihrem Mac durchgesetzt, außerhalb der VM, und beide landen in Window → Security Timeline als lesbare Zeile: was geprüft wurde, was ausgelöst hat, was erlaubt war. Der Agent hat keine Stimme darüber, ob die Prüfung lief.
Wo die Aktionen laufen, und wie lange sie halten
Die Datei zu bewerten ist die erste Linie. Die zweite ist, dass selbst eine durchgekommene Payload weniger Angriffsfläche vorfindet, wegen des Ortes, an dem sie läuft.
Jede der vier Aktions-Payloads bedeutet etwas Bestimmtes auf der Maschine, und
ein Bromure-Workspace ist nicht die Maschine, die die Arbeit voraussetzt.
deletor entfernt Dateien unter dem Home-Verzeichnis, einem Home, das hier
/home/ubuntu innerhalb einer Wegwerf-VM mit Ubuntu ist, die Sie mit Erase
home… löschen oder mit Reset to base… zurücksetzen können, wobei Letzteres
die Systemplatte des Workspace aus einem Basis-Image neu klont, das zur Laufzeit
schreibgeschützt bleibt. curlbash lädt ein Skript herunter und leitet es in
eine Shell; der Download ist eine ausgehende Verbindung, und ein Workspace gleicht
ausgehende Verbindungen mit einer Firewall ab, die Sie geschrieben haben,
durchgesetzt auf Ihrem Mac vom virtuellen Switch und vom Proxy, mit einem Reset,
der bei allem Verweigerten eingespeist wird. Der Agent, der die Payload gelesen
hat, sitzt auf der falschen Seite der Regeln, die er ändern müsste. gitwrap
verändert Commits in einem Checkout, das im Flottenaufbau ein eigener
git-worktree auf einem eigenen Branch ist, ein isolierter Baum, den Sie
wegwerfen können, ohne die anderen anzurühren.
Dieser letzte Punkt beantwortet den schlimmsten Fall der Arbeit frontal. Das stärkste Ergebnis war das Sechs-Agenten-Team, das sich einen Workspace teilte: Ein Agent schreibt die Datei, die übrigen lesen sie. Bromures Ansatz für eine Flotte sind git worktrees: Jeder Agent bekommt sein eigenes Checkout in seiner eigenen Wegwerf-VM, statt eines gemeinsamen Home, dessen Dateien jeder Nachbar standardmäßig erbt. Es gibt kein einziges Home-Verzeichnis, in dem ein kompromittierter Agent eine Datei ablegt und fünf Geschwister sie aufnehmen. Die Anweisungsdateien, die tatsächlich in einen Workspace synchronisiert werden, kommen über den Proxy, wo der Klassifikator sie liest.
Ein Gedächtnis ist eine gute Sache
Nichts davon macht die Gedächtnisdatei zu einem Fehler. Ein Agent, der sich Ihre Konventionen merkt, ist besser als einer, der jeden Morgen von vorn beginnt, und die Dateien, die dieses Gedächtnis tragen, tun ihre Arbeit. Der Beitrag der Arbeit besteht darin, zu zeigen, dass genau die Eigenschaft, die die Datei nützlich macht, die Art, wie sie den Reset überdauert und als Autorität zurückkehrt, die Eigenschaft ist, die ein Wurm braucht, und dass es davon abhängen kann, welches Modell sie gelesen hat, ob der Wurm stoppt.
Nehmen Sie die Entscheidung also vom Teller des Modells. Lassen Sie die Datei für den Agenten Autorität sein, und lassen Sie etwas, das nicht der Agent ist, sie zuerst lesen. Lassen Sie jeden Agenten einen Hypervisor weiter laufen, wo die Kryptowerbung in einer VM landet, die Sie löschen, wo das Installationsskript auf eine Mauer trifft, die es nicht gebaut hat, und wo eine Flotte eine Menge getrennter Maschinen ist statt eines gemeinsamen Home, das sich selbst Zettel zuschiebt. Das Gedächtnis funktioniert weiter. Es hört nur auf, ein Versteck zu sein.
Quellen: Papadopoulos, Shah, Zimmerman, Lindsey, „Mind Viruses“ (arXiv:2608.10218, 10. August 2026) · The Hacker News, „AI 'Mind Viruses' Can Spread Between Agents Through Persistent Prompt Files“ (18. August 2026)