@openzeppelin/hardhat-upgrades
2
Versions
—
License
No
Install Scripts
Verified
Provenance
Supply chain provenance
Status for the latest visible version.
SLSA provenance attestation
npm registry signatures
gitHead linked
Maintainers
ernestognwfrangioamxxericglauarr00luiz-lvjson-oz
Accepted risks
Findings the reviewer chose to accept rather than block on.
| Source | Rule | Reason | Accepted by | When |
|---|---|---|---|---|
| provenance | publisher-changed | AI (provenance): OpenZeppelin migrated to GitHub Actions CI publishing with SLSA provenance; this is a legitimate org-level change. | ai | |
| semgrep | semgrep:api-obfuscation-reflect | AI (semgrep): Reflect.get() used in a Proxy trap for method binding, not obfuscation; stable pattern in this codebase. | ai | |
| phantom-deps | phantom-dep:undici | AI (phantom-deps): undici is a declared runtime dependency in package.json; phantom-dep false positive. | ai | |
| dependencies | unvetted-dep:@openzeppelin/defender-sdk-base-client | AI (dependencies): First-party OpenZeppelin Defender SDK package; expected dependency for Defender integration features. | ai | |
| semgrep | semgrep:dynamic-require | AI (semgrep): The dynamic require is used in a tryRequire helper to probe for optional peer dependencies — a standard, benign plugin pattern with no arbitrary code execution risk. | ai | |
| dependencies | unvetted-dep:@openzeppelin/defender-sdk-network-client | AI (dependencies): First-party OpenZeppelin Defender SDK package; expected dependency for Defender network features. | ai | |
| dependencies | unvetted-dep:@openzeppelin/defender-sdk-deploy-client | AI (dependencies): First-party OpenZeppelin Defender SDK package; expected dependency for Defender deployment features. | ai | |
| dependencies | unvetted-dep:ethereumjs-util | AI (dependencies): ethereumjs-util is a well-known Ethereum ecosystem utility library; expected dependency for this plugin. | ai | |
| dependencies | unvetted-dep:@openzeppelin/upgrades-core | AI (dependencies): First-party OpenZeppelin package; core dependency of this official OpenZeppelin plugin. | ai |
v4.0.0
2 findings
HIGH
Publisher changed: ericglau → GitHub Actions (on 2026-06-01)
provenance
This version was published by a different npm account than previous versions on 2026-06-01. This could indicate a legitimate maintainer transition or an account compromise.
INFO
Has SLSA provenance attestation
provenance
Published via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v3.9.1
1 finding
LOW
No provenance attestation
provenance
Package was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.