hardhat
Supply chain provenance
Status for the latest visible version.
Maintainers
Keywords
Accepted risks
Findings the reviewer chose to accept rather than block on.
| Source | Rule | Reason | Accepted by | When |
|---|---|---|---|---|
| provenance | slsa-provenance | AI (provenance): Hardhat publishes via GitHub Actions CI with SLSA attestation; this is the expected publish pattern going forward. | ai | |
| phantom-deps | phantom-dep:mnemonist | AI (phantom-deps): mnemonist is listed as a runtime dep in package.json; phantom-dep heuristic false positive. | ai | |
| provenance | publisher-changed | AI (provenance): Hardhat v3 is published via GitHub Actions CI with SLSA attestation; automated publisher is expected for this org. | ai | |
| semgrep | semgrep:child-process-import | AI (semgrep): Hardhat legitimately uses child_process for running scripts, compilers, and VS Code extension management — core features. | ai | |
| semgrep | semgrep:hex-decode | AI (semgrep): Hex decoding of Solidity function selectors is core EVM/compiler functionality for stack trace analysis. | ai | |
| semgrep | semgrep:api-obfuscation-reflect | AI (semgrep): Reflect.get() is used inside a Proxy for deep-freezing user config objects — a legitimate JavaScript pattern, not obfuscation. | ai | |
| semgrep | semgrep:shady-links-raw-ip | AI (semgrep): 127.0.0.1:8545 is the default localhost RPC URL for Hardhat Network — expected and documented default configuration. | ai | |
| semgrep | semgrep:dynamic-require | AI (semgrep): Dynamic require is used to load user config files and plugins — a fundamental design feature of Hardhat's extensible config system. | ai | |
| semgrep | semgrep:silent-process-exec | AI (semgrep): Hardhat's analytics.ts spawns a detached Node.js subprocess to report telemetry consent — documented behavior, not a reverse shell or miner. | ai | |
| semgrep | semgrep:silent-process-exec-var | AI (semgrep): Same telemetry consent subprocess as silent-process-exec; legitimate documented Hardhat analytics behavior. | ai | |
| semgrep | semgrep:env-spread | AI (semgrep): process.env spread is used to pass environment to a local Sentry reporter subprocess — standard child process pattern, not exfiltration. Stable for this package. | ai |
Versions (showing 44 of 44)
| Version | Deps | Published |
|---|---|---|
| 3.11.0 | 18 / 12 | |
| 3.10.0 | 18 / 12 | |
| 3.9.1 | 18 / 12 | |
| 3.9.0 | 18 / 12 | |
| 3.8.0 | 18 / 12 | |
| 3.7.0 | 18 / 12 | |
| 3.6.0 | 18 / 12 | |
| 3.5.1 | 18 / 12 | |
| 3.5.0 | 18 / 12 | |
| 3.4.5 | 18 / 12 | |
| 3.4.4 | 18 / 12 | |
| 3.4.3 | 18 / 12 | |
| 3.4.2 | 20 / 13 | |
| 3.4.1 | 20 / 13 | |
| 3.4.0 | 20 / 13 | |
| 3.3.0 | 20 / 13 | |
| 3.2.0 | 20 / 13 | |
| 3.1.12 | 20 / 13 | |
| 3.1.11 | 20 / 13 | |
| 3.1.10 | 20 / 13 | |
| 3.1.9 | 20 / 13 | |
| 3.1.8 | 20 / 13 | |
| 3.1.7 | 20 / 13 | |
| 3.1.6 | 20 / 13 | |
| 3.1.5 | 20 / 13 | |
| 3.1.4 | 20 / 13 | |
| 3.1.1 | 19 / 13 | |
| 3.0.11 | 19 / 13 | |
| 3.0.9 | 19 / 13 | |
| 3.0.8 | 19 / 13 | |
| 3.0.7 | 19 / 13 | |
| 3.0.6 | 18 / 13 | |
| 3.0.5 | 18 / 13 | |
| 3.0.4 | 18 / 13 | |
| 3.0.3 | 18 / 13 | |
| 3.0.2 | 18 / 13 | |
| 3.0.1 | 18 / 13 | |
| 3.0.0 | 18 / 13 | |
| 2.29.0 | 39 / 38 | |
| 2.28.6 | 39 / 38 | |
| 2.28.5 | 39 / 38 | |
| 2.28.4 | 39 / 38 | |
| 2.26.4 | 39 / 38 | |
| 2.20.1 | 50 / 40 |
v3.11.0
1 findingPublished via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v3.10.0
1 findingPublished via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v3.9.1
1 findingPublished via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v3.9.0
1 findingPublished via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v2.29.0
1 findingPublished via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.