Safeguard
Developer Tools•

What does a free dependency scan actually check in my app?

A dependency scan lists the open source parts in your app and compares each against known vulnerability data. Here is what it finds and what it cannot.

Safeguard Security Team
4 min read

A dependency scan reads your project's manifest and lock files, lists every open source component and version it finds, including those pulled in indirectly, and compares each against known vulnerability data. It tells you what is inside and what has known flaws. It does not read your own code for bugs.

The three steps

  1. Inventory. The scanner reads files such as package manifests and lock files and builds a list of components with names and versions. This list is, in effect, an SBOM. CISA describes an SBOM as a nested inventory, a list of ingredients that make up software components.
  2. Matching. Each component and version is compared against vulnerability databases. A match means a published advisory covers that version.
  3. Reporting. Findings are shown with severity, the version that contains a fix, and where in your project the component comes from.

Direct and indirect parts

You choose some components yourself. Those pull in others, which pull in more. Many projects end up with far more indirect parts than direct ones. A scan that follows the whole tree finds flaws you never knowingly added.

What it finds, and what it does not

FindsDoes not find
Known vulnerabilities in open source componentsNew bugs in your own code
Which version contains a fixFlaws no one has published yet
Components pulled in indirectlyProblems in a service you call but do not ship
Components you did not know aboutConfiguration mistakes in your servers

A clean result means no known issue in the matched components today. It does not mean the app is safe, and tomorrow's advisories can change the answer.

How to read the results

Not every finding deserves the same urgency. Ask three questions of each one:

  1. Is a fix available, and is the upgrade small or large?
  2. Does the flaw sit in code my app actually calls? This is what reachability analysis answers.
  3. Is the flaw known to be exploited in the wild? CISA's KEV catalog lists those.

Start with findings that are reachable and exploited, then work down.

What to do after the first scan

  1. Save the inventory so you have a record of what shipped.
  2. Fix the top few findings first, rather than all at once.
  3. Set a rule for new code, such as blocking critical flaws in pull requests.
  4. Re-scan on a schedule, since new advisories arrive daily.

Where Safeguard fits

Safeguard's dependency scanning and SBOM generation produce the inventory, reachability analysis cuts the list down to what your code can reach, and policies and gates keep new risk out of pull requests. Fix PRs can be opened for review, with autonomous remediation off by default and every category on Manual. You can run the free scan at gold.safeguard.sh/scan.

Try it yourself

Click through it at your own pace, or open it full screen.

Open a component and see where it came from, whether it is direct or indirect, and which version fixes it.

Quick check

Does a dependency scan look at my own source code?

No. It checks the open source parts you use. Reading your own code for bugs is a different kind of scan.

Will a scan change my code?

A scan only reads and reports. Any fix is a separate step that you review and approve.

Sources

Last reviewed: 19 October 2026.

Never miss an update

Weekly insights on software supply chain security, delivered to your inbox.

Self-healing security runs on Safeguard.

Your first fix PR is minutes away.

No sales call required, even your agent can complete the purchase over MCP.