@truffle/environment
This package contains the code needed to determine environment-specific data
Supply chain provenance
Status for the latest visible version.
Without SLSA provenance there is no cryptographic link between this tarball and the public source — the axios compromise (March 2026) relied on exactly this gap.
Maintainers
Accepted risks
Findings the reviewer chose to accept rather than block on.
| Source | Rule | Reason | Accepted by | When |
|---|---|---|---|---|
| semgrep | semgrep:silent-process-exec | AI (semgrep): Detached node spawn is Truffle's documented pattern for launching a background ganache chain process. | ai | |
| semgrep | semgrep:silent-process-exec-var | AI (semgrep): Same detached node spawn; stable false positive for this package. | ai | |
| semgrep | semgrep:base64-decode | AI (semgrep): Base64 used to pass serialized options to child process — not obfuscation, documented IPC pattern. | ai | |
| semgrep | semgrep:child-process-import | AI (semgrep): child_process used solely to spawn ganache node subprocess; expected for this package. | ai | |
| phantom-deps | phantom-dep:@truffle/config | AI (phantom-deps): Same-org sibling dep; phantom-dep heuristic unreliable for monorepo packages. | ai |
Versions (showing 1 of 1)
| Version | Deps | Published |
|---|---|---|
| 0.2.160 | 12 / 2 |
v0.2.160
3 findingsSilent detached process — runs invisibly in the background (reverse shells, miners) Source: https://github.com/trufflesuite/truffle/blob/a26df1ff53c01e6d82ad490338850360f6f970a9/develop.js#L38 36 | const base64OptionsString = optionsBuffer.toString("base64"); 37 | > 38 | return spawn("node", [chainPath, ipcNetwork, base64OptionsString], { 39 | detached: true, 40 | stdio: "ignore"
Silent detached process — runs invisibly in the background (reverse shells, miners) Source: https://github.com/trufflesuite/truffle/blob/a26df1ff53c01e6d82ad490338850360f6f970a9/develop.js#L38 36 | const base64OptionsString = optionsBuffer.toString("base64"); 37 | > 38 | return spawn("node", [chainPath, ipcNetwork, base64OptionsString], { 39 | detached: true, 40 | stdio: "ignore"
Package was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.