@js-eyes/protocol
Shared protocol constants for JS Eyes runtime packages
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 |
|---|---|---|---|---|
| semgrep | semgrep:env-spread | AI (semgrep): process.env spread is used to pass environment to a subprocess with a single override — standard subprocess launcher pattern. | ai | |
| semgrep | semgrep:child-process-import | AI (semgrep): Used in safe-npm.js with an explicit ALLOWED_SUBCOMMANDS allowlist; intentional sandboxed npm wrapper. | ai | |
| semgrep | semgrep:dynamic-require | AI (semgrep): Plugin/skill loader pattern in skills.js; consistent with package's documented purpose. | ai |
Versions (showing 8 of 8)
| Version | Deps | Published |
|---|---|---|
| 2.8.2 | 0 / 0 | |
| 2.8.1 | 0 / 0 | |
| 2.7.0 | 0 / 0 | |
| 2.6.2 | 0 / 0 | |
| 2.6.1 | 0 / 0 | |
| 2.6.0 | 0 / 0 | |
| 2.5.0 | 0 / 0 | |
| 2.4.0 | 0 / 0 |
v2.8.2
1 findingPackage was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v2.8.1
1 findingPackage was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v2.7.0
1 findingPackage was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v2.6.2
1 findingPackage was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v2.6.1
2 findingsSpreading entire process.env into an object — may capture all secrets Source: https://github.com/imjszhang/JS-Eyes/blob/bcd6fd047cad9e30d20b219636ec0765995020c2/skills.js#L540 538 | stdio: options.stdio || 'pipe', 539 | windowsHide: true, > 540 | env: { ...process.env, npm_config_ignore_scripts: options.allowPostinstall ? 'false' : 'true' }, 541 | }); 542 |
Package was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v2.6.0
2 findingsSpreading entire process.env into an object — may capture all secrets Source: https://github.com/imjszhang/JS-Eyes/blob/f41655340edb4f2fc9580f0074de2f0b3e738c93/skills.js#L540 538 | stdio: options.stdio || 'pipe', 539 | windowsHide: true, > 540 | env: { ...process.env, npm_config_ignore_scripts: options.allowPostinstall ? 'false' : 'true' }, 541 | }); 542 |
Package was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v2.5.0
2 findingsSpreading entire process.env into an object — may capture all secrets Source: https://github.com/imjszhang/JS-Eyes/blob/cd1ff2da698160f2c15769bc9ad75b77542c3927/skills.js#L540 538 | stdio: options.stdio || 'pipe', 539 | windowsHide: true, > 540 | env: { ...process.env, npm_config_ignore_scripts: options.allowPostinstall ? 'false' : 'true' }, 541 | }); 542 |
Package was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v2.4.0
2 findingsSpreading entire process.env into an object — may capture all secrets Source: https://github.com/imjszhang/JS-Eyes/blob/6e71997e1c84bdef036800b171ae71439bdaf0f0/skills.js#L300 298 | stdio: options.stdio || 'pipe', 299 | windowsHide: true, > 300 | env: { ...process.env, npm_config_ignore_scripts: options.allowPostinstall ? 'false' : 'true' }, 301 | }); 302 |
Package was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.