← Alle Artikel

llms.txt Sicherheitslücke: Wie AI Agenten über Dokumentationsdateien automatisch schädlichen Code installieren

llms.txt Schwachstelle: Angriff über AI Agentendokumentationsdatei

Am Donnerstag, 27. August, Ars Technica veröffentlichte eine Untersuchung Das sollte jeden Entwickler, der AI Codierungsagenten verwendet, dazu veranlassen, seine Sicherheit zu überdenken. Forscher eines israelischen Stealth-Startups haben 6.214 Domains von Fortune-500-Unternehmen, Verteidigungsunternehmen und Big Tech gescannt – und 120 BLK0-Dateien gefunden, die AI-Agenten dazu veranlassen, nicht vorhandene Pakete von PyPI und npm automatisch zu installieren.

Das Problem ist einfach und erschreckend: BLK1 ist im Wesentlichen „robots.txt für AI“ – eine Markdown-Sitemap-Datei, die Agenten hilft, die Dokumentationsstruktur schnell zu verstehen. Aber die Spezifikation beinhaltet keine Authentifizierung, keine Signaturen, keine Integritätsprüfungen. Wenn eine solche Datei BLK2 oder BLK3 enthält und der Agent die Berechtigung zum Ausführen von Befehlen hat, installiert er einfach alles, was dort geschrieben steht.

Wie es funktioniert

Die Forscher fanden 8.265 BLK4- und BLK5-Dateien (viele Websites hosten beide). In 120 davon – über 120 verschiedene Domänen hinweg – gab es Verweise auf Pakete oder Domänen, die in den Registern nicht vorhanden sind. Ein Angreifer muss lediglich einen solchen Namen registrieren und Schadcode hochladen.

Um den Angriff zu verifizieren, registrierten die Forscher selbst mehrere „freie“ Namen und platzierten harmlose Pakete, die ihren Server einfach mit „Ich habe gestartet“ anpingten. Innerhalb einer Stunde erhielten sie eine Antwort von einem Fortune-500-Unternehmen. Im Laufe der Zeit kamen Dutzende weitere Antworten – von anderen Giganten und Startups. Die Prozesstelemetrie zeigte genau, wer die Pakete installiert hat: Claude Code, OpenAI Codex und Hermes von Nous Research.

llms.txt Angriffsdiagramm

Der schlimmste Fall – clerk.com

Auf der legitimen Website clerk.com enthielt die BLK6-Datei BLK7. Im Gegensatz zu einem normalen BLK8 kann BLK9 ein Paket in den Cache von npm holen und dessen Binärdatei ausführen, ohne es dem Abhängigkeitsmanifest des Projekts hinzuzufügen. Jemand hat es geschafft, diesen freien Namen zu beanspruchen und tatsächliche Malware hochzuladen. Der Sachbearbeiter hat das Problem behoben, aber das Muster ist bereits in Produktion.

Warum dies nicht nur ein „Modellfehler“ ist

Dies ist keine Halluzination oder Sandkastenflucht. Die Datei befindet sich auf der offiziellen Domäne des Unternehmens und wird über HTTPS in einem standardisierten Format bereitgestellt, das für den AI-Verbrauch konzipiert ist. Der Agent hat keinen Grund, daran zu zweifeln – die Akte Ist die Autorität. Das Problem besteht darin, dass der BLK10-Standard (vorgeschlagen von Jeremy Howard von Answer.AI im September 2024) keinerlei Sicherheitsbestimmungen enthält: keine Signaturen, keine Herkunftsüberprüfung, keine Paketüberprüfung.

Die Vertrauenskette ist transitiv: BLK11 muss sich nicht auf der eigenen Website des Fortune 500 befinden, sondern kann sich in den Dokumenten eines Partners, in der SDK-Referenz eines Anbieters oder in der Einrichtungsanleitung eines Community-Projekts befinden. Wenn der Agent diesem Dritten vertraut und dieser Dritte auf ein nicht registriertes Paket verweist, funktioniert die Kette genauso.

Was jetzt zu tun ist

  1. Prüfung. Überprüfen Sie Ihren BLK12 und BLK13. Stellen Sie sicher, dass jedes erwähnte Paket, jede Domäne und jede URL vorhanden ist, unter Ihrer Kontrolle steht und einen identifizierten Betreuer hat. Entfernen Sie Verweise auf Abhängigkeiten, die Sie nicht erklären können, aus dem Gedächtnis.
  2. Proxy zwischen Agenten und Registern. Blockieren Sie neue Pakete (slopsquatted-Pakete sind per Definition neu), erzwingen Sie eine Abklingzeit von 24 bis 72 Stunden nach der ersten Veröffentlichung einer Abhängigkeit und überprüfen Sie BLK14 (SLSA/Sigstore) vor der Installation.
  3. Geben Sie den Agenten BLK15, BLK16 und BLK17 keine Hinweise. Da diese Flags vorhanden sind, übernimmt der Entwickler die Verantwortung. Wenn ein Agent Pakete ohne Ihre Bestätigung installiert, haben Sie ihm die Schlüssel zu Ihrer Infrastruktur übergeben.

Das Endergebnis

Der Wettlauf darum, Websites für Agenten lesbar zu machen, kollidierte gerade mit dem Wettlauf um die Ausnutzung der Software-Lieferkette. Dies ist nicht die Schuld eines Modells oder eines Anbieters – es handelt sich um einen Designfehler in einem Standard, den niemand als ausführbaren Code betrachtete. Bis die Branche eine Validierung dessen erzwingt, was Agenten im Internet lesen, ist jeder fehlerhafte BLK18 ein potenzieller Einstiegspunkt in Ihr Netzwerk.

llms.txt Angriffsdiagramm: Agent liest Datei, findet Installationsbefehl für nicht vorhandenes Paket, führt ihn aus, lädt Malware

Möchten Sie Ihre AI-Workflows auf Sicherheit testen? NeuralSpace ermöglicht die Ausführung von Codegenerierungs- und Testagenten in einer isolierten Umgebung – Probieren Sie den Chat aus oder Codemodus.