SCA
SCA (Software Composition Analysis) to narzędzia analizujące komponenty open source w aplikacji pod kątem podatności i licencji.
Co to jest SCA?
Definicja SCA
SCA (Software Composition Analysis) to kategoria narzędzi bezpieczeństwa aplikacji, które automatycznie identyfikują i analizują komponenty open source i third-party w kodzie aplikacji. SCA wykrywa znane podatności (CVE), problemy licencyjne i ryzyko związane z łańcuchem dostaw oprogramowania.
Dlaczego SCA jest potrzebne?
Nowoczesne aplikacje składają się w 80-90% z kodu open source:
- Aplikacja Node.js: setki dependencies
- Aplikacja Java: dziesiątki bibliotek Maven
- Aplikacja Python: liczne pakiety pip
Każda zależność może zawierać podatności lub problematyczne licencje.
Co wykrywa SCA?
Vulnerability Detection:
- Znane CVE w dependencies
- Podatności w transitywnych zależnościach
- Podatności zero-day (niektóre rozwiązania)
License Compliance:
- Licencje GPL, LGPL, MIT, Apache
- Konflikty licencyjne
- Naruszenia compliance
Supply Chain Risk:
- Nieaktualne komponenty
- Porzucone projekty
- Typosquatting packages
- Malicious dependencies
Jak działa SCA?
- Discovery: Analiza manifest files (package.json, pom.xml, requirements.txt)
- Identification: Rozpoznanie komponentów i wersji
- Matching: Dopasowanie do bazy podatności (NVD, OSS Index)
- Prioritization: Scoring ryzyka i kontekst exploitability
- Remediation: Rekomendacje aktualizacji
SCA w pipeline CI/CD
Code Commit → Build → SCA Scan → Pass/Fail Gate → Deploy
SCA powinno być zintegrowane z:
- GitHub/GitLab (pull request checks)
- Jenkins/GitHub Actions (build pipeline)
- Container registries (image scanning)
SCA vs SAST vs DAST
| Aspekt | SCA | SAST | DAST |
|---|---|---|---|
| Co analizuje | Dependencies | Własny kod | Działająca aplikacja |
| Kiedy | Build time | Development | Runtime/staging |
| Typ podatności | Znane CVE | Code flaws | Runtime issues |
Popularne narzędzia SCA
- Open source: OWASP Dependency-Check, Snyk Open Source
- Komercyjne: Snyk, Sonatype Nexus IQ, Checkmarx SCA
- Wbudowane: GitHub Dependabot, GitLab Dependency Scanning
Wyzwania SCA
- False positives: Podatność istnieje, ale nie jest exploitable
- Transitive dependencies: Głębokie drzewo zależności
- Vulnerability fatigue: Setki alertów
- Remediation: Aktualizacja może łamać kompatybilność
SCA a SBOM
SCA generuje dane, które składają się na SBOM (Software Bill of Materials):
- Lista wszystkich komponentów
- Wersje i pochodzenie
- Znane podatności
SCA to fundament bezpieczeństwa aplikacji w erze powszechnego użycia open source i supply chain attacks.
Powiązane terminy
- SAST - statyczna analiza kodu źródłowego
- DAST - dynamiczne testowanie aplikacji
- DevSecOps - bezpieczeństwo w procesie DevOps
- SBOM - Software Bill of Materials
Sprawdź nasze usługi
Potrzebujesz wsparcia w zakresie bezpieczeństwa aplikacji? Sprawdź:
- Przegląd podatności kodu źródłowego - kompleksowa analiza bezpieczeństwa
- Testy bezpieczeństwa aplikacji webowych - testy penetracyjne aplikacji