Wartet nur ab, bis KI-Agenten gehackt werden...

MMaximilian Schwarzmüller
Computing/SoftwareBusiness NewsInternet Technology

Transcript

00:00:00Ich nehme dies ein paar Stunden nach einem extrem verheerenden Supply-Chain-Angriff auf,
00:00:06der gerade begonnen hat. Ein Angriff auf die Lieferkette, der sich auf viele weitere NPM- und Python-Pakete ausweitete.
00:00:13Zum Zeitpunkt dieser Aufnahme ist noch nicht klar, wann und wo er enden wird. Und ich habe
00:00:19ein separates Video auf meinem YouTube-Kanal erstellt, in dem ich tief in diesen speziellen Angriff eintauche,
00:00:25da er ziemlich komplex war. Dort erkläre ich alle Details in einem Deep Dive,
00:00:30da das sehr interessant ist. Aber hier möchte ich über Supply-Chain-Angriffe, Sicherheit und KI
00:00:38in diesem Zeitalter sprechen, in dem wir gerade leben. Denn ich bin sicher, dass die Dinge
00:00:45schlimmer werden. Und ich fürchte, dass viele Menschen all die Gefahren noch nicht wirklich sehen. Und es gibt mehr,
00:00:54was wir als Entwickler und Nutzer von Technologie und KI, um ehrlich zu sein, tun müssen. Und das betrifft uns auch,
00:01:01wenn wir keine Entwickler sind. Ich weiß, dass die meisten Zuschauer oder Zuhörer hier Entwickler sind.
00:01:07Aber wie ich verdeutlichen werde, geht es hier nicht nur um das Schreiben von Code oder um
00:01:13Supply-Chain-Angriffe, wie Sie sie kennen. Aber fangen wir mit den Grundlagen an. Was ist das überhaupt?
00:01:20Ein Supply-Chain-Angriff im Kontext der Softwareentwicklung bedeutet einfach, dass eine
00:01:26Abhängigkeit, die Sie verwenden, kompromittiert wurde. Das ist kurz gesagt der Kern der Sache. Und kompromittiert
00:01:35kann natürlich alles Mögliche bedeuten. Normalerweise sehen wir bösartigen Code in einem
00:01:41kompromittierten Paket, der Zugangsdaten und Token sammelt. Er scannt also Ihre Festplatte nach
00:01:49Geheimnissen, die Sie etwa in .env-Dateien oder Ihren AWS-Credentials haben könnten. Er nutzt dann diese
00:01:56Zugangsdaten, um auf Ihre Konten zuzugreifen, aber auch um sich selbst zu verbreiten und andere Pakete zu befallen.
00:02:04Wenn Sie Maintainer eines Open-Source-Pakets sind – oder auch bei Closed Source – und an einem
00:02:11Paket oder Tool arbeiten, auf das andere angewiesen sind, ist es natürlich interessant, Ihren Rechner
00:02:19zu kapern, um dieses Paket oder Tool zu kompromittieren, denn – Sie ahnen es –
00:02:26das wird dann noch mehr Menschen betreffen. Alle diese Angriffe, die wir sehen, einschließlich des
00:02:32Angriffs auf die Tanstack-Pakete, sind Würmer, die auf andere Pakete überspringen, um immer mehr
00:02:38Pakete und letztlich auch die Rechner zu befallen, auf denen diese installiert und genutzt werden.
00:02:44Nun gibt es Dinge, die Sie tun können, um sich zu schützen, und ich habe dazu ein separates Video
00:02:51auf meinem anderen Kanal, dem Akatamine-Kanal, gemacht. Etwa sicherzustellen, dass Sie nur
00:02:56Paketversionen installieren, die mindestens drei Tage alt sind, oder Ihren Code in einem
00:03:02Dev-Container oder einer virtuellen Maschine auszuführen.
00:03:08Das sind alles Dinge, die Sie tun sollten. Sie sollten auch keine Geheimnisse im Klartext auf Ihrem System speichern.
00:03:15Nutzen Sie stattdessen Dienste wie Infisical oder Doppler, bei denen Sie Geheimnisse verschlüsselt
00:03:22in der Cloud oder in anderer Form speichern, sodass ein Angreifer beim Scannen Ihres Systems
00:03:28keine Klartextdaten findet. Das ist jetzt extrem wichtig, denn diese Angriffe auf die Lieferkette
00:03:37nehmen zu. Wir sehen immer mehr davon, und warum ist das so? Es liegt sicher nicht daran,
00:03:42dass man solche Angriffe vor vielen Jahren nicht hätte durchführen können. Es war damals schon möglich
00:03:49und es passierte auch, aber die Häufigkeit ist natürlich dramatisch gestiegen, und KI
00:03:56ist hier ein wesentlicher Grund. Werfen wir also einen Blick auf die Rolle der KI. KI ist ein wichtiger Faktor,
00:04:06weil sie solche Angriffe natürlich vereinfacht. Als Angreifer können Sie KI nutzen,
00:04:14um alle möglichen Repositories von Paketen zu analysieren, die Sie kompromittieren wollen,
00:04:22um zu sehen: Wie bauen sie ihre Pakete? Wie verteilen sie diese? Zum Beispiel beim
00:04:30Tanstack-Angriff, der diesen jüngsten Vorfall auslöste: Dort nutzten die Maintainer einen theoretisch
00:04:38sicheren Ansatz mit dem Trusted-Publishing-Prozess von NPM – auch darauf gehe ich in dem anderen Video
00:04:45genauer ein – aber sie verwendeten auch einen bestimmten GitHub Actions Event Trigger
00:04:51auf eine Weise, die nicht perfekt abgesichert war. Das erlaubte dem Angreifer mittels Cache Poisoning,
00:05:00bösartigen Code aus einer nicht vertrauenswürdigen in eine vertrauenswürdige Umgebung zu schleusen.
00:05:07So fing alles an. Details dazu wie gesagt im anderen Video.
00:05:15Aber natürlich erleichtert KI die Analyse von Repositories und GitHub Action Workflows
00:05:22oder anderen CI/CD-Workflows erheblich. KI kann diese Skripte und den gesamten Code massenhaft analysieren
00:05:30und gezielt nach Sicherheitslücken suchen. Natürlich können auch Maintainer KI nutzen, um ihre
00:05:38Repositories nach potenziellen Angriffsvektoren zu scannen, aber als Angreifer ist man natürlich immer im
00:05:45Vorteil, weil man nach allem suchen und alles ausprobieren kann, während man als
00:05:52Maintainer alles vorhersehen muss. KI kann dabei helfen, ist aber noch nicht perfekt.
00:05:58Der Angreifer hat hier den Vorteil, und KI hat diesen Prozess vereinfacht. KI vereinfacht natürlich
00:06:04auch das Schreiben von bösartigem Code, genau wie sie das Schreiben von jedem Code vereinfacht.
00:06:12Wenn Sie andere Videos von mir kennen, wissen Sie, dass ich ein großer Befürworter davon bin,
00:06:20den Code selbst anzusehen, Code-Reviews zu machen und nicht alles an die KI auszulagern.
00:06:27Aber es ist klar, dass man KI zur Produktivitätssteigerung nutzen sollte. Wir alle finden noch heraus,
00:06:33wie viel KI-Nutzung richtig ist. Manche sagen, 100 % – sie schauen sich den Code gar nicht mehr an.
00:06:40Für mich ist das nichts, aber es gibt hier ein breites Spektrum. So oder weise macht KI es
00:06:46definitiv einfach, Unmengen an Code zu produzieren. Wenn wir über bösartigen Code sprechen,
00:06:53gibt es für einen Angreifer bestimmte Prioritäten: Der Code muss funktionieren und darf
00:06:59nicht zu leicht zu entdecken sein. Es ist egal, ob der Code schön ist oder Best Practices folgt.
00:07:06Ihre “Best Practice” ist, dass der Angriff durchgeht. Und dabei kann KI natürlich massiv helfen,
00:07:13indem sie bösartigen Code schreibt oder Ideen für Angriffe auf Pakete liefert. Das ist aber
00:07:19nur ein Teil der Geschichte. Die andere, sehr wichtige Seite ist, dass es mehr Code gibt als je zuvor.
00:07:26Das bedeutet, es gibt mehr Angriffsziele als je zuvor. Vielleicht haben Sie den Blogpost oder die
00:07:35Ziele als je zuvor – vielleicht haben Sie diesen Blogpost oder die Geschichte rund um die
00:07:43Der Grund dafür ist, dass durch KI mehr Code als je zuvor auf GitHub gepusht wird, weil die
00:07:49Erstellung so einfach ist. Mehr Menschen als je zuvor generieren Code und schreiben Software,
00:07:55darunter viele, die keine Ahnung haben, was dieser Code eigentlich macht. “Wipe Coding” ist ein
00:08:02großes Thema und hat seine Daseinsberechtigung. Ich meine, wenn ich fünf PDF-Dokumente
00:08:11zusammenfügen will, sage ich gerne einem KI-Agenten, dass er das für mich tun soll.
00:08:18Er schreibt dann wahrscheinlich Code dafür, und dieser Code ist mir egal – es ist eine einmalige Aufgabe.
00:08:24Aber wenn ich das auf meinem System ausführe, installiert der Agent vielleicht ein Paket für PDFs,
00:08:32das von einem Supply-Chain-Angriff betroffen ist. Ich weiß also gar nicht, dass ein bestimmtes
00:08:37Paket benutzt wurde, weil mich nur das Ergebnis – die zusammengefügte PDF – interessiert hat.
00:08:43Es gibt also mehr Situationen als je zuvor, in denen Pakete installiert werden, da Unmengen an Code
00:08:49für Software, aber auch für Einmalaufgaben geschrieben werden. Das macht solche Angriffe
00:08:56natürlich attraktiver denn je, da es mehr Ziele gibt, einschließlich vieler Nutzer,
00:09:01die absolut keine Ahnung von Software-Sicherheit oder Cyber-Security haben.
00:09:06Und seien wir ehrlich: Auch viele von uns Entwicklern kennen zwar theoretisch die Risiken,
00:09:14kümmern uns aber oft nicht darum, weil es so bequem ist, die Arbeit einfach erledigt zu bekommen.
00:09:22Wir müssen hier umdenken. Wir müssen unsere Rechner absichern und sicherstellen,
00:09:31dass wir in sicheren Umgebungen entwickeln – also in VMs oder Dev-Containern –, in denen
00:09:37keine Zugangsdaten herumliegen. Auch bei KI-Agenten, die wir wahrscheinlich alle nutzen,
00:09:44müssen wir vorsichtig sein, da es auch dort zwei Arten von Gefahren gibt. Schauen wir uns genauer an,
00:09:53warum KI-Agenten hier problematisch sind. Ein Problem ist das, was ich bereits erwähnt habe:
00:10:00Wenn wir KI-Agenten nutzen, besonders für Dinge, die nicht direkt mit dem Programmieren zu tun haben,
00:10:08aber auch wenn sie uns bei der Arbeit an einem Programm helfen, sehen wir nicht unbedingt
00:10:17alles, was sie tun. Wenn Sie Tools wie Claude Code oder ähnliches nutzen – und ich habe nichts gegen
00:10:23diese Tools, ich habe sogar Kurse dazu, weil sie sehr nützlich sind –, aber wenn Sie diese
00:10:30einfach machen lassen und sagen: “Ich brauche dieses Feature”, ohne sich weiter darum zu kümmern,
00:10:35merken Sie vielleicht gar nicht, was sie im Hintergrund installieren. Also wieder: Pakete werden
00:10:41installiert, und Sie könnten kompromittiert oder betroffen sein. Eine Verteidigung dagegen ist,
00:10:49die Anzahl der verwendeten Pakete zu begrenzen, aber wenn Sie einen Agenten nutzen, haben Sie
00:10:54vielleicht keine Kontrolle darüber. Er könnte Pakete installieren, die Sie selbst nie gewählt hätten.
00:11:00Das ist die offensichtliche Gefahr. Hier ist die weniger offensichtliche: KI-Agenten sind
00:11:07super attraktive Angriffsziele. Was meine ich damit? Nun, diese Supply-Chain-Angriffe,” die
00:11:15ich erwähnt habe, verbreiten sich wie Würmer und befallen alle möglichen Pakete.
00:11:23Für einen Angreifer wäre es extrem interessant, Tools wie Claude Code oder andere KI-Coding-Agenten
00:11:32zu infizieren. Warum? Wenn man bösartigen Code hätte, der gezielt darauf optimiert ist,
00:11:42KI-Agenten-Pakete, Repositories und Code-Basen zu infiltrieren, dann könnte dieser
00:11:52bösartige Code Teile für Prompt-Injektionen enthalten. Er könnte zum Beispiel explizit darauf abzielen,
00:12:00den Code dieser Agenten so zu ändern, dass es nicht primär um den Diebstahl von Daten geht.
00:12:08Der eingeschleuste Code dient also vielleicht nicht direkt der Datenexfiltration, sondern er verändert
00:12:15den Code des KI-Agenten so, dass dieser spezielle Anweisungen erhält, die ihn Dinge auf Ihrem
00:12:22Rechner tun lassen, die Sie nicht wollen. Stellen Sie sich vor, Claude Code hätte einen geheimen System-Prompt,
00:12:28der normalerweise von Anthropic-Mitarbeitern festgelegt wird, aber nun durch bösartigen Code
00:12:34überschrieben wurde. Er könnte angewiesen werden, Ihre eigentliche Anfrage nur vorzutäuschen,
00:12:39während er im Hintergrund zusätzlich das System nach Geheimnissen scannt, vielleicht ein kleines
00:12:46Programm schreibt, das diesen Scan durchführt, und die Daten dann an einen entfernten Server schickt.
00:12:52Hier sind kaum Grenzen gesetzt, denn plötzlich haben Sie eine Art Trojanisches Pferd auf Ihrem System.
00:13:00Ein KI-Agent, der auf Ihrem Rechner außer Kontrolle gerät – und zwar nicht, weil die KI an sich
00:13:06böse geworden ist oder das Modell falsch liegt, sondern weil der Agenten-Code selbst und sein
00:13:12System-Prompt kompromittiert wurden. Das ist kein unrealistisches Szenario, und ich garantiere Ihnen,
00:13:20dass das irgendwann passieren wird. KI-Agenten sind ein viel zu interessantes Ziel. Das wird kommen.
00:13:28Wir werden eine neue Stufe dieser Supply-Chain-Angriffe erleben, die über das übliche Befallen von Paketen
00:13:34und das Sammeln von Zugangsdaten hinausgeht. Wir werden KI-Agenten sehen, die durch bösartigen Code
00:13:41manipuliert wurden. Es ist nur eine Frage der Zeit. Es gibt hier also viele Ebenen, wie Sie sehen,
00:13:49und das ist einfach die neue Realität, in der wir jetzt leben. Es ist wohl wie in den frühen Tagen
00:13:54des Internets: Es ist alles etwas holprig, während wir noch herausfinden, wie wir die Sicherheit
00:14:01erhöhen können. Ein offensichtlicher Schritt für die Entwicklung und für die Nutzung von KI-Agenten
00:14:08ist, dass man dies nicht in einer Umgebung tun sollte, in der viel schiefgehen kann. Man will es nicht
00:14:14dort ausführen, wo wichtige Zugangsdaten, Geheimnisse oder andere wichtige Daten gespeichert sind.
00:14:21Man sollte Agenten in isolierten virtuellen Maschinen oder Remote-Systemen ausführen, wo der
00:14:26Schaden begrenzt bleibt. Denn wie gesagt: Es ist nur eine Frage der Zeit, bis etwas schiefgeht,
00:14:32und das zu erkennen ist der erste wichtige Schritt. Die Dinge ändern sich schnell, und Sicherheit
00:14:37ist ein riesiges Thema und wird durch die Beschleunigung durch KI noch wichtiger werden.
00:14:42Die KI-Modelle werden immer smarter, besonders in Kombination mit den Tools, in denen sie laufen.
00:14:49Das bringt viele neue Möglichkeiten, aber gleichzeitig auch enorme Bequemlichkeit mit sich.
00:14:56Bequemlichkeit ist immer gefährlich, weil sie einen nachlässig werden lässt. KI ist überall,
00:15:03und viele Menschen ohne Kenntnisse in Cyber-Security nutzen sie, aber selbst Experten
00:15:11sind in großer Gefahr. Uns steht eine wilde Fahrt bevor, und wir müssen extrem vorsichtig sein,
00:15:17wo und wie wir Agenten einsetzen und an unserem Code arbeiten.
00:15:23Bequemlichkeit ist immer gefährlich, denn sie macht einen nachlässig und lässt Dinge übersehen, und ja,
00:15:30KI ist überall; so viele Leute, die nichts über Cybersicherheit wissen, nutzen sie, und sogar
00:15:34diejenigen, die viel oder etwas darüber wissen, sind in großer Gefahr. Uns steht also eine
00:15:40heiße Fahrt bevor, denke ich, und wir müssen umdenken und extrem vorsichtig sein, wo und wie wir Agenten ausführen
00:15:49und an unserem Code arbeiten.

Key Takeaway

Die zunehmende Automatisierung durch KI-Agenten und die Flut an generiertem Code erhöhen die Angriffsfläche für Supply-Chain-Würmer drastisch, was eine strikte Isolierung von Entwicklungsumgebungen in VMs zwingend erforderlich macht.

Highlights

  • Supply-Chain-Angriffe auf NPM- und Python-Pakete verbreiten sich wie Würmer durch das Kapern von Maintainer-Rechnern.

  • Bösartige Skripte scannen Festplatten gezielt nach .env-Dateien und AWS-Credentials im Klartext.

  • KI beschleunigt Angriffe durch die massenhafte Analyse von GitHub Action Workflows und CI/CD-Skripten auf Sicherheitslücken.

  • Das Ausführen von Code in isolierten Dev-Containern oder virtuellen Maschinen verhindert den direkten Zugriff auf das Host-System.

  • Dienste wie Infisical oder Doppler schützen Geheimnisse durch verschlüsselte Speicherung in der Cloud statt lokaler Klartextdateien.

  • Kompromittierter Code in KI-Agenten kann System-Prompts manipulieren, um im Hintergrund unbemerkt Datenexfiltration zu betreiben.

Timeline

Anatomie und Verbreitung von Supply-Chain-Angriffen

  • Ein Supply-Chain-Angriff kompromittiert eine Software-Abhängigkeit, um bösartigen Code in fremde Projekte einzuschleusen.
  • Bösartige Pakete suchen automatisiert nach Token und Zugangsdaten in lokalen Konfigurationsdateien.
  • Infizierte Rechner von Paket-Maintainern dienen als Sprungbrett zur massenhaften Verbreitung von Schadcode.

Aktuelle Vorfälle bei Tanstack-Paketen zeigen, wie Angreifer versuchen, über kompromittierte Abhängigkeiten an sensible Daten zu gelangen. Der Fokus liegt dabei auf dem Scannen der Festplatte nach Geheimnissen wie AWS-Credentials. Sobald ein Paket-Maintainer betroffen ist, verbreitet sich der Angriff wie ein Wurm auf alle Nutzer dieses Pakets.

Schutzmaßnahmen für Entwickler

  • Die Installation von Paketversionen sollte erst nach einer Wartezeit von mindestens drei Tagen erfolgen.
  • Entwicklungsprozesse gehören in isolierte Umgebungen wie Dev-Container oder virtuelle Maschinen.
  • Verschlüsselte Cloud-Dienste für Geheimnisse ersetzen unsichere lokale Klartextspeicherung.

Sicherheitsstrategien wie die Nutzung von Infisical oder Doppler verhindern, dass Angreifer bei einem Systemscan verwertbare Daten finden. Die Ausführung von Code innerhalb einer VM schützt das eigentliche Betriebssystem vor unbefugtem Zugriff. Das Abwarten bei neuen Paket-Releases reduziert das Risiko, Opfer eines gerade erst entdeckten Angriffs zu werden.

Die Rolle der KI als Beschleuniger für Angreifer

  • KI ermöglicht die automatisierte Analyse von Repositories zur Identifizierung von Schwachstellen in Build-Prozessen.
  • Cache-Poisoning in GitHub Actions erlaubt das Einschleusen von Code aus nicht vertrauenswürdigen Umgebungen.
  • KI senkt die Hürde für das Schreiben und Variieren von bösartigem Funktionscode erheblich.

Angreifer nutzen KI, um gezielt Sicherheitslücken in komplexen CI/CD-Workflows wie dem Trusted-Publishing-Prozess von NPM zu finden. Während Maintainer alle Eventualitäten absichern müssen, reicht dem Angreifer eine einzige Lücke durch KI-gestützte Massenanalyse. Die Qualität des Codes ist für Angreifer zweitrangig, solange die Funktion des Angriffs gewährleistet bleibt.

Risiken durch massenhaft generierten Code

  • Die Flut an KI-generiertem Code auf GitHub vergrößert die globale Angriffsfläche für Hacker.
  • Beim sogenannten Wipe-Coding werden Abhängigkeiten installiert, ohne deren Sicherheit oder Herkunft zu prüfen.
  • Unwissenheit über Cybersicherheit bei neuen Nutzergruppen begünstigt die erfolgreiche Ausführung von Schadcode.

Durch die einfache Erstellung von Software mittels KI landen Unmengen an ungeprüftem Code in öffentlichen Repositories. Nutzer führen oft Einmalaufgaben aus, bei denen im Hintergrund Pakete installiert werden, deren Risiken sie nicht einschätzen können. Bequemlichkeit führt hier oft dazu, dass grundlegende Sicherheitsregeln missachtet werden.

Die Manipulation von KI-Agenten als neue Bedrohung

  • KI-Coding-Agenten wie Claude Code installieren im Hintergrund Abhängigkeiten ohne explizite Nutzersichtbarkeit.
  • Infiltrierter Code kann den System-Prompt eines Agenten manipulieren, um bösartige Anweisungen auszuführen.
  • Manipulierte Agenten fungieren als Trojanisches Pferd, das Anfragen nur vortäuscht und parallel Daten stiehlt.

Ein kompromittierter Agent könnte angewiesen werden, bei jeder legitimen Nutzeranfrage zusätzlich das System nach Geheimnissen zu scannen. Dies geschieht nicht durch einen Fehler im KI-Modell, sondern durch eine Manipulation des Steuerungs-Codes oder der Prompts. Der Einsatz von Agenten in hochsensiblen Umgebungen mit direkten Zugriffsberechtigungen stellt somit ein extremes Sicherheitsrisiko dar.

Community Posts

View all posts