@gjsify/cli
CLI for Gjsify
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
Keywords
Accepted risks
Findings the reviewer chose to accept rather than block on.
| Source | Rule | Reason | Accepted by | When |
|---|---|---|---|---|
| typosquat | typosquat.levenshtein:joi | AI (typosquat): Scoped package @gjsify/cli; Levenshtein match to 'joi' is a false positive with no brand confusion. | ai | |
| semgrep | semgrep:env-spread | AI (semgrep): env-spread in a subprocess launcher (runGjsBundle) is expected; passes env to child process, not exfiltrating. | ai | |
| phantom-deps | phantom-dep:@gjsify/resolve-npm | AI (phantom-deps): Same-org dep; may be used transitively or conditionally — stable false positive for this package. | ai | |
| phantom-deps | phantom-dep:@gjsify/web-polyfills | AI (phantom-deps): Same-org dep; polyfill likely injected at build/bundle time rather than directly imported. | ai | |
| phantom-deps | phantom-dep:@gjsify/node-polyfills | AI (phantom-deps): Same-org dep; polyfill likely injected at build/bundle time rather than directly imported. | ai |
Versions (showing 11 of 11)
| Version | Deps | Published |
|---|---|---|
| 0.3.21 | 14 / 2 | |
| 0.3.20 | 14 / 2 | |
| 0.3.6 | 10 / 2 | |
| 0.1.7 | 54 / 2 | |
| 0.1.6 | 54 / 2 | |
| 0.1.5 | 54 / 2 | |
| 0.1.4 | 54 / 2 | |
| 0.1.3 | 54 / 2 | |
| 0.1.2 | 8 / 2 | |
| 0.1.1 | 6 / 2 | |
| 0.1.0 | 6 / 2 |
v0.3.21
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.3.20
3 findingsSpreading entire process.env into an object — may capture all secrets 49 | export async function runGjsBundle(bundlePath, extraArgs = []) { 50 | const { env: nativeEnv, envPrefix } = computeNativeEnvForBundle(bundlePath); > 51 | const env = { 52 | ...process.env, 53 | ...nativeEnv,
Spreading entire process.env into an object — may capture all secrets 60 | const { env: nativeEnv, envPrefix } = computeNativeEnvForBundle(bundlePath); 61 | > 62 | const env = { 63 | ...process.env, 64 | ...nativeEnv,
Package was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v0.3.6
3 findingsSpreading entire process.env into an object — may capture all secrets 25 | ]; 26 | const nativeEnv = buildNativeEnv(nativePackages); > 27 | const env = { 28 | ...process.env, 29 | ...nativeEnv,
Spreading entire process.env into an object — may capture all secrets 31 | const nativeEnv = buildNativeEnv(nativePackages); 32 | > 33 | const env = { 34 | ...process.env, 35 | ...nativeEnv,
Package was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v0.1.7
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.1.6
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.1.5
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.1.4
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.1.3
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.1.2
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.1.1
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.1.0
1 findingPackage was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.