Cyber Security Academy · Les

Software Composition Analysis (SCA)

Scan dependencies op bekende CVE's met OWASP Dependency-Check, Snyk of GitHub Dependabot.

Les 2 van 413 stappen

Software Composition Analysis (SCA) is een gratis Cyber Security Academy-les op CoddyKit. Dit is les 2 van 4. Je kunt 3 lessen uit dit leerpad gratis volledig lezen — daarna ontgrendelt CoddyKit PRO alle lessen, plus praktische oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Cyber Security Academy. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Cyber Security Academy bevat in totaal 4 lessen.

Wat is SCA

Softwarecompositieanalyse (SCA) identificeert opensourceafhankelijkheden in je project en controleert ze aan de hand van databases met kwetsbaarheden (NVD, CVE, GitHub Advisory). Het signaleert ook problemen met licentienaleving.

Waarom afhankelijkheden van derden riskant zijn

Moderne applicaties gebruiken honderden opensourcebibliotheken. Eén kwetsbare bibliotheek kan de hele applicatie blootstellen. De kwetsbaarheid Log4Shell uit 2021 (CVE-2021-44228) trof miljoenen Java-applicaties door één veelgebruikte bibliotheek voor logboekregistratie.

SCA-hulpmiddelen

Populaire SCA-hulpmiddelen:

# 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 monitor

Dependabot en Renovate

Geautomatiseerde hulpmiddelen voor het bijwerken van afhankelijkheden:

  • Dependabot (GitHub) — opent automatisch pullrequests om kwetsbare afhankelijkheden bij te werken
  • Renovate — beter configureerbaar en ondersteunt meer pakketregisters

Schakel deze in elke codeopslagplaats in — ze verminderen de handmatige last van het bijhouden van updates van afhankelijkheden.

De ernst van CVE's begrijpen

Niet elke kwetsbaarheid in een afhankelijkheid kan in jouw context worden misbruikt. Beoordeel het volgende:

  • Is het kwetsbare codepad bereikbaar bij jouw gebruik?
  • Stelt je applicatie de functionaliteit beschikbaar?
  • Beperkt een WAF of andere maatregel het risico?

De CVSS-score is een uitgangspunt — de context bepaalt het werkelijke risico.

Indirecte afhankelijkheden

Directe afhankelijkheden hebben hun eigen afhankelijkheden (indirecte afhankelijkheden). Een kwetsbaarheid in een bibliotheek waar je nog nooit van hebt gehoord, kan je toch raken. SCA-hulpmiddelen brengen de volledige afhankelijkheidsboom in kaart. Voer npm ls of pip show -r requirements.txt uit om de boom te bekijken.

npm ls --all | grep "vulnerable-pkg"
pip show requests | grep Requires

Softwarecomponentenlijst (SBOM)

Een SBOM is een formele inventaris van alle onderdelen in een softwareproduct. Executive Order 14028 (VS) verplicht SBOM's voor software die aan de Amerikaanse overheid wordt verkocht. Indelingen: SPDX, CycloneDX.

# Generate SBOM with syft:
syft . -o cyclonedx-json > sbom.json
# Scan SBOM for vulnerabilities:
grype sbom:./sbom.json

Licentienaleving

SCA controleert ook licenties. Afhankelijkheden met een GPL-licentie in commerciële software kunnen vereisen dat je je code opensource maakt. LGPL, MIT en Apache 2.0 zijn doorgaans weinig beperkend. Juridische teams hebben inzicht nodig in licenties van afhankelijkheden — SCA levert dit automatisch.

Aanvallen op de toeleveringsketen

aanvallers voegen schadelijke code toe aan populaire opensourcepakketten:

  • Typosquatting: reqeusts in plaats van requests
  • Gecompromitteerde accounts van beheerders (in de stijl van SolarWinds)
  • Verwarring over afhankelijkheden: privépakketnamen die naar een openbaar pakketregister lekken

SCA met integriteitsverificatie (controlesommen, lockbestanden) beperkt dit risico.

Lockbestanden

Lockbestanden (package-lock.json, Pipfile.lock) leggen exacte versies vast en verifiëren controlesommen. Leg lockbestanden vast in het broncodebeheer. Gebruik nooit npm install --legacy-peer-deps om controles van lockbestanden in productieversies over te slaan.

SCA in de CI/CD-pijplijn

Integreer SCA als een verplichte CI-poort:

# 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 posture

Korte controle: SCA

Wat is het belangrijkste doel van Software Composition Analysis (SCA)?

Lesoverzicht

SCA scant projectafhankelijkheden op bekende CVE's, licentieproblemen en risico's in de toeleveringsketen. Dit is van cruciaal belang vanwege indirecte afhankelijkheden — een kwetsbaarheid in een bibliotheek van een bibliotheek raakt jou nog steeds. Schakel Dependabot/Renovate in voor automatische updates. Genereer SBOM's (SPDX/CycloneDX) voor inzicht in de toeleveringsketen. Lockbestanden leggen versies vast en verifiëren controlesommen. Integreer SCA als CI-poort met drempelwaarden voor ernst.

Gratis beginnen

Leer Cyber Security Academy met een AI-tutor — gratis

Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.

Cursussen
76
Lessen
303

Veelgestelde vragen

Is de les “Software Composition Analysis (SCA)” gratis?

Ja — je kunt hier op het web alle 3 lessen van het leerpad Cyber Security Academy, waaronder “Software Composition Analysis (SCA)”, gratis volledig lezen. Daarna ontgrendelt CoddyKit PRO alle lessen, plus interactieve oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. De cursus Cyber Security Academy bevat in totaal 4 lessen.

Wat leer ik in “Software Composition Analysis (SCA)”?

Scan dependencies op bekende CVE's met OWASP Dependency-Check, Snyk of GitHub Dependabot. Je oefent met Cyber Security Academy door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.

Heb ik ervaring nodig om met Cyber Security Academy te beginnen?

Ervaring vooraf is niet nodig. Cyber Security Academy op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 2 van 4.

Hoe lang duurt de les “Software Composition Analysis (SCA)”?

De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.

Kan ik code schrijven en uitvoeren in deze les over Cyber Security Academy?

Ja. Elke les over Cyber Security Academy bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.

Alle lessen in deze cursus

  1. SAST en DAST in CI/CD-pipelines
  2. Software Composition Analysis (SCA)
  3. Secrets scannen en hardgecodeerde inloggegevens
  4. Security champions en threat modeling
← Terug naar Cyber Security Academy