Home/Glossary/Software Composition Analysis (SCA)

Software Composition Analysis (SCA)

Identifying open-source components and third-party libraries in applications and detecting known vulnerabilities.

DevSecOpsAlso called: "sca", "dependency scanning", "open source security", "oss security"

SCA tools inventory dependencies and match them against vulnerability databases like CVE and NVD.

Why SCA matters

  • Modern applications use 80-90% open-source code.
  • One vulnerable library affects all applications using it.
  • Log4Shell (CVE-2021-44228) demonstrated supply chain risk.
  • License compliance requirements in regulated industries.

What SCA analyzes

  • Package manager manifests (package.json, requirements.txt, pom.xml).
  • Lock files for exact version detection.
  • Container images and base image layers.
  • Binary artifacts and compiled dependencies.

Popular SCA tools

  • Commercial: Snyk, Sonatype Nexus, Black Duck, Mend (WhiteSource).
  • Open source: OWASP Dependency-Check, Trivy, Grype.

CI/CD integration

  • Scan on every build.
  • Block deployments with critical vulnerabilities.
  • Auto-create pull requests for updates (Dependabot, Renovate).
  • Generate SBOM (Software Bill of Materials).

Remediation strategies

  1. Upgrade: Update to patched version.
  2. Patch: Apply security patch if upgrade not possible.
  3. Mitigate: Implement compensating controls.
  4. Replace: Switch to alternative library.
  5. Accept: Document risk for low-impact findings.

Best practices

  • Establish vulnerability SLAs (critical: 24h, high: 7d).
  • Monitor for new CVEs in production dependencies.
  • Audit transitive (indirect) dependencies.
  • Maintain SBOM for incident response.