What is Software Composition Analysis
Dependency vulnerability analysis
SCA (Software Composition Analysis) is the process of automatically analyzing software components and dependencies to identify known vulnerabilities.
What SCA Analyzes
- Open-source libraries — npm, PyPI, Maven packages
- Licenses — compliance with company policy
- Outdated versions — unsupported components
- Known vulnerabilities — CVEs from databases
Vulnerability Databases
- NVD (National Vulnerability Database) — primary NIST database
- GitHub Advisory Database — GitHub vulnerabilities
- Snyk Vulnerability DB — commercial database
- OSV (Open Source Vulnerabilities) — Google database
Popular SCA Tools
- Snyk — cloud service with CI/CD integration
- Dependabot — automatic PRs with updates
- OWASP Dependency-Check — free scanner
- WhiteSource (Mend) — enterprise solution
Development Process Integration
- Check on every commit
- Block builds on critical vulnerabilities
- Automatic ticket creation
- Weekly security reports