Your application includes other people’s code—SCA tells you when that code is risky.
SCA tools build a bill of materials (BOM) of open-source and third-party dependencies (direct and transitive), then match versions against vulnerability databases. Advanced SCA also flags license risk, outdated packages, and malware in registries.
| Tool | Scope | Typical use |
|---|---|---|
| OWASP Dependency-Check | Multi-ecosystem CLI | CI job producing SARIF/HTML reports |
| Snyk | SCA + container + IaC | PR fixes, policy by severity |
| npm audit | Node/npm | Local and CI `npm audit --production` |
| OSV / GitHub Dependabot | Git-native | Automated version bump PRs |
| Source | Role |
|---|---|
| CVE dictionary | Identifiers + descriptions (MITRE) |
| NVD | Enriched CVE records, CVSS scores, CPE matching |
| GHSA | GitHub Security Advisory database |
| OSV | Open-source vuln DB with ecosystem-specific ranges |
# npm audit --json (excerpt)
{
"vulnerabilities": {
"lodash": {
"name": "lodash",
"severity": "high",
"via": [{ "source": 1234567, "name": "lodash", "range": "<4.17.21" }],
"effects": [],
"range": "<4.17.21",
"nodes": ["node_modules/lodash"],
"fixAvailable": { "name": "lodash", "version": "4.17.21" }
}
},
"metadata": { "vulnerabilities": { "high": 1 } }
}
SBOM Export CycloneDX/SPDX from CI so operations and customers can consume the same inventory you scan.