Software Composition Analysis (SCA)
Scannen Sie Abhängigkeiten mit OWASP Dependency-Check, Snyk oder GitHub Dependabot auf bekannte CVEs.
Software Composition Analysis (SCA) ist eine kostenlose Cyber Security Academy-Lektion auf CoddyKit. Dies ist Lektion 2 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Cyber Security Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Cyber Security Academy-Kurs umfasst insgesamt 4 Lektionen.
Was ist SCA?
Software Composition Analysis (SCA) identifiziert Open-Source-Abhängigkeiten in Ihrem Projekt und gleicht sie mit Datenbanken zu Schwachstellen ab (NVD, CVE, GitHub Advisory). Außerdem weist SCA auf Probleme bei der Lizenzkonformität hin.
Warum Abhängigkeiten von Drittanbietern riskant sind
Moderne Anwendungen verwenden Hunderte von Open-Source-Bibliotheken. Eine einzige anfällige Bibliothek kann die gesamte Anwendung gefährden. Die 2021 entdeckte Schwachstelle Log4Shell (CVE-2021-44228) betraf Millionen von Java-Anwendungen, da sie eine weit verbreitete Protokollierungsbibliothek nutzten.
SCA-Tools
Beliebte SCA-Tools:
# npm audit (Node.js):
npm audit
npm audit fix
# pip-audit (Python):
pip-audit
# OWASP Dependency-Check:
dependency-check.sh --project myapp --scan ./
# Snyk:
snyk test
snyk monitorDependabot und Renovate
Tools zur automatischen Aktualisierung von Abhängigkeiten:
- Dependabot (GitHub) – öffnet automatisch PRs zur Aktualisierung anfälliger Abhängigkeiten
- Renovate – stärker konfigurierbar und unterstützt mehr Registries
Aktivieren Sie diese Tools in jedem Repository – sie verringern den manuellen Aufwand für die Nachverfolgung von Aktualisierungen der Abhängigkeiten.
Schweregrad von CVEs verstehen
Nicht jede Schwachstelle in einer Abhängigkeit kann in Ihrem Kontext ausgenutzt werden. Bewerten Sie:
- Ist der anfällige Codepfad bei Ihrer Nutzung erreichbar?
- Stellt Ihre Anwendung die betreffende Funktionalität bereit?
- Wird die Schwachstelle durch eine WAF oder eine andere Maßnahme abgeschwächt?
Der CVSS-Score ist ein Ausgangspunkt – das tatsächliche Risiko hängt vom Kontext ab.
Transitive Abhängigkeiten
Direkte Abhängigkeiten haben eigene Abhängigkeiten (transitive Abhängigkeiten). Eine Schwachstelle in einer Bibliothek, von der Sie noch nie gehört haben, kann Sie dennoch betreffen. SCA-Tools bilden den vollständigen Abhängigkeitsbaum ab. Führen Sie npm ls oder pip show -r requirements.txt aus, um den Baum zu untersuchen.
npm ls --all | grep "vulnerable-pkg"
pip show requests | grep RequiresSoftware Bill of Materials (SBOM)
Eine SBOM ist ein formales Verzeichnis aller Komponenten eines Softwareprodukts. Executive Order 14028 (USA) schreibt SBOMs für Software vor, die an die US-Regierung verkauft wird. Formate: SPDX, CycloneDX.
# Generate SBOM with syft:
syft . -o cyclonedx-json > sbom.json
# Scan SBOM for vulnerabilities:
grype sbom:./sbom.jsonLizenzkonformität
SCA überprüft auch Lizenzen. Abhängigkeiten mit GPL-Lizenz können bei kommerzieller Software erfordern, dass Sie Ihren Code als Open Source veröffentlichen. LGPL, MIT und Apache 2.0 sind im Allgemeinen permissiv. Rechtsteams benötigen Transparenz über die Lizenzen der Abhängigkeiten – SCA stellt diese automatisch bereit.
Angriffe auf die Software-Lieferkette
Angreifer schleusen schädlichen Code in beliebte Open-Source-Pakete ein:
- Typosquatting:
reqeustsstattrequests - Übernommene Konten von Maintainern (nach dem Muster von SolarWinds)
- Dependency Confusion: Private Paketnamen gelangen in eine öffentliche Registry
SCA mit Integritätsprüfung (Prüfsummen, Lock-Dateien) verringert dieses Risiko.
Lock-Dateien
Lock-Dateien (package-lock.json, Pipfile.lock) legen exakte Versionen fest und überprüfen Prüfsummen. Übernehmen Sie Lock-Dateien in die Versionsverwaltung. Verwenden Sie in Produktions-Builds niemals npm install --legacy-peer-deps, um Prüfungen der Lock-Datei zu überspringen.
SCA in der CI/CD-Pipeline
Integrieren Sie SCA als verpflichtende CI-Prüfung:
# GitHub Actions example:
- name: Run npm audit
run: npm audit --audit-level=high
# Fail build on HIGH/CRITICAL findings
# Use --audit-level=moderate for stricter postureSchnelltest: SCA
Was ist der Hauptzweck von Software Composition Analysis (SCA)?
Zusammenfassung der Lektion
SCA scannt Projektabhängigkeiten auf bekannte CVEs, Lizenzprobleme und Risiken für die Software-Lieferkette. Das ist aufgrund transitiver Abhängigkeiten besonders wichtig – eine Schwachstelle in einer Bibliothek einer Bibliothek betrifft Sie ebenfalls. Aktivieren Sie Dependabot/Renovate für automatische Aktualisierungen. Erstellen Sie SBOMs (SPDX/CycloneDX), um Transparenz über die Lieferkette zu schaffen. Lock-Dateien legen Versionen fest und überprüfen Prüfsummen. Integrieren Sie SCA mit Schweregradgrenzwerten als CI-Prüfung.
Häufig gestellte Fragen
Ist die Lektion „Software Composition Analysis (SCA)“ kostenlos?
Ja — der vollständige Text von „Software Composition Analysis (SCA)“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Cyber Security Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Cyber Security Academy-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Software Composition Analysis (SCA)“?
Scannen Sie Abhängigkeiten mit OWASP Dependency-Check, Snyk oder GitHub Dependabot auf bekannte CVEs. Du übst Cyber Security Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um Cyber Security Academy zu starten?
Keine Vorkenntnisse erforderlich. Cyber Security Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 2 von 4.
Wie lange dauert die Lektion „Software Composition Analysis (SCA)“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser Cyber Security Academy-Lektion Code schreiben und ausführen?
Ja. Jede Cyber Security Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- SAST und DAST in CI/CD-Pipelines
- Software Composition Analysis (SCA)
- Scannen von Secrets und fest codierte Zugangsdaten
- Security Champions und Threat Modeling