Zurück zu allen Beiträgen
Veröffentlicht am · von Renaud Deraison

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:

  1. 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.
  2. 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.
  3. Beanspruche den erfundenen Namen. Registriere ihn auf GitHub oder in einem Plugin-Store und fülle die README, das Manifest oder die SKILL.md mit Anweisungen, die dafür geschrieben sind, dass der Agent sie liest.
  4. 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.

Der Agent„Paket X hinzufügen“errät einen NamenholtErfundener Namevom Angreifer vorregistriertREADME = Anweisungenliest als PlanPrompt-Injektionkapert die ShellWerkzeug → installiertIhre MaschineBotnet-Nutzlast installiert · nimmt Befehleechte Schlüssel · Tokens · Sitzungen auf PlatteFunkC2BotnetKein Mensch hat sich vertippt. Die Vermutung des Agenten war die Adresse, und der Angreifer besaß sie.
HalluSquatting entfernt den Menschen aus der Lieferkette. Der Angreifer sondiert den Agenten, bis er lernt, welchen Namen das Modell erfindet, registriert genau diesen Namen mit einer präparierten README oder einem Manifest und wartet. Wenn Sie nach der echten Ressource fragen, gibt der Agent den erfundenen Namen aus, holt die Version des Angreifers, liest die eingebetteten Anweisungen als seinen eigenen Plan und installiert die Botnet-Nutzlast. Auf einer normalen Einrichtung läuft das auf Ihrer Maschine.

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.

Wegwerfbare Linux-VMErfundener Nameder Agent holtund installiert hierLieferketten-Scannpm / PyPI / Cargoan der Tür erwischtWas das Botnet anwerben würdePromptware von On-Device-Detektor bewertetANTHROPIC_API_KEY = brm_9f2a… (falsch)git / AWS / ssh = Köder · Box setzt zurückFunk (protokolliert)C2 bekommt Köderein Knoten, der verschwindetEchte Geheimnissebleiben am Host-Proxyauf der Leitung eingesetztDer Agent errät weiterhin und installiert weiterhin. Er tut es nur irgendwo Wegwerfbarem, mit Schlüsseln, die nicht echt sind.
Gleiche Vermutung, gleiches Holen, gleiche Installation — andere Maschine. Innerhalb von Bromure läuft der Agent in einer wegwerfbaren Linux-VM: ein halluziniertes Registry-Paket wird vom Lieferketten-Scan an der Vordertür erwischt, die Botnet-Nutzlast läuft irgendwo Wegwerfbarem, die Anmeldedaten, die sie durchkämmt, sind Köder, die erst am Host-Proxy gegen die echten getauscht werden, die Promptware im geholten Manifest wird von einem On-Device-Detektor bewertet, und der Funk wird protokolliert. Die Vermutung passiert weiterhin. Es gibt nichts anzuwerben.

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.