Definition
Ein Angriff auf die Software-Lieferkette tritt auf, wenn Bedrohungsakteure Malware oder manipulierten Code in den Softwareentwicklungs- oder Bereitstellungsprozess einschleusen – häufig über Abhängigkeiten von Drittanbietern. Solche Angriffe nutzen bestehende Vertrauensbeziehungen zwischen Entwicklern, Tools und Komponenten aus und verschaffen Angreifern so eine verdeckte und skalierbare Möglichkeit, Systeme zu kompromittieren.
Überblick
Malware gelangt über unsichere Entwicklungspraktiken, kompromittierte Drittanbieter-Pakete und verwundbare Infrastrukturen in die Software-Lieferkette. Mit der wachsenden Abhängigkeit von Open Source und Automatisierung vergrößert sich auch die Angriffsfläche von Unternehmen. Diese Angriffe sind schwer zu erkennen und nehmen stetig zu – weshalb DevSecOps-Teams zunehmend einen proaktiven Ansatz verfolgen.
Software-Lieferketten-Angriffe verstehen
Im Gegensatz zu klassischen Cyberbedrohungen, die auf die Perimeter-Sicherheit abzielen – etwa Firewalls, Endgeräte oder Netzwerkzugänge – nutzen Angriffe auf die Software-Lieferkette das interne Vertrauen zwischen Systemen und Tools aus. Sie müssen keine Firewalls überwinden, sondern nisten sich in Code und Pakete ein, die Entwickler für vertrauenswürdig halten. Indem Angreifer bösartigen Code in Entwicklungswerkzeuge oder Abhängigkeiten einschleusen, kompromittieren sie Software, bereits lange bevor diese in die Produktion gelangt.
CI/CD-Pipelines sind dabei ein zunehmend attraktives Ziel. Angreifer können bösartige Skripte in Build-Prozesse einfügen oder Automatisierungstools wie Jenkins oder GitHub Actions manipulieren. Diese auf Geschwindigkeit und Effizienz ausgelegten Pipelines verfügen oft nicht über strenge Sicherheitskontrollen – diese Lücke ermöglicht subtile Manipulationen, die sich unbemerkt durch zahlreiche Anwendungen fortpflanzen.
Software-Lieferketten-Angriffe machen sich die starke Vernetzung moderner Entwicklung zunutze. Statt Systeme direkt anzugreifen, setzen Angreifer weiter oben in der Kette an – bei den Komponenten, Tools oder Bibliotheken, die während der Softwareentwicklung verwendet werden. Ihr Ziel ist es, Schadcode so früh wie möglich einzuschleusen, damit er unbemerkt in Produktionsumgebungen gelangt.
Häufig kompromittieren Angreifer Open-Source-Bibliotheken, fügen manipulierten Code in Container-Images ein, manipulieren CI/CD-Pipelines oder agieren als scheinbar legitime Mitwirkende. Diese Methoden nutzen blinde Flecken in DevOps-Pipelines und in der dynamischen, dezentralen Welt der Softwareentwicklung. Eine gängige Taktik besteht beispielsweise darin, eine trojanisierte Version eines weit verbreiteten npm-Pakets zu veröffentlichen – die sich dann unauffällig in tausenden Downstream-Anwendungen wiederfindet.
Arten von Malware in der Software-Lieferkette
Neben klassischen Malware-Formen treten zunehmend spezifische Bedrohungen in der Lieferkette auf, darunter Dependency Confusion, Brandjacking und Typosquatting.
- Dependency Confusion entsteht, wenn interne Pakete versehentlich durch gleichnamige Pakete aus öffentlichen Registries überschrieben werden. Angreifer nutzen dies aus, indem sie manipulierte Versionen in diese Registries hochladen und so Builds dazu bringen, ihren kompromittierten Code einzubinden.
- Brandjacking und Typosquatting setzen darauf, dass Entwickler Tippfehler machen oder minimale Abweichungen übersehen. Angreifer veröffentlichen Pakete, die bekannten Bibliotheken täuschend ähnlich sehen, und sobald diese in einen Build aufgenommen werden, verhalten sie sich zunächst wie legitime Software – bis sie bei der Ausführung oder im Deployment schädliche Aktionen auslösen.
Malware in der Supply-Chain ist in der Regel subtiler und heimtückischer als traditionelle Schadsoftware. Statt sofort aktiv zu werden, versteckt sie sich in vertrauenswürdigen Komponenten und bleibt oft lange unentdeckt. Manche Varianten sind so programmiert, dass sie nur unter bestimmten Bedingungen ausgelöst werden, was ihre Tarnung zusätzlich verstärkt.
Beispiele reichen von Credential Stealern in Skripten über Backdoors in Container-Images bis hin zu Logic Bombs, die erst beim Deployment aktiviert werden. Häufig verschleiern Angreifer den schädlichen Code durch Obfuskation innerhalb von Abhängigkeiten.
Ein vielzitiertes Beispiel ist der SolarWinds-Orion-Hack, bei dem Angreifer bösartigen Code in ein offizielles Software-Update einschleusten. Ein weiteres ist der event-stream-Vorfall, bei dem ein Angreifer die Kontrolle über ein populäres npm-Paket übernahm und heimlich Malware einfügte, die Daten aus Kryptowallets extrahierte. Besonders gefährlich ist, dass diese Angriffe von der Glaubwürdigkeit des ursprünglichen Projekts oder Anbieters profitieren – und so herkömmliche Sicherheitsmaßnahmen leicht umgehen.
Die Auswirkungen von Open Source Software auf Malware-Risiken
Open Source Software ist ein Grundpfeiler moderner Softwareentwicklung, doch ihre weite Verbreitung macht sie auch zu einem attraktiven Ziel für Angreifer. Unternehmen setzen oft auf Hunderte – oder sogar Tausende – Open-Source-Komponenten. Deshalb ist es entscheidend, Pakete vor ihrem Einsatz in der Entwicklungsumgebung durch Schwachstellenscans zu prüfen. In der Praxis werden Open-Source-Pakete jedoch häufig automatisch und ohne tiefere Kontrolle eingebunden – ein ideales Einfallstor für Malware.
Die Risiken steigen zusätzlich, wenn Projekte schlecht gepflegt werden oder wenn Angreifer das Vertrauen zu etablierten Maintainers ausnutzen und schädlichen Code einschleusen. Entwickler können so unwissentlich kompromittierte Pakete integrieren – manchmal genügt bereits ein einfaches npm install oder das Hinzufügen einer Abhängigkeit mit weiteren, ungeprüften Sub-Dependencies.
Die Kompromittierungen von ua-parser-js sowie color.js/faker.js verdeutlichen, wie schnell sich Malware verbreiten kann, sobald sie in populäre Bibliotheken gelangt. In beiden Fällen wurde bösartiger Code in großem Umfang weitergegeben, bevor er entdeckt wurde. Diese Vorfälle zeigen, wie ein einziges Open-Source-Paket als Multiplikator für Malware im großen Stil dienen kann.
Um diese Risiken zu minimieren, sollten Unternehmen ihre Abhängigkeiten konsequent nachverfolgen und auditieren, bevorzugt auf aktiv gepflegte Projekte setzen, Dependency-Versionen fixieren, um unvorhergesehene Updates zu vermeiden, und regelmäßige Scans mit Sicherheitstools wie JFrog Xray durchführen.
Warum Software-Lieferketten-Angriffe zunehmen
Angriffe auf die Software-Lieferkette haben aus mehreren Gründen stark zugenommen. Der wichtigste ist die wachsende Komplexität der Softwareentwicklung: Mit Hunderten von Drittanbieter-Tools, Services und Bibliotheken gibt es deutlich mehr Angriffsflächen, während gleichzeitig die Transparenz für Security-Teams abnimmt.
Hinzu kommt der Druck auf DevOps, immer kürzere Entwicklungszyklen und Continuous Delivery umzusetzen. Geschwindigkeit und Automatisierung stehen im Vordergrund – oft auf Kosten gründlicher Sicherheitsprüfungen. Dadurch entstehen Lücken, die Angreifer mit Schadcode ausnutzen können.
Auch der Return on Investment für Angreifer ist gestiegen: Die Kompromittierung einer einzigen Upstream-Komponente kann sich auf Tausende Downstream-Anwendungen auswirken. Zudem nutzen mittlerweile auch staatliche Akteure Supply-Chain-Angriffe als Teil ihres Cyber-Arsenals, da diese Angriffsform Reichweite und Unauffälligkeit miteinander verbindet.
Die Dynamik der digitalen Transformation verstärkt die Dringlichkeit zusätzlich. Mit der Einführung von Cloud-nativen Technologien, Containern und Infrastructure-as-Code werden neue Tools oft schneller implementiert, als sie abgesichert werden – wodurch die gesamte Lieferkette verwundbar bleibt.
Wo Sicherheit zusammenbricht
Trotz wachsender Sensibilisierung für die Risiken fällt es vielen Unternehmen schwer, genau zu erkennen, wo ihre Verteidigungsmaßnahmen versagen. Häufig entstehen Sicherheitslücken durch mangelnde Transparenz – Entwicklerteams wissen oft nicht einmal, auf wie viele und welche Komponenten ihre Anwendungen tatsächlich angewiesen sind. Veraltete Infrastrukturen und Tools erschweren zusätzlich die Nachvollziehbarkeit von Abhängigkeiten und deren Sicherheitsstatus.
Auch Zeitdruck führt zu riskantem Verhalten: Entwickler kopieren unter Termindruck Code aus öffentlichen Foren, deaktivieren Sicherheitswarnungen, um Build-Probleme zu lösen, oder greifen auf ungetestete Plugins zurück, um schneller voranzukommen. Selbst gut aufgestellte Teams leiden unter „Security Fatigue“ – einer Überlastung durch zu viele Warnmeldungen, bei der echte Bedrohungen leicht übersehen oder ignoriert werden.
Die Ursachen liegen jedoch nicht immer nur in der Technik. Organisatorische Silos, unklare Zuständigkeiten für Sicherheit und inkonsistente Prozesse schaffen weitere Schwachstellen in der Lieferkette. Ohne eine koordinierte Zusammenarbeit von Entwicklung, Security und Operations können Angreifer selbst engagierte Teams aushebeln und Malware einschleusen.
Stärkung der Sicherheit in der Software-Lieferkette
Das Risiko durch Malware lässt sich nicht allein mit klassischen Perimeter-Sicherheitsmaßnahmen eindämmen. Gefragt ist eine Security-First-Mentalität über den gesamten Software-Lebenszyklus hinweg. Ein DevSecOps-Ansatz verankert Sicherheit in jeder Phase – vom Coding über Build und Release bis hin zum Runtime-Betrieb.
Eine der wirksamsten Maßnahmen ist das kontinuierliche Scannen von Artefakten in der Pipeline. Automatisierte Schwachstellen-Scanner identifizieren bekannte Schwachstellen in Paketen, Containern und Binaries, bevor diese die Produktion erreichen. Ebenso wichtig ist die Validierung aller Artefakte – durch Signieren und Verifizieren von Paketen, Container-Images und Binaries, um deren Authentizität sicherzustellen.
Ein Software Bill of Materials (SBOM) sorgt für Transparenz über alle Komponenten einer Anwendung. Dieses Wissen über Herkunft und Inhalte der Software ermöglicht schnelle Reaktionen auf neu bekannt gewordene Sicherheitslücken. Zusätzlich kann automatisierte Policy Enforcement Builds blockieren, die definierte Sicherheitsanforderungen nicht erfüllen.
Auch die sorgfältige Auswahl und Prüfung von Drittanbieter-Komponenten ist ein grundlegender Baustein. Teams sollten ausschließlich auf seriöse Quellen zurückgreifen, Versionen strikt kontrollieren und Projekte mit aktiven Maintainers sowie klarer Sicherheitsstrategie bevorzugen. Die Integration von Schwachstellenmanagement-Lösungen stellt sicher, dass Bedrohungen nicht nur erkannt, sondern auch zeitnah behoben werden.
Wie JFrog die Sicherheit der Software-Lieferkette unterstützt
Mit der zunehmenden Vernetzung von Software stellt Malware in der Lieferkette eine wachsende und akute Bedrohung dar. Moderne Entwicklungspraktiken bringen zwar mehr Effizienz, schaffen jedoch auch neue blinde Flecken. Den Schutz der Software-Lieferkette sicherzustellen bedeutet nicht nur, das Endprodukt abzusichern – sondern jeden einzelnen Bestandteil, Mitwirkenden und Prozess, der daran beteiligt ist.
Unternehmen müssen eine proaktive Haltung einnehmen und Sicherheit in ihre gesamten Entwicklungs-Workflows einbetten. Dazu gehören automatisiertes Scannen, Transparenz durch SBOMs, die Validierung von Artefakten sowie ein sorgfältiges Management externer Abhängigkeiten. Resilienz entsteht, wenn Sicherheit als kontinuierlicher, integrierter Prozess verstanden wird – nicht als Kontrollpunkt am Ende der Entwicklung.
Die Zukunft der Lieferketten-Sicherheit basiert auf Transparenz, Automatisierung und geteilter Verantwortung. Mit der richtigen Strategie und den passenden Tools können Unternehmen ihre Umgebungen schützen, ohne Geschwindigkeit oder Innovationskraft einzubüßen.
Weitere Informationen finden Sie auf unserer Website – machen Sie einen virtuellen Rundgang oder vereinbaren Sie jederzeit eine persönliche Demo.