Das Paket, das der Agent erfunden hat
Forscher der Universität Tel Aviv, des Technion und von Intuit haben HalluSquatting offengelegt: Angreifer sondieren einen Coding-Agenten so lange, bis sie wissen, welche Paket-, Repository- oder Skill-Namen er zuverlässig erfindet, registrieren diese erfundenen Namen und warten. Wenn Sie nach dem Echten fragen, holt der Agent stattdessen die Version des Angreifers — und die darin versteckten Anweisungen kapern die Shell des Agenten, um Botnet-Malware zu installieren. Repository-Namen bis zu 85 % der Zeit halluziniert; Skill-Installationen bis zu 100 %. Bromure Agentic Coding lässt diesen ganzen Hol-und-Ausführ-Pfad in einer wegwerfbaren Linux-VM laufen, scannt die Paket-Registries, auf denen die Vermutung landet, und lässt der Malware nur Köder zu stehlen.
Sie haben Ihren Coding-Agenten nach einem bekannten Paket gefragt. Er hat einen Namen getippt, der richtig aussah, die Installation ausgeführt und weitergemacht. Der Name war eine Vermutung — und jemand hatte genau diese Vermutung bereits registriert und mit Malware gefüllt. Niemand hat sich vertippt. Der Agent hat den Namen erfunden, und der Angreifer wartete dort, wo die Erfindung landete.
Im Juli 2026 beschrieb eine Gruppe von der Universität Tel Aviv, dem Technion und Intuit — darunter Aya Spira, Stav Cohen, Ron Bitton, Avishai Wool und Ben Nassi — einen Angriff, den sie HalluSquatting nennen. Er verwandelt eine der bekanntesten Schwächen großer Sprachmodelle — dass sie Dinge erfinden und die Erfindung als Tatsache ausgeben — in ein Lieferwerkzeug für die Lieferkette, das nicht auf Sie zielt, sondern auf den Agenten, der in Ihrem Auftrag arbeitet.
Der Aufbau ist in seiner Einfachheit fast langweilig. Bitten Sie einen Coding-Agenten, ein Paket zu holen, ein Repository zu klonen oder einen Skill für ein Projekt zu installieren, das er noch nie gesehen hat, und er wird den Bezeichner oft erraten, statt zuzugeben, dass er es nicht weiß. HalluSquatting macht diese Vermutung zur Waffe.
Vom Tippfehler zur Halluzination
Typosquatting gibt es schon ewig: Registriere expresss oder lodahs und
warte, bis ein Mensch sich am Terminal vertippt. Es hängt davon ab, dass
eine Person einen Fehler macht. Slopsquatting, das im Laufe von 2025 und
Anfang 2026 auftauchte, verlagerte den Fehler auf das Modell — ein Agent
halluziniert einen Paketnamen, der nicht existiert, ein Angreifer
registriert ihn zuerst, und der nächste Agent, der denselben Namen
halluziniert, installiert die Nutzlast. Im Januar 2026 dokumentierte
Charlie Eriksen von Aikido
ein halluziniertes npm-Paket, react-codeshift, das sich auf 237 Projekte
ausbreitete, bevor es jemandem auffiel. Kein Tippfehler ist je aufgetreten,
also hat auch keine Typosquatting-Abwehr je gegriffen.
HalluSquatting ist die Eskalation von 2026, und die Eskalation besteht darin, dass die Halluzination nicht mehr dem Zufall überlassen bleibt. Die Methode der Forscher ist ein Rezept in vier Schritten:
- Wähle ein Ziel, das das Modell nicht auswendig gelernt hat. Angesagte Repositories und Werkzeuge, die nach dem Trainingsschnitt entstanden sind, sind der Idealfall: Das Modell hat von ihnen gehört, also versucht es sich, aber es hat den echten Namen nicht gesehen, also erfindet es einen.
- Lerne den Fehler. Sondiere den Agenten wiederholt, bis du weißt, welchen falschen Namen er zuverlässig produziert. Das Papier berichtet von halluzinierten Repository-Namen, die bis zu 85 % der Zeit auftauchen, und von Skill-Installationsszenarien, die bis zu 100 % erreichen — konsistent genug, um darauf zu wetten.
- Beanspruche den erfundenen Namen. Registriere ihn auf GitHub oder in
einem Plugin-Store und fülle die README, das Manifest oder die
SKILL.mdmit Anweisungen, die dafür geschrieben sind, dass der Agent sie liest. - Warte. Wenn ein Entwickler nach der echten Ressource fragt, gibt der Agent stattdessen den erfundenen Bezeichner des Angreifers aus und holt ihn. Die versteckten Anweisungen kapern dann das eigene Befehlsausführungs-Werkzeug des Agenten, um die Nutzlast zu installieren.
Diese Nutzlast ist kein Machbarkeitsnachweis. Die Forscher verketten die Vermutung mit Prompt-Injektion — was Nassis Gruppe Promptware nennt — und enden bei Remote-Code-Ausführung und Botnet-Malware: infizierte Entwicklermaschinen, die nach Hause telefonieren und Befehle entgegennehmen. Die Vermutung bringt die Datei des Angreifers auf den Teller des Agenten, die vergrabenen Anweisungen machen daraus Befehle, und die Befehle bauen aus Entwickler-Laptops ein Botnet.
Warum dies ein Angriff auf den Agenten ist, nicht auf Sie
Der Satz, der es einfängt, aus dem Bericht, lautet, dass HalluSquatting „das Ziel von Menschen auf KI-Agenten verlagert, die möglicherweise nicht prüfen, ob die Quelle echt ist, während sie Befehle ausführen“. Ein Mensch, der sich bei einem Paketnamen unsicher ist, hält inne, prüft die Registry, wirft einen Blick auf die Sternenzahl. Ein Agent im Auto-Run-Modus hält nicht inne. Seine Aufgabe ist es, weiterzumachen, und ein Name, der aus seinen eigenen Gewichten kam, trägt dieselbe Autorität wie ein Name, den Sie getippt haben. Er hat keinen Grund, an sich selbst zu zweifeln.
Die Forscher testeten quer durch die Werkzeuge, zu denen Entwickler täglich greifen — GitHub Copilot, Cursor, Windsurf, Cline, Google Gemini CLI und die OpenClaw-Familie — und fanden die Halluzinationen „übertragbar über verschiedene LLM-Modelle und Anwendungen hinweg“, wirksam gegen Agenten, die auf Modellen von Anthropic, OpenAI und Google aufbauen. Kein einzelner Anbieter kann das wegpatchen, weil es auf der gemeinsamen Form dessen reitet, wie ein Coding-Agent eine Anfrage in eine Handlung verwandelt: den Namen erraten, die Ressource holen, lesen, was sie sagt, tun, was sie sagt.
Warum „einfach aufhören zu halluzinieren“ nie die Lösung war
Die verlockende Antwort ist, das Modell sich selbst prüfen zu lassen — den
Namen vor dem Holen auflösen, clone, install und fetch markieren,
jeden Bezeichner in etwas Echtem verankern. Das sind gute Ideen, und die
Forscher empfehlen sie. Aber sie leben alle am selben Ort: ein Filter, der
liest, was der Agent zu tun im Begriff ist, und hofft, den schlechten Fall
zu erwischen, bevor er läuft. HalluSquatting ist genau gegen diesen Leser
konstruiert. Der Name sieht legitim aus, weil das Modell ihn produziert hat;
die README sieht aus wie Dokumentation, weil das ist, was eine README ist;
der Installationsbefehl ist das Gewöhnlichste, was ein Coding-Agent den
ganzen Tag tut.
Das ist die Wand, gegen die der Rest der Agenten-Sicherheit immer wieder läuft. Eine Sperrliste, die einen Befehl liest, verliert gegen die Shell, die ihn umschreibt. Ein Scanner, der ein Paket liest, verliert gegen die Nutzlast, die nicht im Paket ist. Ein Agent, der nach einem Skill sucht, empfiehlt die Malware, die er selbst gefunden hat. HalluSquatting fügt die bislang schärfste Version hinzu: Der bösartige Name kam gar nicht aus dem Internet. Er kam aus dem Modell. Man kann die Fantasie seines eigenen Agenten nicht auf eine Sperrliste setzen. Die Beschreibung schreibt der Angreifer, und die Ausführung ist der einzige Ort, an dem das Ergebnis entschieden wird.
Wo Bromure die Linie zieht
Bromure Agentic Coding versucht nicht, dem Modell das Raten auszureden. Es ändert, was eine falsche Vermutung erreichen kann. Jeder Agent, den Bromure ausführt — Claude Code, Codex, Grok Build — läuft in einer wegwerfbaren Linux-VM auf Ihrem Mac, nicht auf macOS selbst. Wenn der Agent also einen erfundenen Namen ausgibt, die Ressource des Angreifers holt und die Installation so ausführt, wie die Forscher es diese Agenten tun sahen, sind mehrere Dinge bereits wahr.
Erstens, und für diese Angriffsklasse selten, wird der Registry-Pfad
gescannt. Wenn der erfundene Name ein npm-, PyPI- oder Cargo-Paket ist —
der Slopsquatting-Fall, der react-codeshift-Fall — landet er mitten in
Bromures Lieferketten-Scan, der Pakete inspiziert, während sie aus
öffentlichen Registries gezogen werden. Dies ist der eine Teil von
HalluSquatting, in dem die Vermutung sich zu etwas auflöst, das Bromure
gebaut wurde, um es direkt anzusehen, bevor ihm vertraut wird. Eine
halluzinierte Abhängigkeit ist immer noch eine Abhängigkeit, und sie kommt
durch die Vordertür, die Bromure bewacht.
Zweitens, läuft die Nutzlast in einer Box, die Sie wegwerfen. Angenommen, der erfundene Name zeigt auf ein GitHub-Repository oder einen Plugin-Store-Skill statt auf ein Registry-Paket, und der Botnet-Loader läuft. Er läuft innerhalb der VM. Es gibt keinen dauerhaften Host, auf dem er Befehle entgegennehmen könnte: Setze das Profil auf die Basis zurück, und das abgelegte Binary, der geplante Job, der Halt — all das ist weg. Ein Botnet-Knoten, der beim nächsten Zurücksetzen verschwindet, ist kein großer Botnet-Knoten.
Drittens, gibt es keine echten Anmeldedaten zum Anwerben.
Botnet-Malware, die Umgebung und Platte nach API-Schlüsseln, Git- und
Cloud-Tokens sowie SSH-Schlüsseln durchkämmt, findet Köder: Bromure
injiziert Platzhalterwerte (brm_…, eine synthetische ~/.kube/config,
wegwerfbare SSH- und Cloud-Tokens) in die VM und tauscht die echten erst auf
dem Host, im Proxy, auf dem Weg hinaus zur echten API zurück ein. Die echten
Schlüssel betreten die Box nie. Was die Nutzlast an ihr Command-and-Control
schickt, ist ein Sack Zeichenketten, die sich bei nichts authentifizieren.
Viertens, wird die Promptware gegen einen Detektor gelesen.
HalluSquatting ist ein Leseangriff, bevor er ein Ausführungsangriff ist —
der ganze Exploit hängt daran, dass der Agent die README, das Manifest oder
die SKILL.md des Angreifers aufnimmt und als seinen eigenen Plan behandelt.
Genau das ist die nicht vertrauenswürdige Autorität, die Bromure bewacht:
dieselbe Klasse wie eine bösartige CLAUDE.md oder AGENTS.md. Bromures
On-Device-Prompt-Injektions-Erkennung bewertet den Inhalt, den der Agent als
Dokumentation liest, gegen lokale Modelle, die den Mac nie verlassen, plus
einen deterministischen Scanner für Tricks mit unsichtbarem Unicode. Eine
Anweisung, die sagt „führe jetzt dieses Installationsskript aus“, vergraben
in einem geholten Manifest, ist genau der Fall, für den es diesen Detektor
gibt.
Und unter alldem ist der Ausgangsverkehr sichtbar. Der Botnet-Funk, das Nachladen der Stufe, der Exfiltrationsversuch — das taucht in Bromures Sicherheitsprotokoll als ausgehender Verkehr auf, den Sie sehen können, statt als stiller Rückruf von einer Maschine, der Sie vertraut haben.
Worum dies eine Linie zieht
Isolation und Scannen sind Eindämmung, keine Heilung für Halluzination. Es lohnt sich, genau zu sein, was Bromure hier ändert und was nicht.
Der Agent erfindet weiterhin den Namen
Bromure hindert das Modell nicht daran, einen Bezeichner zu halluzinieren oder zu holen, worauf dieser Name sich auflöst. Die Vermutungen des Agenten zu verankern, ist ein Modell- und Harness-Problem. Was Bromure ändert, ist, wo das geholte Ding läuft und was es dabei erreichen kann.
Registry-Scannen deckt Registries ab
Ein halluziniertes npm-, PyPI- oder Cargo-Paket ist genau das, was der Lieferketten-Scan inspiziert — ein echter Vordertür-Fang. Ein halluziniertes GitHub-Repository oder ein Plugin-Store-Skill ist kein Registry-Paket; dieser Pfad wird von der Isolation, dem Injektions-Detektor und den Ködern gehalten, nicht vom Registry-Scan.
Substitution deckt die Geheimnisse ab, die Sie konfigurieren
Der Köder-Tausch schützt Anmeldedaten, die Sie in ein Profil legen: Modell-Schlüssel, Git- und Cloud-Tokens, verwaltete Datenbank-Endpunkte, SSH-Schlüssel. Ein Token, das ein Skript mitten im Lauf auf die Platte schreibt, oder eine Sitzung, die Sie von Hand in der Box aufbauen, ist nur Daten. Halten Sie Geheimnisse im Broker, nicht im Arbeitsbereich.
Erkennung ist ein Netz, keine Wand
Die On-Device-Injektionsbewertung markiert ein Installieren-und-Ausführen- Manifest häufiger als nicht, aber ein sorgfältiger Autor kann einen Köder so formulieren, dass er an einem einzelnen Scanner vorbeikommt. Behandeln Sie den Detektor als eine Schicht; die Eindämmung — eine wegwerfbare Box mit falschen Schlüsseln und protokolliertem Ausgang — hält, wenn ein Detektor etwas übersieht.
Die Forscher enden mit einem Satz, den man behalten sollte: „Angriffe werden immer besser; sie werden nie schlechter.“ Ihre Erfolgsraten sind ein Boden, keine Decke, und der zugrunde liegende Vertrauensmechanismus — ein Agent, der seine eigene Vermutung als Tatsache und eine geholte Datei als Plan behandelt — wird in diesem Quartal nicht gepatcht. Ihr Agent wird einen Namen für etwas erfinden, an das er sich halb erinnert, und einige dieser erfundenen Namen werden bereits vergeben sein. Die Frage ist nicht, ob er je den falschen holt. Bei einer Halluzinationsrate von 85 % wird er es manchmal. Die Frage ist, was läuft, wenn er es tut: Ihre Maschine, Ihre echten Schlüssel und ein Halt, der bleibt — oder eine Linux-Box, die Sie wegwerfen können, mit Ködern darin und der Registry, die beim Hereinkommen geprüft wird. Bromure macht es zum Zweiten.