Wie „Clinejection“ einen KI-Bot in einen Supply-Chain-Angriff verwandelte
19. Februar 2026
0 Min. LesezeitAm 9. Februar 2026 legte der Sicherheitsforscher Adnan Khan öffentlich eine Schwachstellenkette (mit dem Namen „Clinejection“) im Repository von Cline offen. Sie machte den eigenen Issue-Triage-Bot des beliebten KI-Coding-Tools zum Angriffsvektor für einen Supply-Chain-Angriff. Acht Tage später nutzte ein unbekannter Akteur dieselbe Schwachstelle, um eine nicht autorisierte Version der Cline CLI auf npm zu veröffentlichen. Diese installierte den KI-Agenten OpenClaw auf allen Entwicklerrechnern, auf denen innerhalb eines Zeitfensters von acht Stunden ein Update durchgeführt wurde.
Bemerkenswert an dieser Angriffskette ist nicht eine einzelne neuartige Technik, sondern die Kombination bekannter Schwachstellen (indirekte Prompt-Injection, Cache-Poisoning in GitHub Actions und Schwächen im Umgang mit Zugangsdaten) zu einem einzigen Exploit, für den es genügt, ein GitHub-Issue zu eröffnen.
Für die über 5 Millionen Cline-Nutzer waren die tatsächlichen Auswirkungen begrenzt. Das nicht autorisierte Paket cline@2.3.0 war etwa acht Stunden lang verfügbar, und seine Payload (die globale Installation von OpenClaw) war nicht offensichtlich destruktiv. Doch die möglichen Auswirkungen – beliebigen Code an alle Entwickler mit aktivierten automatischen Updates auszuliefern – machen diesen Vorfall so lehrreich. Snyk und Cline haben eine bestehende Sicherheitspartnerschaft, die darauf ausgerichtet ist, KI-gestütztes Coding sicher zu gestalten. Dieser Vorfall unterstreicht, warum solche Zusammenarbeit in der gesamten Branche wichtig ist.
Ein KI-Agent mit zu weitreichenden Berechtigungen
Am 21. Dezember 2025 fügten die Verantwortlichen von Cline ihrem GitHub-Repository einen KI-gestützten Workflow zur Issue-Triage hinzu. Der Workflow nutzte claude-code-action von Anthropic, um automatisch auf neue Issues zu reagieren. Die Konfiguration sah so aus:
Zwei Konfigurationsentscheidungen machten das Ganze gefährlich:
allowed_non_write_users: "*"bedeutete, dass jeder GitHub-Nutzer den Workflow durch das Eröffnen eines Issues auslösen konnte.--allowedTools "Bash,Read,Write,Edit,..."ermöglichte dem KI-Agenten die beliebige Ausführung von Code auf dem GitHub-Actions-Runner.
Der Titel des Issues wurde direkt in den Prompt eingefügt. Das ist ein typischer Angriffsvektor für indirekte Prompt-Injection.
Schritt 1: Prompt-Injection über den Issue-Titel
Ein Angreifer konnte einen GitHub-Issue-Titel mit Anweisungen erstellen, die Claudes vorgesehenes Verhalten außer Kraft setzen würden:
Der Verweis github:cline/cline#aaaaaaaa zeigt auf einen bestimmten Commit. Aufgrund der Fork-Architektur von GitHub kann ein Angreifer einen Commit in seinen eigenen Fork pushen. Dieser Commit ist dann über die URL des übergeordneten Repositorys erreichbar, auch nachdem der Fork gelöscht wurde (eine Technik, die als „dangling commit“ bekannt ist).
Der Commit ersetzt package.json durch eine Version mit einem bösartigen preinstall-Skript:
Wenn Claude über sein Bash-Tool npm install ausführt, wird das Preinstall-Skript automatisch gestartet. Der KI-Agent hat keine Möglichkeit, zu prüfen, was ausgeführt wird. Khan bestätigte, dass Claude „bei allen Testversuchen bereitwillig die Payload ausführte“ – auf einem Spiegel des Cline-Repositorys.
Dieses Muster verfolgt Snyk genau. In unserer Forschung zur Analyse toxischer Datenflüsse beschreiben wir genau diese Art von Schwachstelle: Nicht vertrauenswürdige Daten fließen in den Kontext eines KI-Agenten ein, der zugleich über Tools mit Codeausführungsrechten verfügt. So entsteht ein „toxischer Datenfluss“, bei dem der Angreifer kontrolliert, was der Agent tut. Der Cline-Vorfall zeigt, wie sich toxische Datenflüsse in der Praxis in CI/CD-Umgebungen auswirken – nicht nur in lokalen Entwicklungsumgebungen.
Schritt 2: Seitwärtsbewegung durch Cache-Poisoning in GitHub Actions
Durch die Prompt-Injection wurde zunächst der Runner des Triage-Workflows kompromittiert. Der Triage-Workflow hatte jedoch eingeschränkte GITHUB_TOKEN-Berechtigungen und keinen Zugriff auf Veröffentlichungsgeheimnisse. Um die Release-Pipeline zu erreichen, musste der Angreifer einen Umweg nehmen.
Hier kommt das Cache-Poisoning in GitHub Actions ins Spiel.
Eine wichtige Eigenschaft von GitHub Actions ist, dass jeder Workflow, der auf dem Standard-Branch ausgeführt wird, den gemeinsam genutzten Actions-Cache lesen und beschreiben kann – auch Workflows, die Caching nicht ausdrücklich verwenden. Der Triage-Workflow mit niedrigen Berechtigungen nutzte denselben Cache-Bereich wie der Nightly-Release-Workflow mit hohen Berechtigungen.
GitHub verwendet eine Cache-Eviction-Richtlinie, die nach dem LRU-Prinzip (Least Recently Used) Einträge entfernt, sobald der Cache pro Repository 10 GB überschreitet. Ein Angreifer kann das ausnutzen, indem er:
den Cache über den Triage-Workflow mit mehr als 10 GB nutzlosen Daten füllt
die LRU-Eviction legitimer Cache-Einträge erzwingt
vergiftete Cache-Einträge anlegt, deren Schlüssel den Cache-Schlüsseln des Nightly-Workflows entsprechen
Khans Open-Source-Tool Cacheract automatisiert den gesamten Prozess. Es vergiftet Cache-Einträge und bleibt über mehrere Workflow-Ausführungen hinweg aktiv, indem es den Post-Schritt von actions/checkout kapert.
Der Nightly-Release-Workflow von Cline nutzte zwischengespeicherte node_modules-Verzeichnisse:
Als der Nightly-Publish-Workflow gegen \~2 Uhr UTC ausgeführt wurde und den vergifteten Cache wiederherstellte, konnte der Angreifer beliebigen Code in einem Workflow ausführen, der Zugriff auf VSCE_PAT, OVSX_PAT und NPM_RELEASE_TOKEN hatte.
Schritt 3: Nightly-Zugangsdaten = Produktionszugangsdaten
Man könnte annehmen, dass die Zugangsdaten für Nightly-Releases anders eingeschränkt wären als die für Produktions-Releases. Das war nicht der Fall.
Sowohl der VS Code Marketplace als auch OpenVSX verknüpfen Veröffentlichungstokens mit Publishern, nicht mit einzelnen Erweiterungen. Die Produktions- und Nightly-Erweiterungen von Cline wurden von derselben Identität (saoudrizwan) veröffentlicht. Dadurch konnte das Nightly-PAT auch Produktions-Releases veröffentlichen.
Ähnlich war es bei npm: Das Token NPM_RELEASE_TOKEN war an das Paket cline selbst gebunden, das sowohl für Produktions- als auch für Nightly-Releases verwendet wurde.
Von der Offenlegung zum Angriff: Was tatsächlich geschah
Zusammengefasst konnte ein einziges GitHub-Issue, eröffnet von einem beliebigen GitHub-Nutzer, die folgende Angriffskette auslösen:
Prompt-Injection im Issue-Titel verleitet Claude dazu,
npm installfür einen vom Angreifer kontrollierten Commit auszuführenDas bösartige
preinstall-Skript installiert Cacheract auf dem Actions-RunnerCacheract flutet den Cache mit mehr als 10 GB nutzlosen Daten und löst so die LRU-Eviction aus
Cacheract legt vergiftete Cache-Einträge an, deren Schlüssel denen des Nightly-Workflows entsprechen
Der Nightly-Publish-Workflow stellt den vergifteten Cache wieder her – gegen \~2 Uhr UTC
Der Angreifer schleust
VSCE_PAT,OVSX_PATundNPM_RELEASE_TOKENausDer Angreifer veröffentlicht ein bösartiges Update für Millionen von Entwicklern
Datum | Ereignis |
|---|---|
21. Dezember 2025 | Cline fügt dem Repository einen KI-gestützten Workflow zur Issue-Triage hinzu |
1. Januar 2026 | Adnan Khan reicht ein GHSA ein und sendet eine E-Mail an security@cline.bot |
31. Januar–3. Februar 2026 | Verdächtige Cache-Fehler in den Nightly-Workflows von Cline beobachtet |
9. Februar 2026 | Khan veröffentlicht seine Erkenntnisse; Cline behebt die Schwachstelle innerhalb von 30 Minuten |
10. Februar 2026 | Cline bestätigt den Erhalt der Meldung und gibt an, die Zugangsdaten rotiert zu haben |
11. Februar 2026 | Cline rotiert die Zugangsdaten erneut, nachdem gemeldet wurde, dass Tokens noch gültig sein könnten |
17. Februar 2026 | Nicht autorisiertes Paket |
17. Februar 2026 | Cline veröffentlicht Version 2.4.0, kennzeichnet Version 2.3.0 als veraltet und widerruft das richtige Token |
17. Februar 2026 | GHSA-9ppg-jx86-fqw7 veröffentlicht |
Nach dem Vorfall | Cline stellt die npm-Veröffentlichung über GitHub Actions auf OIDC-Provenienz um |
Khan entdeckte die Schwachstelle Ende Dezember 2025 und reichte am 1. Januar 2026 eine GitHub Security Advisory (GHSA) ein. Außerdem schrieb er eine E-Mail an den Sicherheitskontakt von Cline.
Am 9. Februar, nachdem Khan seine Erkenntnisse veröffentlicht hatte, behob Cline die Schwachstelle innerhalb von 30 Minuten. Das Unternehmen entfernte die KI-Triage-Workflows und verhinderte, dass Publish-Workflows den Cache nutzten. Das Team rotierte außerdem die Zugangsdaten und bestätigte den Eingang der Meldung.
Die Rotation der Zugangsdaten war jedoch unvollständig. Am 17. Februar nutzte ein unbekannter Akteur ein noch aktives npm-Token (am 9. Februar war das falsche Token widerrufen worden), um cline@2.3.0 mit einer einzigen Änderung zu veröffentlichen:
Die nicht autorisierte Version war etwa acht Stunden lang verfügbar, bevor Cline Version 2.4.0 veröffentlichte und Version 2.3.0 als veraltet kennzeichnete. Die CLI-Binärdatei selbst war bytegenau identisch mit dem legitimen Release 2.2.3. Nach diesem Vorfall stellte Cline die npm-Veröffentlichung über GitHub Actions auf OIDC-Provenienz um und beseitigte damit langlebige statische Tokens als Angriffsfläche.
Khan verwies außerdem auf Hinweise auf früheres verdächtiges Cache-Verhalten in den Nightly-Workflows von Cline zwischen dem 31. Januar und dem 3. Februar. Dazu gehörte ein typisches Kompromittierungsmerkmal von Cacheract: Post-Schritte von actions/checkout schlugen ohne Ausgabe fehl. Ob dies auf einen anderen Forscher oder einen tatsächlichen Angreifer zurückging, ist unklar.
Die OpenClaw-Payload: eine bemerkenswerte Wahl
Das nicht autorisierte Paket cline@2.3.0 installierte OpenClaw global. OpenClaw ist ein Open-Source-KI-Agent mit Befehlsausführung, Zugriff auf das Dateisystem und Webbrowser-Funktionen. An sich ist es nicht bösartig.
Die Wahl ist dennoch bemerkenswert. Wie der Sicherheitsforscher Yuval Zacharia anmerkte: „Wenn der Angreifer den Agenten aus der Ferne mit Prompts steuern kann, ist das nicht einfach Malware, sondern die nächste Evolutionsstufe von C2. Ein eigenes Implantat ist nicht nötig. Der Agent ist das Implantat, Klartext das Protokoll.“
Ein KI-Agent, der natürliche Sprache interpretiert, integrierte Tools zur Codeausführung und zum Dateizugriff besitzt und von Endpoint-Detection-Tools als legitime Entwicklersoftware eingestuft wird, ist ein wirkungsvolles Mittel nach einem erfolgreichen Angriff – selbst wenn OpenClaw bei diesem Vorfall nicht als Waffe eingesetzt wurde.
Snyk hat bereits untersucht, wie die Architektur von OpenClaw (Shell-Zugriff und weitreichende Tool-Berechtigungen) Sicherheitsrisiken birgt. In unserer ToxicSkills-Studie stellten wir fest, dass 36 % der KI-Agenten-Skills auf Plattformen wie ClawHub Sicherheitslücken enthalten, darunter aktive bösartige Payloads zum Diebstahl von Zugangsdaten und zur Installation von Hintertüren.
KI-Agenten sind die neue Angriffsfläche in CI/CD
Diese Angriffskette veranschaulicht ein Muster, das Snyk 2025 und 2026 in mehreren Vorfällen dokumentiert hat. KI-Agenten mit weitreichendem Tool-Zugriff schaffen einfache Einstiegspunkte in Systeme, die zuvor nur schwer zu erreichen waren.
Im Dezember 2024 analysierten wir den Supply-Chain-Angriff auf Ultralytics AI über eine pwn request. Dabei nutzten Angreifer eine Fehlkonfiguration von GitHub Actions mit pull_request_target, um Code in die Build-Pipeline einzuschleusen und bösartige Pakete auf PyPI zu veröffentlichen. Der Cline-Vorfall weist dasselbe Grundmuster auf (Missbrauch eines CI/CD-Triggers führt zum Diebstahl von Zugangsdaten und zur Veröffentlichung bösartiger Pakete), hat aber eine neue Wendung: Der Einstiegspunkt ist natürliche Sprache statt Code.
Im August 2025 berichteten wir darüber, wie Angreifer KI-Coding-Agenten als Waffe einsetzten – beim Vorfall mit den bösartigen Nx-Paketen. Der Angriff nutzte bösartige npm-Lifecycle-Skripte, um Claude Code, Gemini CLI und Amazon Q mit unsicheren Flags (--dangerously-skip-permissions, --yolo, --trust-all-tools) aufzurufen und KI-Assistenten für Entwickler in Aufklärungs- und Exfiltrationswerkzeuge zu verwandeln.

Nx-NPM-Malware erklärt: KI-Agenten gekapert -- Brian Clark von Snyk erklärt, wie Angreifer mithilfe bösartiger npm-Pakete KI-Coding-Agenten für den Diebstahl von Zugangsdaten und die Exfiltration von Daten missbrauchten.
Beim Cline-Vorfall ging der Angriff noch einen Schritt weiter: Der KI-Agent lief nicht auf dem Rechner eines Entwicklers, sondern innerhalb einer CI/CD-Pipeline. Dort hatte er Zugriff auf den gemeinsam genutzten Actions-Cache und indirekt auch auf Produktionszugangsdaten für Veröffentlichungen.
Wie wir in unserer Untersuchung zu neuen Bedrohungen für KI-native Apps feststellten, führt das Zusammentreffen von KI-Schwachstellen und herkömmlichen Sicherheitslücken zu Angriffsketten, die sich weder mit Maßnahmen gegen die eine noch die andere Art von Bedrohung allein zuverlässig verhindern lassen. Ein Scanner für Prompt-Injection erkennt kein Cache-Poisoning. Ein Leitfaden zur Härtung von CI/CD berücksichtigt nicht, dass natürliche Sprache als Angriffsvektor dienen kann.
Geringer Schweregrad – großes potenzielles Schadensausmaß
Es ist wichtig, genau zwischen dem zu unterscheiden, was passiert ist und was hätte passieren können:
Was tatsächlich passiert ist:
Am 17. Februar 2026 wurde eine nicht autorisierte Version von
cline@2.3.0auf npm veröffentlichtSie war etwa 8 Stunden lang verfügbar und installierte OpenClaw über ein Postinstall-Skript global
Die CLI-Binärdatei selbst wurde nicht verändert
Das Audit von Cline ergab keine nicht autorisierten Veröffentlichungen im VS Code Marketplace oder auf OpenVSX
Die GitHub-Sicherheitsempfehlung stuft den Schweregrad als gering ein
Was hätte passieren können:
Ein ausgefeilter Angriff hätte eine manipulierte Version der Cline-VS-Code-Erweiterung im Marketplace und auf OpenVSX veröffentlichen können
Bei mehr als 5 Millionen Installationen und aktivierten automatischen Updates wäre schädlicher Code im Kontext der IDE aller Entwicklerinnen und Entwickler ausgeführt worden – mit Zugriff auf Zugangsdaten, SSH-Schlüssel und Quellcode
Für den Angriff waren lediglich ein GitHub-Konto und Kenntnisse öffentlich dokumentierter Techniken erforderlich
So sichern Sie KI-Agenten in CI/CD-Pipelines ab
Wenn Sie cline@2.3.0 über npm installiert haben:
Deinstallieren Sie das Paket:
npm uninstall -g clineDeinstallieren Sie OpenClaw, falls es installiert wurde:
npm uninstall -g openclawInstallieren Sie Version 2.4.0 oder höher neu:
npm install -g cline@latestPrüfen Sie Ihr System auf unerwartete globale npm-Pakete:
npm list -g --depth=0Rotieren Sie alle Zugangsdaten, auf die vom betroffenen Rechner aus zugegriffen werden konnte
Wenn Sie die Cline-VS-Code-Erweiterung verwenden:
Das Audit von Cline bestätigte, dass keine nicht autorisierten Erweiterungen veröffentlicht wurden
Die VS-Code-Erweiterung war von diesem konkreten Vorfall nicht betroffen
Erwägen Sie, automatische Updates für IDE-Erweiterungen zu deaktivieren und Updates vor der Installation zu überprüfen
Schützen Sie Ihre CI/CD-Pipelines vor KI-nativen Angriffen
Der Vorfall bei Cline zeigt, warum Unternehmen mehrschichtige Sicherheitsmaßnahmen benötigen, die sowohl KI-Sicherheit als auch die klassische Absicherung von CI/CD abdecken.
Für Teams, die KI-Agenten in CI/CD einsetzen:
Beschränken Sie den Tool-Zugriff auf das Minimum. KI-Agenten, die zur Priorisierung von Issues eingesetzt werden, benötigen keine Berechtigungen für
Bash,WriteoderEdit. Beschränken Sie--allowedToolsauf das für die Aufgabe erforderliche Minimum.Verwenden Sie den Actions-Cache nicht in Release-Workflows. Bei Builds, die Geheimnisse für Veröffentlichungen verarbeiten, ist Integrität wichtiger als Build-Geschwindigkeit. Cache-Poisoning ist ein gut dokumentierter Angriffsvektor in GitHub Actions.
Trennen Sie Zugangsdaten für Veröffentlichungen. Verwenden Sie getrennte Namespaces und dedizierte Tokens für Nightly- und Produktions-Releases. Wenn Ihr Nightly-PAT Produktions-Releases veröffentlichen kann, ist Ihre Nightly-Pipeline eine Angriffsfläche für die Produktion.
Bereinigen Sie nicht vertrauenswürdige Eingaben. Übernehmen Sie niemals direkt benutzergesteuerte Daten (Issue-Titel, PR-Beschreibungen, Kommentartexte) in Prompts für KI-Agenten. Indirekte Prompt-Injection funktioniert ähnlich wie SQL-Injection durch das Verketten von Zeichenfolgen.
Prüfen Sie die Rotation von Zugangsdaten sorgfältig. Der Vorfall bei Cline zeigt, dass eine unvollständige Rotation von Zugangsdaten ein Zeitfenster für Angriffe offenlassen kann. Wenn Sie nach einem Sicherheitsvorfall Secrets rotieren, überprüfen Sie, ob tatsächlich jedes Token widerrufen wurde. Erwägen Sie außerdem kurzlebige Zugangsdaten (etwa OIDC-Provenance für npm), um das Risiko zu verringern.
So hilft Snyk, die KI-Agenten-Lieferkette abzusichern
Snyk bietet verschiedene Tools, um sich vor den Arten von Sicherheitslücken zu schützen, die bei diesem Angriff ausgenutzt wurden. agent-scan (mcp-scan) ist ein Open-Source-Sicherheitsscanner für KI-Agenten, MCP-Server und Agent-Skills. Er erkennt MCP-Konfigurationen und installierte Skills automatisch und scannt sie anschließend auf Prompt-Injections, Tool-Poisoning, schädlichen Code und toxische Datenflüsse. Führen Sie ihn mit uvx mcp-scan@latest --skills aus.
Snyk AI-BOM erstellt eine KI-Stückliste für Ihre Projekte und identifiziert KI-Modelle, Agenten, Tools, MCP-Server und Datensätze. So erhalten Sie einen vollständigen Überblick über die KI-Komponenten in Ihrer Codebasis und wissen, welchen Risiken Sie ausgesetzt sind. Führen Sie das Tool mit snyk aibom aus.
Und schließlich: Snyk Open Source überwacht Ihre Open-Source-Abhängigkeiten auf bekannte Sicherheitslücken und schädliche Pakete. Die Schwachstellendatenbank von Snyk würde kompromittierte Paketversionen wie cline@2.3.0 erkennen. Weitere Informationen zum Umgang von Snyk mit KI-nativen Sicherheitsbedrohungen finden Sie in unseren Analysen zu toxischen Datenflüssen, Prompt-Injection in MCP und Agentenübernahmen.
Während die Entwicklung immer schneller voranschreitet: Wissen Sie wirklich, worauf Ihre KI-Umgebung zugreifen kann? Laden Sie „Die KI-Sicherheitskrise in Ihrer Python-Umgebung“ herunter und erfahren Sie mehr.
WHITEPAPER
Die KI-Sicherheitskrise in Ihrer Python-Umgebung
Angesichts des rasanten Entwicklungstempos: Wissen Sie wirklich, worauf Ihre KI-Umgebung zugreifen kann?



