Zurück zum Blog
Cyber-Sicherheit 5 Jan 2026 · 6 Min. Lesezeit

Supply-Chain-Angriffe: Ihre Software-Abhängigkeiten schützen

H

Hakobjan Dev Team

Sicherheits- & Software-Ingenieure

Vom SolarWinds-Hack bis zu bösartigen npm-Paketen: Supply-Chain-Angriffe sind eine der am schnellsten wachsenden Bedrohungen in der Softwareentwicklung. Eine kompromittierte Abhängigkeit kann tausende Anwendungen gleichzeitig infizieren.


Arten von Supply-Chain-Angriffen

Supply-Chain-Angriffe zielen auf das schwächste Glied: die Software und Tools, die Sie zum Bau Ihrer Anwendung verwenden. Angreifer nutzen verschiedene Techniken, um bösartigen Code in Ihren Dependency-Tree zu injizieren, oft ohne dass Sie es bemerken, bis es zu spät ist.

  • Typosquatting — Pakete mit Namen ähnlich beliebter Bibliotheken (z.B. "lod-ash" vs "lodash")
  • Dependency Confusion — Interne Paketnamen auf öffentlichen Registries beanspruchen
  • Kompromittierte Maintainer — Maintainer-Konten übernehmen, um Malware zu injizieren
  • Build-System-Angriffe — CI/CD-Pipelines kompromittieren (z.B. SolarWinds, Codecov)
  • Bösartige Updates — Legitime Pakete mit bösartigem Code nach einem Update

Schutz: SBOM, Lockfiles & Scanning

Ein Software Bill of Materials (SBOM) ist ein vollständiges Inventar aller Softwarekomponenten in Ihrer Anwendung. Wie eine Zutatenliste auf Lebensmitteln sagt es Ihnen genau, was in Ihrer Software steckt. Verwenden Sie Tools wie Syft oder CycloneDX, um automatisch ein SBOM zu generieren.

Committen Sie immer Ihre Lockfiles (package-lock.json, yarn.lock). Diese garantieren, dass alle exakt die gleichen Versionen installieren. Verwenden Sie npm ci statt npm install in CI/CD, um unerwartete Änderungen an Lockfiles zu verhindern.

bash
# Dependency Audit und Scanning
npm audit --production
npm audit fix

# SBOM mit Syft generieren
syft packages dir:. -o cyclonedx-json > sbom.json

# Schwachstellen mit Grype scannen
grype sbom:sbom.json --fail-on high

# Lockfile-Integrität verifizieren
npm ci --ignore-scripts  # Keine Post-Install-Skripte

# GitHub Actions Beispiel
# .github/workflows/security.yml
# - name: Security Audit
#   run: |
#     npm ci
#     npm audit --audit-level=high
#     npx snyk test --severity-threshold=high

Organisatorische Maßnahmen

Technische Tools allein reichen nicht aus. Legen Sie eine Richtlinie für das Hinzufügen neuer Dependencies fest: Wer genehmigt sie? Werden sie auf Wartungsstatus, Download-Zahlen und Sicherheits-Track-Record bewertet? Eine private Registry (wie Verdaccio oder Artifactory) kann als Gateway fungieren.

Schulen Sie Ihr Team, verdächtige Pakete zu erkennen: ungewöhnliche Post-Install-Skripte, Pakete mit kürzlichem Eigentümerwechsel oder Pakete mit ungewöhnlich niedrigen Download-Zahlen. Automatisieren Sie Dependency-Updates mit Dependabot oder Renovate und überprüfen Sie jedes Update sorgfältig.

Profi-Tipp

Fügen Sie npm audit als Pflichtschritt zu Ihrer CI/CD-Pipeline mit --audit-level=high hinzu. Dies blockiert Deployments automatisch, wenn High- oder Critical-Schwachstellen in Ihren Dependencies sind. Kombinieren Sie dies mit Snyk oder Socket.dev für tiefere Analyse.

Artikel teilen

Alle Artikel