Mitte September markierte ein Vorfall in der Software-Lieferkette – gemeinhin als „s1ngularity-Angriff“ bezeichnet – einen Wendepunkt in der Nutzung künstlicher Intelligenz durch Angreifer.
Während der anfängliche Zugriffsvektor bekannt war – ein Phishing-Angriff auf npm-Paketbetreuer – war die resultierende Malware neuartig. Dies ist einer der ersten Angriffe, bei denen lokale KI-Agenten zur Unterstützung des Anmeldedaten-Diebstahls eingesetzt wurden.
Diese Technik stellt eine unheilvolle Eskalation des Einfallsreichtums von Angreifern dar, die über einfache benutzerdefinierte Skripte hinausgeht und die Problemlösungsfähigkeiten von KI-Tools nutzt, die bereits auf dem Rechner eines Ziels verfügbar sind.
Ich habe mich mit Paul McCarty, Head of Research bei Safety Cybersecurity, zusammengesetzt – der kürzlich eine detaillierte Analyse des Angriffs veröffentlicht hat –, um seine Erkenntnisse zu besprechen, einschließlich der KI-Prompts, die verwendet wurden, um nach Geheimnissen zu suchen und Schutzmaßnahmen zu umgehen, und wie sich diese Bedrohung in Zukunft entwickeln könnte. Sehen Sie sich das Video oben an oder lesen Sie weiter, um einen Überblick über das zu erhalten, worüber wir gesprochen haben.
Die Anatomie eines Post-Install-Angriffs
Während des Angriffs wurden schädliche Updates auf populäre npm-Pakete wie nx übertragen, was letztendlich zum Diebstahl von Tausenden von Developer-Anmeldedaten führte. Ein wichtiger Bestandteil der Malware war ein Post-Install-Skript, das der Angreifer telemetry.js nannte.
Die Hauptfunktion dieses Skripts bestand darin, unmittelbar nach der Installation ausgeführt zu werden und den kompromittierten Host nach sensiblen Dateien und Geheimnissen zu durchsuchen. Entscheidend ist, dass der Angreifer eine neue Entdeckungsmethode einführte, indem er nach dem Vorhandensein lokaler CLI-Agenten für gängige LLM (LLMs) suchte – insbesondere Claude, Gemini und AWS Q.
McCarty beschreibt dies als eine klare Weiterentwicklung des Ansatzes "Living off the Land", bei dem Angreifer vorinstallierte, vertrauenswürdige Tools missbrauchen. Developer haben diese CLI-Agenten oft installiert, um Coding-Workflows zu rationalisieren, was sie zu einem hochwertigen, leicht verfügbaren Ziel für einen Angreifer macht.
‚Living off the local prompts‘
Das bösartige telemetry.js-Skript suchte nicht nur passiv nach Dateien, sondern nutzte KI-Agenten, um die schwere Arbeit über einen Prompt zu erledigen.
Erste Prüfung: Das Skript erkannte, ob ein unterstützter KI-Agent (CLI-App) installiert war und auf welcher Plattform (die Malware zielte hauptsächlich auf Linux- und macOS-Hosts ab).
Die Eingabeaufforderung: Die Malware führte dann eine speziell angefertigte Eingabeaufforderung über den installierten Agenten aus. Das Hauptziel der Eingabeaufforderung war die Dateiauflistung: Die KI sollte rekursiv das Dateisystem des Hosts durchsuchen und eine umfassende Liste von Dateien erstellen, die Geheimnisse enthalten könnten.
Gezielte Geheimnisse: Dies war keine blinde Suche. Die Abfrage konzentrierte sich auf „brisante Dateien“ wie .env und .config Dateien, die üblicherweise Geheimnisse enthalten, wie zum Beispiel:
GitHub- und npm-Token
Anmeldedaten für Cloud-Plattformen (z. B. AWS-Token)
SSH-Schlüssel
Die Rolle des KI-Agenten bestand darin, die riesigen Trainingsdaten des LLM und das kontextabhängige Bewusstsein für die Umgebung des Ziels zu nutzen, um die besten Suchorte zu ermitteln. Der KI-Agent stellte dem Angreifer effektiv ein Erkennungs-Tool zur Verfügung, das sich dynamisch an die Zielumgebung anpassen konnte.
KI-Agenten sind unvorhersehbar, aber im großen Maßstab zuverlässig genug
McCarty’s Analyse der Angriffspayload enthüllte einen faszinierenden Einblick in den Denkprozess des Angreifers. Mehrere aufeinanderfolgende Aktualisierungen der manipulierten Pakete zeigen mindestens vier verschiedene Versionen des KI-Eingabeaufforderung.
Diese schnelle Iteration war ein aktiver Kampf gegen den Nicht-Determinismus und die Schutzschienen, die KI-Anwendungen innewohnen. Der Angreifer musste kontinuierlich experimentieren, um die perfekte Eingabeaufforderung zu finden, die Folgendes leisten würde:
Umgehung von Schutzmaßnahmen: Vermeiden Sie die eingebauten Schutzmaßnahmen des Agenten, die offensichtliche bösartige Anfragen oder Anfragen zum Zugriff auf Dateisystemressourcen ablehnen
Maximieren Sie die Ergebnisse: Generieren Sie die umfassendste Liste sensibler Dateipfade
Geschwindigkeit optimieren: Beschränken Sie den Fokus, um gängige Quellcode-Dateien auszuschließen und den gesamten Datenerfassungsprozess zu beschleunigen.
Dieser iterative Prozess demonstriert eine der Unzulänglichkeiten von KI-Tools: Benutzer müssen oft die gleiche Frage mehrmals auf unterschiedliche Weise stellen, um einem erfolgreichen Ergebnis näher zu kommen. Er verdeutlicht auch ein wachsendes Risiko für die Abwehr: Es gibt keine Garantie dafür, dass KI-Agenten sich an Schutzmaßnahmen halten. Wie McCartys eigene Tests zeigten, ignorierten KI-Agenten manchmal die Schutzmaßnahmen und schalteten einfach in den „YOLO-Modus“.
Dieser Vorfall bestätigt, dass agentische KI eine bedeutende neue Angriffsfläche darstellt. Wenn sie mit Developer-Rechnern verbunden sind, können sie als leistungsstarke Erkennungs-Engine für das Sammeln von Anmeldedaten und anderen sensiblen Informationen eingesetzt werden.
Empfohlene Lektüre
Für eine detaillierte, technische Aufschlüsselung der vier bösartigen KI-Prompt-Versionen und ihrer unterschiedlichen Erfolgsraten gegen Claude und Gemini empfehlen wir dringend, die vollständige Analyse von Paul McCarty und dem Sicherheitsteam zu lesen: Die KI im NX-Angriff analysieren.