@progress/roadkill
> WebDriver for the Masses
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 |
|---|---|---|---|---|
| semgrep | semgrep:env-spread | AI (semgrep): Spreading process.env to pass environment to a child process with a modified PATH is standard practice for a chromedriver launcher. | ai | |
| phantom-deps | phantom-dep:@types/decompress | AI (phantom-deps): @types/decompress is a type declaration package; not directly imported at runtime, stable false positive for this package. | ai |
v0.3.1
3 findingsSpreading entire process.env into an object — may capture all secrets Source: https://github.com/telerik/roadkill/blob/e89cbefb87614f28467bc811cf89c37b3482c5e4/chromedriver.js#L19 17 | const options = { shell }; 18 | if (this.options?.path) { > 19 | options.env = { ...process.env, PATH: this.options.path + delimiter + process.env.PATH }; 20 | } 21 | return spawn(executable, args, options);
Spreading entire process.env into an object — may capture all secrets Source: https://github.com/telerik/roadkill/blob/e89cbefb87614f28467bc811cf89c37b3482c5e4/express.js#L11 9 | spawn() { 10 | const { cwd = process.cwd(), env, pathPrepend = [], port = 3000, command, args, } = this.options; > 11 | const childEnv = { 12 | ...process.env, 13 | ...env,
Published via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v0.3.0
3 findingsSpreading entire process.env into an object — may capture all secrets Source: https://github.com/telerik/roadkill/blob/90dd7ff51138237b2fe83cfa9b6f746a08d35896/chromedriver.js#L19 17 | const options = { shell }; 18 | if (this.options?.path) { > 19 | options.env = { ...process.env, PATH: this.options.path + delimiter + process.env.PATH }; 20 | } 21 | return spawn(executable, args, options);
Spreading entire process.env into an object — may capture all secrets Source: https://github.com/telerik/roadkill/blob/90dd7ff51138237b2fe83cfa9b6f746a08d35896/express.js#L11 9 | spawn() { 10 | const { cwd = process.cwd(), env, pathPrepend = [], port = 3000, command, args, } = this.options; > 11 | const childEnv = { 12 | ...process.env, 13 | ...env,
Package was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v0.2.4
3 findingsSpreading entire process.env into an object — may capture all secrets Source: https://github.com/telerik/roadkill/blob/c96697954fc5e712ceaed1d9bd06020c4207fee5/chromedriver.js#L19 17 | const options = { shell }; 18 | if (this.options?.path) { > 19 | options.env = { ...process.env, PATH: this.options.path + delimiter + process.env.PATH }; 20 | } 21 | return spawn(executable, args, options);
Spreading entire process.env into an object — may capture all secrets Source: https://github.com/telerik/roadkill/blob/c96697954fc5e712ceaed1d9bd06020c4207fee5/chromedriver.ts#L67 65 | 66 | if (this.options?.path) { > 67 | options.env = { ...process.env, PATH: this.options.path + delimiter + process.env.PATH }; 68 | } 69 |
Package was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.