@openzeppelin/hardhat-upgrades
Supply chain provenance
Status for the latest visible version.
Maintainers
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 |
Versions (showing 4 of 4)
| Version | Deps | Published |
|---|---|---|
| 4.0.2 | 9 / 15 | |
| 4.0.1 | 9 / 15 | |
| 4.0.0 | 9 / 15 | |
| 3.9.1 | 9 / 12 |
v4.0.2
1 findingPublished via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v4.0.1
1 findingPublished via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v4.0.0
2 findingsThis 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.
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 findingPackage was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.