@botonic/nx-plugin
Nx plugin for creating Botonic bot applications
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:child-process-import | AI (semgrep): Nx executor plugin legitimately uses child_process to run build/test CLI commands; stable pattern for this package. | ai | |
| semgrep | semgrep:env-spread | AI (semgrep): Spreading process.env to pass environment to child processes is standard executor behavior; not exfiltration. | ai | |
| phantom-deps | phantom-dep:@nx/js | AI (phantom-deps): Nx plugins reference peer/config deps without direct imports; stable false positive for this package type. | ai | |
| phantom-deps | phantom-dep:@nx/react | AI (phantom-deps): Same as @nx/js — config-level reference, not a direct import; expected for Nx plugin packages. | ai |
v2.27.0
4 findingsSpreading entire process.env into an object — may capture all secrets 103 | try { 104 | (0, import_child_process.execSync)(`npx playwright test --config="${customConfigPath}"`, { > 105 | env: { ...process.env, WEBCHAT_URL: snapshotUrl }, 106 | stdio: "inherit", 107 | cwd: context.root
Spreading entire process.env into an object — may capture all secrets 122 | try { 123 | (0, import_child_process.execSync)(`npx playwright test --config="${e2eConfigPath}"`, { > 124 | env: { ...process.env, WEBCHAT_URL: snapshotUrl }, 125 | stdio: "inherit", 126 | cwd: context.root
Spreading entire process.env into an object — may capture all secrets 158 | cwd, 159 | stdio: ["ignore", "pipe", "pipe"], > 160 | env: { ...process.env, FORCE_COLOR: "1" } 161 | }); 162 | prefixOutput(child.stdout, name, color);
Package was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v2.24.0
4 findingsSpreading entire process.env into an object — may capture all secrets 103 | try { 104 | (0, import_child_process.execSync)(`npx playwright test --config="${customConfigPath}"`, { > 105 | env: { ...process.env, WEBCHAT_URL: snapshotUrl }, 106 | stdio: "inherit", 107 | cwd: context.root
Spreading entire process.env into an object — may capture all secrets 122 | try { 123 | (0, import_child_process.execSync)(`npx playwright test --config="${e2eConfigPath}"`, { > 124 | env: { ...process.env, WEBCHAT_URL: snapshotUrl }, 125 | stdio: "inherit", 126 | cwd: context.root
Spreading entire process.env into an object — may capture all secrets 87 | cwd, 88 | stdio: ["ignore", "pipe", "pipe"], > 89 | env: { ...process.env, FORCE_COLOR: "1" } 90 | }); 91 | prefixOutput(child.stdout, name, color);
Package was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.