Safeguard
Supply Chain•

Does npm provenance make an MCP server package safe to run?

No. npm provenance shows where a package was built and who published it, but npm says it does not guarantee the code is clean. How to use it as one signal.

Safeguard Security Team
3 min read

No. npm provenance links a published package to its source code and build, and records who published it. npm's own documentation says this does not guarantee the package has no malicious code. Treat provenance as one useful signal when you vet an MCP server, then still review, scan and sandbox it.

What provenance is

npm describes two attestations. A provenance attestation is supplied by the publisher and connects the package to its source repository and build instructions. A publish attestation is generated by the registry when an authorized user publishes, signed with Sigstore and recorded in a public transparency ledger.

For an MCP server shipped as an npm package, this answers a narrow question: was this tarball built from the repository it claims, by the account that claims it?

What it proves and what it does not

QuestionProvenance helps?
Was the package built from the named repositoryYes
Who published itYes
Is the source code free of malicious logicNo
Are its dependencies safeNo
Will the next release behave the sameNo
Does the tool list match what you approvedNo

A malicious maintainer can publish a package with perfectly valid provenance. The attestation proves the origin, not the intent.

How to check it

  1. Run npm audit signatures in the project. It reports how many packages have verified registry signatures and verified attestations.
  2. Note any package that has no attestation and decide whether you accept that.
  3. Keep the npm client current, since npm warns that the attestation format may change.
  4. Compare the source repository named in the attestation with the one the server vendor documents.

What to add on top

Provenance belongs in a short checklist, not in place of one.

  1. Pin the exact version and review changes before you upgrade.
  2. Inventory the transitive dependencies of the server and scan them for known vulnerabilities.
  3. Read the install scripts and the startup command before you run them.
  4. Run the server in a sandbox with narrow credentials.
  5. Watch for the tool list changing after an update.

A note on npx

Many MCP servers are launched with a command that downloads and runs the latest package. That makes every launch a fresh trust decision. Pinning a version, or installing once and reviewing, turns it into a decision you make on purpose.

Safeguard includes SBOM and dependency scanning for the packages behind your tools, with a free scan at https://gold.safeguard.sh/scan.

Try it yourself

Open the dependency inventory and expand a package to see its transitive dependencies, which provenance on the top package does not cover.

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

Quick check

Does a package without provenance mean it is malicious?

No. Many safe packages have no attestation. It means one verification option is missing, so you rely more on review and scanning.

Does provenance cover dependencies?

The attestation is about the package you installed. You still need to scan the dependency tree separately.

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.