Glossary

SCA (Software Composition Analysis)

SCA, software composition analysis, is the process of identifying the open-source and third-party libraries an application depends on, mapping them against known vulnerability databases, and tracking licence obligations. Because the majority of modern application code is open-source, SCA is essential: a vulnerability in a library is a vulnerability in the application, and SCA is how those dependencies are discovered and managed.

SCA exists because modern software is mostly written by other people. A typical application is built on dozens or hundreds of open-source libraries, which together account for the large majority of the final codebase. The development team wrote only the top layer; everything beneath — the frameworks, the libraries, the transitive dependencies pulled in by those libraries — is code the team did not write, does not fully understand, and is often not even aware of. A serious vulnerability in any of those dependencies is a vulnerability in the application, and the Equifax breach, caused by an unpatched Apache Struts vulnerability, is the canonical example of how damaging an unmanaged dependency can be.

What SCA does, concretely, is build and maintain an accurate inventory of every dependency in the application — including the transitive dependencies that the direct dependencies pulled in — and continuously check each one against vulnerability databases such as the NVD, GitHub Security Advisories, and vendor advisories. When a new vulnerability is disclosed in a library the application uses, SCA flags it, often within hours of disclosure. This early warning is the operational core of SCA: the moment a new CVE drops that affects your stack, you know, rather than discovering it weeks later or after an exploit.

SCA also addresses licence compliance, which is an overlooked but real risk. Open-source licences come with obligations — attribution, source disclosure, copyleft effects — that vary by licence and by how the library is used. An application that inadvertently includes a GPL-licensed component may, depending on how it is distributed, be obligated to release its own source code, which is rarely the intent. SCA inventories the licences of all dependencies and flags those whose obligations may conflict with how the software is used, so the legal and compliance implications are surfaced before release rather than during due diligence.

The quality of an SCA tool is determined largely by its vulnerability database and the accuracy of its dependency resolution. A tool that misses dependencies — particularly transitive ones — will miss vulnerabilities; a tool with a slow or shallow database will report stale or incomplete results. The best tools maintain their own curated advisories alongside the public databases, provide reachability analysis (is the vulnerable function actually called by the application, or is the library present but the vulnerable path unused?), and prioritise accordingly. Reachability matters because the majority of flagged vulnerabilities in dependencies are not actually exploitable in a given application, and triaging on reachability is how a team focuses on what matters.

Passeca delivers SCA through Aikido, combined with SAST in a single platform, so that both first-party and third-party code are covered in one workflow. The platform's reachability analysis helps prioritise the dependencies whose vulnerabilities are genuinely exploitable, and Passeca provides the triage that turns a list of findings into a remediation plan. This is delivered as part of a Secure SDLC engagement, alongside the policy, pipeline integration, and developer enablement that make SCA a continuous part of development rather than a periodic scan.

Related Passeca serviceSecure SDLC (SAST & SCA)
Learn more