Safeguard
Developer Tools•

What does a pull request dependency check see that a nightly scan misses?

A pull request check compares before and after, so it shows exactly which dependency a change introduces. A nightly scan only shows the state afterward.

Safeguard Security Team
3 min read

A pull request dependency check sees the change itself: which packages were added, removed or updated, including indirect ones in lock files. A nightly scan sees only the resulting state. The first tells you what a change introduced and can block it. The second tells you what is there after the fact.

Two different questions

A nightly scan asks: what is in the default branch right now, and does any of it have a known problem? A pull request check asks: what does this change add or alter, and is any of that a problem?

The difference sounds small, but it changes what you can do with the answer.

What the diff view adds

GitHub's documentation describes dependency review as showing which dependencies were added, removed or updated, with release dates, how many projects use them, and vulnerability data. It includes changes to indirect dependencies in lock files. It also notes a common surprise: updating one direct dependency can pull in updated dependencies of its own, so a pull request can contain more change than expected.

That last point is the heart of it. Reviewers cannot see transitive changes by reading a manifest diff. A tool that expands them does the reading for you.

Side by side

AspectPull request checkNightly scan
TimingBefore mergeAfter merge, on a schedule
OutputChanges introduced by this PREverything currently present
Can blockYes, as a required checkNo, it reports
Catches new advisories on old packagesNoYes
AttributionPoints to the change and authorPoints to the repository
NoiseLow, scoped to the diffHigher, includes the backlog

Why you want both

They cover opposite weaknesses. The pull request check stops new problems at the door but is blind to anything published later about packages already accepted. The nightly scan sees those later advisories but cannot stop anything. GitHub's own text makes this point: it says Dependabot alerts find vulnerabilities already in your dependencies, while it is much better to avoid introducing problems than to fix them later.

How to set the pull request check up well

  1. Make it a required check on the protected branch. GitHub's action fails by default when it finds vulnerable packages, and that only blocks a merge if the check is required.
  2. Scope it to the diff so existing debt does not block unrelated work.
  3. Decide how to handle licences too, if your policy covers them.
  4. Add an exception path with an expiry date.
  5. Keep the nightly scan for the backlog and for new advisories.

Try it yourself

Click through it at your own pace, or open it full screen. Notice that the gate looks at the change, not the whole repository.

Where Safeguard fits

Safeguard provides dependency scanning with policies and gates that can block a pull request, plus a free scan at gold.safeguard.sh/scan.

Quick check

Will a pull request check find old vulnerable packages?

Only if the pull request touches them. Old packages need a scheduled scan of the whole branch.

Does the check see transitive dependencies?

GitHub's dependency review includes indirect dependencies when they appear in a lock file change. Without a lock file, you see far less.

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.