Safeguard
Developer Tools•

What should a pull request reviewer check in a dependency change?

A seven item checklist for reviewing the dependency changes in a pull request: purpose, maintainer, scope, license, advisories, size and the lockfile.

Safeguard Security Team
4 min read

A reviewer should confirm why each new dependency is needed, who maintains it, its scope, its license, any known advisories, how many transitive packages it brings, and that the lockfile matches the manifest. Seven questions, most answered in a few minutes from the dependency diff.

Where the data comes from

GitHub's dependency review shows added, removed and updated dependencies on a pull request, with release dates, usage counts, and for lock files the indirect dependencies too. It also reports known vulnerabilities in added or updated packages. The dependency review action can fail a check on severity, license lists or denied packages. Use those results as the starting point, then add human judgement.

The checklist

  1. Purpose. Does the description say why this package is needed? Could the standard library or an existing dependency do it?
  2. Maintainer and activity. Who publishes it, when was the last release, is anyone responding to issues? Abandoned packages become tomorrow's problem.
  3. Scope. Is it a runtime or development dependency? A tool added to the runtime list ships to production.
  4. License. Is it on the approved list? A copyleft license can bring obligations for how you distribute.
  5. Known advisories. Does the check show vulnerabilities? If so, is there a fixed version, and is the vulnerable code reachable?
  6. Size of the change. How many transitive packages come with it? A small library that pulls in dozens deserves a second look.
  7. Lockfile integrity. Does the lockfile diff match the manifest change, and are the integrity values present?

A table for quick decisions

FindingReviewer action
No stated purposeAsk before approving
Unknown or new publisherCheck registry history, ask the author
Runtime scope for a dev toolRequest a move to development scope
License off listBlock until legal or the policy owner agrees
Serious advisory with a fixRequest the fixed version
Large transitive treeAsk whether a lighter option exists
Lockfile unchanged but manifest changedRequest regeneration

Keep the review proportionate

Version bumps of existing packages by a bot, with passing checks and a clean diff, need a light touch. New direct dependencies need the full list. Do not apply the full checklist to everything, or reviewers will stop doing it.

Write it into the template

Put the seven questions in the pull request template as checkboxes that apply only when the diff touches dependency files. Link to your approved license list and your exception process. People follow what is in front of them.

Know what review cannot do

A reviewer cannot read the whole source of every dependency. The checklist reduces risk, it does not remove it. Pair it with automated scanning and runtime controls.

Safeguard offers dependency scanning with gates and policies that can run on pull requests, and reachability analysis to rank findings. See your own project on the free scan.

Try it yourself

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

Notice which pull request checks run before a human sees the change.

Quick check

Do bot generated update pull requests need the full checklist?

Usually not. Review them lightly when checks pass, and apply the full list to new direct dependencies.

Where should the checklist live?

In the pull request template, shown when dependency files change.

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.