← Alle Artikel

Sicherheitslücke llms.txt: Wie KI-Agenten automatisch

Sicherheitslücke llms.txt: Angriff auf Dokumentationsdateien für KI-Agenten

Am Donnerstag, 27. August, Ars Technica veröffentlichte eine Untersuchung, was jeden Entwickler, der KI-Agenten für Code verwendet, dazu veranlassen sollte, seine Sicherheit zu überdenken. Forscher eines israelischen Stealth-Startups durchsuchten 6.214 Domains von Fortune-500-Unternehmen, Verteidigungsunternehmen und großen Technologieunternehmen – und fanden 120 BLK0-Dateien, die KI-Agenten dazu zwingen, nicht vorhandene Pakete von PyPI und npm automatisch zu installieren.

Der Kern des Problems ist einfach und beängstigend: Der BLK1-Standard ist „robots.txt for AI“, eine Sitemap-Datei im Markdown-Format, die Agenten hilft, die Struktur der Dokumentation schnell zu verstehen. Die Spezifikation bietet jedoch keinen Nachweis von Authentizität, Signaturen oder Integrität. Wenn eine solche Datei die Zeile BLK2 oder BLK3 enthält und der Agent Rechte zum Ausführen von Befehlen hat, installiert er einfach, was dort geschrieben steht.

Wie funktioniert das

Die Forscher fanden 8.265 BLK4- und BLK5-Dateien (viele Websites führen beide). In 120 davon – auf 120 verschiedenen Domains – gab es Links zu Paketen oder Domains, die in den Registrys nicht vorhanden sind. Ein Angreifer muss lediglich einen solchen Namen registrieren und dort Schadcode veröffentlichen.

Um den Angriff zu testen, registrierten die Forscher selbst mehrere „freie“ Namen und platzierten dort harmlose Pakete, die lediglich ein „Ich laufe“-Signal an ihren Server sendeten. Innerhalb einer Stunde erhielten sie eine Antwort von einem Fortune-500-Unternehmen. Im Laufe der Zeit kamen Dutzende Antworten von anderen Giganten und Startups. Die Prozesstelemetrie zeigte genau, wer die Pakete installiert hat: Claude Code, OpenAI Codex und Hermes von Nous Research.

Angriffsmuster über llms.txt

Der schlimmste Fall - clerk.com

Auf der legitimen Website clerk.com hatte die Datei BLK6 den Befehl BLK7. Im Gegensatz zum regulären BLK8 kann das BLK9-Team ein Paket in den npm-Cache herunterladen und seine Binärdatei ausführen, ohne Projektabhängigkeiten hinzuzufügen. Jemand hat es geschafft, sich diesen freien Namen zu schnappen und dort echte Malware hochzuladen. Der Sachbearbeiter hat das Problem behoben, aber das Muster ist bereits in Produktion.

Warum ist das nicht nur ein „Modellfehler“?

Dies ist keine Halluzination oder ein Sandbox-Hack. Die Datei befindet sich auf der offiziellen Domäne des Unternehmens und wird über HTTPS in einem standardisierten Format bereitgestellt, das für die KI-Verwendung erstellt wurde. Der Agent hat keinen Grund, an ihm zu zweifeln – Akte und das gibt es Behörde. Das Problem ist, dass der BLK10-Standard (vorgeschlagen von Jeremy Howard von Answer.AI im September 2024) keine Sicherheitsbestimmungen enthält: keine Signaturen, keine Herkunftsprüfung, keine Paketverifizierung.

Die Vertrauenskette ist transitiv: BLK11 kann nicht auf der Fortune-500-Website sitzen, sondern auf ihrem Partner, SDK-Anbieter oder Community-Projekt. Wenn der Agent einem Dritten vertraut und dieser 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 alle erwähnten Pakete, Domänen und URLs vorhanden sind, unter Ihrer Kontrolle stehen und einen verantwortlichen Betreuer haben. Entfernen Sie Verweise auf Abhängigkeiten, die Sie nicht aus dem Gedächtnis erklären können.
  2. Proxy zwischen Agenten und Registern. Blockieren Sie neue Pakete (Slopsquatted-Pakete sind per Definition neu), legen Sie eine Abklingzeit von 24–72 Stunden nach der ersten Veröffentlichung einer Abhängigkeit fest und überprüfen Sie BLK14 (SLSA/Sigstore) vor der Installation.
  3. Geben Sie nicht die Wirkstoffe BLK15, BLK16, BLK17. Diese Flags dienen dazu, sicherzustellen, dass der Entwickler die Verantwortung übernimmt. Wenn der Agent Pakete ohne Ihre Bestätigung installiert, haben Sie ihm die Schlüssel zur Infrastruktur gegeben.

Wichtigste Schlussfolgerung

Der Wettlauf darum, Websites für Agenten lesbar zu machen, kollidiert gerade mit dem Wettlauf um die Ausnutzung der Lieferkette. Dies ist kein Fehler eines Modells oder eines Anbieters – es ist ein Fehler des Designs eines Standards, den niemand als ausführbaren Code betrachtete. Bis die Branche eine Validierung dessen erzwingt, was ein Agent im Internet liest, ist jeder fehlerhafte BLK18 ein potenzieller Einstiegspunkt in Ihr Netzwerk.

Angriffsschema über llms.txt: Der Agent liest die Datei, findet einen Befehl zur Installation eines nicht vorhandenen Pakets, führt ihn aus und lädt die Malware herunter

Möchten Sie Ihren KI-Workflow auf Sicherheit überprüfen? In NeuralSpace können Sie Codegenerierung und Testagenten in einer isolierten Umgebung ausführen – Versuchen Sie es mit Chat oder Codemodus.