SCA Explained: Safer Open-Source Dependencies

SCA explained: software composition analysis and dependencies

SCA identifies the open-source libraries your application depends on and checks each one against known vulnerabilities and licence obligations.

  • Glossary
  • Code security

The short answer

Software composition analysis builds an inventory of every third-party component in your codebase, including the ones you never chose directly, and reports which have published vulnerabilities and which carry licence terms you may not want. Most of a modern application is imported code, so most of its known vulnerabilities arrive this way.

The dependencies you did not choose

You add a handful of libraries. Each of those pulls in its own, and so on. The result is a tree where the code you selected is a small fraction of the code you ship, and where most vulnerabilities sit several levels down.

Your application You chose these 3 web-framework direct dependency auth-library direct dependency pdf-generator direct dependency They pulled in these 11 http-parser logger token-utils crypto-core image-codec font-loader stream-buf yaml-reader base64 date-utils compress Known CVE, two levels below your own code. You never chose it, and you still have to fix it. Component names shown are illustrative.
Swipe to see the full diagram. A vulnerability two levels down is still yours to fix, and the upgrade path usually runs through the direct dependency above it.

What SCA reports

OutputWhy it matters
Component inventoryEvery library and version actually present, direct and transitive
Known vulnerabilitiesMatches against CVE and advisory databases, with severity
Licence obligationsCopyleft terms that can affect how you distribute your product
Upgrade pathThe version that resolves the issue, and which direct dependency to bump
Component ageUnmaintained packages, which are a risk even with no CVE today

Prioritising what to upgrade

An SCA report on a mature codebase will list more findings than any team can act on at once. Severity alone is a weak filter, for the same reason it is weak elsewhere: it describes the vulnerability, not your exposure.

Is it reachable?

A vulnerable function your code never calls is far less urgent than one on a request path.

Is it being exploited?

Presence in the known exploited catalogue moves a finding straight to the top.

Is a fix available?

A finding with no patched version needs a different response: replace, isolate, or compensate.

How Osto runs code security

Osto’s code security module covers SCA alongside SAST, SBOM generation and open-source licence compliance, so dependency findings, code findings and the component inventory come from one place. Because the platform also runs the WAF and vulnerability testing, a dependency finding can be assessed against whether the affected path is exposed in production rather than in isolation.

Free security assessment

Know what is actually in your build

Osto covers SCA alongside SAST, SBOM generation and open-source licence compliance, with findings read against production exposure.

Get a free security assessment Book a platform walkthrough

Direct and transitive coverage · Licence checks · One platform, everything

Frequently asked questions

What does SCA stand for?

Software composition analysis. It identifies the third-party and open-source components in a codebase and checks them against known vulnerability databases and licence terms.

What is a transitive dependency?

A library pulled in by another library rather than chosen by you. Most dependencies in a modern application are transitive, and a large share of dependency vulnerabilities sit among them.

How is SCA different from SAST?

SAST analyses code your team wrote. SCA analyses code you imported. They find different classes of problem and neither substitutes for the other.

Why does SCA report licences?

Open-source components carry terms. Some copyleft licences impose obligations on how you distribute software that includes them. Enterprise buyers and investors increasingly ask for a licence position during due diligence.