@blackbelt-technology/pi-dashboard-shared
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): Fires only in test files passing env to execFileSync subprocess; not a secret-leaking pattern in this context. | ai | |
| semgrep | semgrep:shady-links-raw-ip | AI (semgrep): Raw IP is a hardcoded local network test fixture (192.168.1.10), not a real exfiltration endpoint. | ai |
Versions (showing 12 of 12)
| Version | Deps | Published |
|---|---|---|
| 0.5.4 | 1 / 1 | |
| 0.5.3 | 1 / 1 | |
| 0.5.2 | 1 / 1 | |
| 0.5.1 | 1 / 1 | |
| 0.5.0 | 1 / 1 | |
| 0.4.6 | 1 / 1 | |
| 0.4.5 | 1 / 1 | |
| 0.4.4 | 1 / 1 | |
| 0.4.3 | 1 / 1 | |
| 0.4.2 | 1 / 1 | |
| 0.4.1 | 1 / 1 | |
| 0.3.0 | 0 / 1 |
v0.5.4
1 findingPublished via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v0.5.3
1 findingPublished via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v0.5.2
1 findingPublished via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v0.5.1
6 findingsSpreading entire process.env into an object — may capture all secrets Source: https://github.com/BlackBeltTechnology/pi-agent-dashboard/blob/99d8a74e59a33393fb4830b659c65badad3375fc/src/__tests__/openspec-effective-status-script.test.ts#L51 49 | const out = execFileSync("bash", [SCRIPT_PATH, changeName], { 50 | cwd: root, > 51 | env: { ...process.env, PATH: `${binDir}:${process.env.PATH ?? ""}` }, 52 | encoding: "utf8", 53 | });
Spreading entire process.env into an object — may capture all secrets Source: https://github.com/BlackBeltTechnology/pi-agent-dashboard/blob/99d8a74e59a33393fb4830b659c65badad3375fc/src/__tests__/resolve-tool-cli.test.ts#L31 29 | encoding: "utf8", 30 | // Isolate from any user override file so tests are deterministic. > 31 | env: { 32 | ...process.env, 33 | // Point HOME at /tmp so ~/.pi/dashboard/tool-overrides.json is
Spreading entire process.env into an object — may capture all secrets Source: https://github.com/BlackBeltTechnology/pi-agent-dashboard/blob/99d8a74e59a33393fb4830b659c65badad3375fc/src/bootstrap-install.ts#L186 184 | 185 | const argvBase = resolveNpmArgv(opts); > 186 | const env = { ...process.env, ...(opts.env ?? {}) }; 187 | 188 | const installed: string[] = [];
Spreading entire process.env into an object — may capture all secrets Source: https://github.com/BlackBeltTechnology/pi-agent-dashboard/blob/99d8a74e59a33393fb4830b659c65badad3375fc/src/platform/runner.ts#L223 221 | const result = spawnSync(safeArgv[0], safeArgv.slice(1), { 222 | cwd: ctx.cwd, > 223 | env: ctx.env ? { ...process.env, ...ctx.env } : undefined, 224 | encoding: "utf-8", 225 | timeout,
Spreading entire process.env into an object — may capture all secrets Source: https://github.com/BlackBeltTechnology/pi-agent-dashboard/blob/99d8a74e59a33393fb4830b659c65badad3375fc/src/platform/runner.ts#L318 316 | child = spawn(safeArgv[0], safeArgv.slice(1), { 317 | cwd: ctx.cwd, > 318 | env: ctx.env ? { ...process.env, ...ctx.env } : undefined, 319 | stdio: ["ignore", "pipe", "pipe"], 320 | ...spawnOptions, // shell: false, windowsHide: true
Published via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v0.5.0
6 findingsSpreading entire process.env into an object — may capture all secrets Source: https://github.com/BlackBeltTechnology/pi-agent-dashboard/blob/cca7c539436760ebb3beec3e319c75d87fc827db/src/__tests__/openspec-effective-status-script.test.ts#L51 49 | const out = execFileSync("bash", [SCRIPT_PATH, changeName], { 50 | cwd: root, > 51 | env: { ...process.env, PATH: `${binDir}:${process.env.PATH ?? ""}` }, 52 | encoding: "utf8", 53 | });
Spreading entire process.env into an object — may capture all secrets Source: https://github.com/BlackBeltTechnology/pi-agent-dashboard/blob/cca7c539436760ebb3beec3e319c75d87fc827db/src/__tests__/resolve-tool-cli.test.ts#L31 29 | encoding: "utf8", 30 | // Isolate from any user override file so tests are deterministic. > 31 | env: { 32 | ...process.env, 33 | // Point HOME at /tmp so ~/.pi/dashboard/tool-overrides.json is
Spreading entire process.env into an object — may capture all secrets Source: https://github.com/BlackBeltTechnology/pi-agent-dashboard/blob/cca7c539436760ebb3beec3e319c75d87fc827db/src/bootstrap-install.ts#L186 184 | 185 | const argvBase = resolveNpmArgv(opts); > 186 | const env = { ...process.env, ...(opts.env ?? {}) }; 187 | 188 | const installed: string[] = [];
Spreading entire process.env into an object — may capture all secrets Source: https://github.com/BlackBeltTechnology/pi-agent-dashboard/blob/cca7c539436760ebb3beec3e319c75d87fc827db/src/platform/runner.ts#L223 221 | const result = spawnSync(safeArgv[0], safeArgv.slice(1), { 222 | cwd: ctx.cwd, > 223 | env: ctx.env ? { ...process.env, ...ctx.env } : undefined, 224 | encoding: "utf-8", 225 | timeout,
Spreading entire process.env into an object — may capture all secrets Source: https://github.com/BlackBeltTechnology/pi-agent-dashboard/blob/cca7c539436760ebb3beec3e319c75d87fc827db/src/platform/runner.ts#L318 316 | child = spawn(safeArgv[0], safeArgv.slice(1), { 317 | cwd: ctx.cwd, > 318 | env: ctx.env ? { ...process.env, ...ctx.env } : undefined, 319 | stdio: ["ignore", "pipe", "pipe"], 320 | ...spawnOptions, // shell: false, windowsHide: true
Published via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v0.4.6
6 findingsSpreading entire process.env into an object — may capture all secrets Source: https://github.com/BlackBeltTechnology/pi-agent-dashboard/blob/0dd9bba1feb5482240c74e8a1a26471dda831109/src/__tests__/openspec-effective-status-script.test.ts#L51 49 | const out = execFileSync("bash", [SCRIPT_PATH, changeName], { 50 | cwd: root, > 51 | env: { ...process.env, PATH: `${binDir}:${process.env.PATH ?? ""}` }, 52 | encoding: "utf8", 53 | });
Spreading entire process.env into an object — may capture all secrets Source: https://github.com/BlackBeltTechnology/pi-agent-dashboard/blob/0dd9bba1feb5482240c74e8a1a26471dda831109/src/__tests__/resolve-tool-cli.test.ts#L31 29 | encoding: "utf8", 30 | // Isolate from any user override file so tests are deterministic. > 31 | env: { 32 | ...process.env, 33 | // Point HOME at /tmp so ~/.pi/dashboard/tool-overrides.json is
Spreading entire process.env into an object — may capture all secrets Source: https://github.com/BlackBeltTechnology/pi-agent-dashboard/blob/0dd9bba1feb5482240c74e8a1a26471dda831109/src/bootstrap-install.ts#L179 177 | 178 | const argvBase = resolveNpmArgv(opts); > 179 | const env = { ...process.env, ...(opts.env ?? {}) }; 180 | 181 | const installed: string[] = [];
Spreading entire process.env into an object — may capture all secrets Source: https://github.com/BlackBeltTechnology/pi-agent-dashboard/blob/0dd9bba1feb5482240c74e8a1a26471dda831109/src/platform/runner.ts#L223 221 | const result = spawnSync(safeArgv[0], safeArgv.slice(1), { 222 | cwd: ctx.cwd, > 223 | env: ctx.env ? { ...process.env, ...ctx.env } : undefined, 224 | encoding: "utf-8", 225 | timeout,
Spreading entire process.env into an object — may capture all secrets Source: https://github.com/BlackBeltTechnology/pi-agent-dashboard/blob/0dd9bba1feb5482240c74e8a1a26471dda831109/src/platform/runner.ts#L318 316 | child = spawn(safeArgv[0], safeArgv.slice(1), { 317 | cwd: ctx.cwd, > 318 | env: ctx.env ? { ...process.env, ...ctx.env } : undefined, 319 | stdio: ["ignore", "pipe", "pipe"], 320 | ...spawnOptions, // shell: false, windowsHide: true
Published via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v0.4.5
6 findingsSpreading entire process.env into an object — may capture all secrets Source: https://github.com/BlackBeltTechnology/pi-agent-dashboard/blob/c048dc6fa6a452b1003e30266533b50afed08382/src/__tests__/openspec-effective-status-script.test.ts#L51 49 | const out = execFileSync("bash", [SCRIPT_PATH, changeName], { 50 | cwd: root, > 51 | env: { ...process.env, PATH: `${binDir}:${process.env.PATH ?? ""}` }, 52 | encoding: "utf8", 53 | });
Spreading entire process.env into an object — may capture all secrets Source: https://github.com/BlackBeltTechnology/pi-agent-dashboard/blob/c048dc6fa6a452b1003e30266533b50afed08382/src/__tests__/resolve-tool-cli.test.ts#L31 29 | encoding: "utf8", 30 | // Isolate from any user override file so tests are deterministic. > 31 | env: { 32 | ...process.env, 33 | // Point HOME at /tmp so ~/.pi/dashboard/tool-overrides.json is
Spreading entire process.env into an object — may capture all secrets Source: https://github.com/BlackBeltTechnology/pi-agent-dashboard/blob/c048dc6fa6a452b1003e30266533b50afed08382/src/bootstrap-install.ts#L179 177 | 178 | const argvBase = resolveNpmArgv(opts); > 179 | const env = { ...process.env, ...(opts.env ?? {}) }; 180 | 181 | const installed: string[] = [];
Spreading entire process.env into an object — may capture all secrets Source: https://github.com/BlackBeltTechnology/pi-agent-dashboard/blob/c048dc6fa6a452b1003e30266533b50afed08382/src/platform/runner.ts#L223 221 | const result = spawnSync(safeArgv[0], safeArgv.slice(1), { 222 | cwd: ctx.cwd, > 223 | env: ctx.env ? { ...process.env, ...ctx.env } : undefined, 224 | encoding: "utf-8", 225 | timeout,
Spreading entire process.env into an object — may capture all secrets Source: https://github.com/BlackBeltTechnology/pi-agent-dashboard/blob/c048dc6fa6a452b1003e30266533b50afed08382/src/platform/runner.ts#L318 316 | child = spawn(safeArgv[0], safeArgv.slice(1), { 317 | cwd: ctx.cwd, > 318 | env: ctx.env ? { ...process.env, ...ctx.env } : undefined, 319 | stdio: ["ignore", "pipe", "pipe"], 320 | ...spawnOptions, // shell: false, windowsHide: true
Published via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v0.4.4
6 findingsSpreading entire process.env into an object — may capture all secrets Source: https://github.com/BlackBeltTechnology/pi-agent-dashboard/blob/fe98777dc15a361527ccbd8affd384f083f52dc7/src/__tests__/openspec-effective-status-script.test.ts#L51 49 | const out = execFileSync("bash", [SCRIPT_PATH, changeName], { 50 | cwd: root, > 51 | env: { ...process.env, PATH: `${binDir}:${process.env.PATH ?? ""}` }, 52 | encoding: "utf8", 53 | });
Spreading entire process.env into an object — may capture all secrets Source: https://github.com/BlackBeltTechnology/pi-agent-dashboard/blob/fe98777dc15a361527ccbd8affd384f083f52dc7/src/__tests__/resolve-tool-cli.test.ts#L31 29 | encoding: "utf8", 30 | // Isolate from any user override file so tests are deterministic. > 31 | env: { 32 | ...process.env, 33 | // Point HOME at /tmp so ~/.pi/dashboard/tool-overrides.json is
Spreading entire process.env into an object — may capture all secrets Source: https://github.com/BlackBeltTechnology/pi-agent-dashboard/blob/fe98777dc15a361527ccbd8affd384f083f52dc7/src/bootstrap-install.ts#L179 177 | 178 | const argvBase = resolveNpmArgv(opts); > 179 | const env = { ...process.env, ...(opts.env ?? {}) }; 180 | 181 | const installed: string[] = [];
Spreading entire process.env into an object — may capture all secrets Source: https://github.com/BlackBeltTechnology/pi-agent-dashboard/blob/fe98777dc15a361527ccbd8affd384f083f52dc7/src/platform/runner.ts#L223 221 | const result = spawnSync(safeArgv[0], safeArgv.slice(1), { 222 | cwd: ctx.cwd, > 223 | env: ctx.env ? { ...process.env, ...ctx.env } : undefined, 224 | encoding: "utf-8", 225 | timeout,
Spreading entire process.env into an object — may capture all secrets Source: https://github.com/BlackBeltTechnology/pi-agent-dashboard/blob/fe98777dc15a361527ccbd8affd384f083f52dc7/src/platform/runner.ts#L318 316 | child = spawn(safeArgv[0], safeArgv.slice(1), { 317 | cwd: ctx.cwd, > 318 | env: ctx.env ? { ...process.env, ...ctx.env } : undefined, 319 | stdio: ["ignore", "pipe", "pipe"], 320 | ...spawnOptions, // shell: false, windowsHide: true
Published via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v0.4.3
6 findingsSpreading entire process.env into an object — may capture all secrets Source: https://github.com/BlackBeltTechnology/pi-agent-dashboard/blob/52a4c85b74ec62f0af2635593cb4c0049d2b6308/src/__tests__/openspec-effective-status-script.test.ts#L51 49 | const out = execFileSync("bash", [SCRIPT_PATH, changeName], { 50 | cwd: root, > 51 | env: { ...process.env, PATH: `${binDir}:${process.env.PATH ?? ""}` }, 52 | encoding: "utf8", 53 | });
Spreading entire process.env into an object — may capture all secrets Source: https://github.com/BlackBeltTechnology/pi-agent-dashboard/blob/52a4c85b74ec62f0af2635593cb4c0049d2b6308/src/__tests__/resolve-tool-cli.test.ts#L31 29 | encoding: "utf8", 30 | // Isolate from any user override file so tests are deterministic. > 31 | env: { 32 | ...process.env, 33 | // Point HOME at /tmp so ~/.pi/dashboard/tool-overrides.json is
Spreading entire process.env into an object — may capture all secrets Source: https://github.com/BlackBeltTechnology/pi-agent-dashboard/blob/52a4c85b74ec62f0af2635593cb4c0049d2b6308/src/bootstrap-install.ts#L179 177 | 178 | const argvBase = resolveNpmArgv(opts); > 179 | const env = { ...process.env, ...(opts.env ?? {}) }; 180 | 181 | const installed: string[] = [];
Spreading entire process.env into an object — may capture all secrets Source: https://github.com/BlackBeltTechnology/pi-agent-dashboard/blob/52a4c85b74ec62f0af2635593cb4c0049d2b6308/src/platform/runner.ts#L223 221 | const result = spawnSync(safeArgv[0], safeArgv.slice(1), { 222 | cwd: ctx.cwd, > 223 | env: ctx.env ? { ...process.env, ...ctx.env } : undefined, 224 | encoding: "utf-8", 225 | timeout,
Spreading entire process.env into an object — may capture all secrets Source: https://github.com/BlackBeltTechnology/pi-agent-dashboard/blob/52a4c85b74ec62f0af2635593cb4c0049d2b6308/src/platform/runner.ts#L318 316 | child = spawn(safeArgv[0], safeArgv.slice(1), { 317 | cwd: ctx.cwd, > 318 | env: ctx.env ? { ...process.env, ...ctx.env } : undefined, 319 | stdio: ["ignore", "pipe", "pipe"], 320 | ...spawnOptions, // shell: false, windowsHide: true
Published via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v0.4.2
6 findingsSpreading entire process.env into an object — may capture all secrets Source: https://github.com/BlackBeltTechnology/pi-agent-dashboard/blob/22c4d977dd23ef0759b187087c548454d1349573/src/__tests__/openspec-effective-status-script.test.ts#L51 49 | const out = execFileSync("bash", [SCRIPT_PATH, changeName], { 50 | cwd: root, > 51 | env: { ...process.env, PATH: `${binDir}:${process.env.PATH ?? ""}` }, 52 | encoding: "utf8", 53 | });
Spreading entire process.env into an object — may capture all secrets Source: https://github.com/BlackBeltTechnology/pi-agent-dashboard/blob/22c4d977dd23ef0759b187087c548454d1349573/src/__tests__/resolve-tool-cli.test.ts#L31 29 | encoding: "utf8", 30 | // Isolate from any user override file so tests are deterministic. > 31 | env: { 32 | ...process.env, 33 | // Point HOME at /tmp so ~/.pi/dashboard/tool-overrides.json is
Spreading entire process.env into an object — may capture all secrets Source: https://github.com/BlackBeltTechnology/pi-agent-dashboard/blob/22c4d977dd23ef0759b187087c548454d1349573/src/bootstrap-install.ts#L179 177 | 178 | const argvBase = resolveNpmArgv(opts); > 179 | const env = { ...process.env, ...(opts.env ?? {}) }; 180 | 181 | const installed: string[] = [];
Spreading entire process.env into an object — may capture all secrets Source: https://github.com/BlackBeltTechnology/pi-agent-dashboard/blob/22c4d977dd23ef0759b187087c548454d1349573/src/platform/runner.ts#L223 221 | const result = spawnSync(safeArgv[0], safeArgv.slice(1), { 222 | cwd: ctx.cwd, > 223 | env: ctx.env ? { ...process.env, ...ctx.env } : undefined, 224 | encoding: "utf-8", 225 | timeout,
Spreading entire process.env into an object — may capture all secrets Source: https://github.com/BlackBeltTechnology/pi-agent-dashboard/blob/22c4d977dd23ef0759b187087c548454d1349573/src/platform/runner.ts#L318 316 | child = spawn(safeArgv[0], safeArgv.slice(1), { 317 | cwd: ctx.cwd, > 318 | env: ctx.env ? { ...process.env, ...ctx.env } : undefined, 319 | stdio: ["ignore", "pipe", "pipe"], 320 | ...spawnOptions, // shell: false, windowsHide: true
Published via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v0.4.1
6 findingsSpreading entire process.env into an object — may capture all secrets Source: https://github.com/BlackBeltTechnology/pi-agent-dashboard/blob/2728c316a2bf0710680cfb94faac5af7132ae7a1/src/__tests__/openspec-effective-status-script.test.ts#L51 49 | const out = execFileSync("bash", [SCRIPT_PATH, changeName], { 50 | cwd: root, > 51 | env: { ...process.env, PATH: `${binDir}:${process.env.PATH ?? ""}` }, 52 | encoding: "utf8", 53 | });
Spreading entire process.env into an object — may capture all secrets Source: https://github.com/BlackBeltTechnology/pi-agent-dashboard/blob/2728c316a2bf0710680cfb94faac5af7132ae7a1/src/__tests__/resolve-tool-cli.test.ts#L31 29 | encoding: "utf8", 30 | // Isolate from any user override file so tests are deterministic. > 31 | env: { 32 | ...process.env, 33 | // Point HOME at /tmp so ~/.pi/dashboard/tool-overrides.json is
Spreading entire process.env into an object — may capture all secrets Source: https://github.com/BlackBeltTechnology/pi-agent-dashboard/blob/2728c316a2bf0710680cfb94faac5af7132ae7a1/src/bootstrap-install.ts#L179 177 | 178 | const argvBase = resolveNpmArgv(opts); > 179 | const env = { ...process.env, ...(opts.env ?? {}) }; 180 | 181 | const installed: string[] = [];
Spreading entire process.env into an object — may capture all secrets Source: https://github.com/BlackBeltTechnology/pi-agent-dashboard/blob/2728c316a2bf0710680cfb94faac5af7132ae7a1/src/platform/runner.ts#L223 221 | const result = spawnSync(safeArgv[0], safeArgv.slice(1), { 222 | cwd: ctx.cwd, > 223 | env: ctx.env ? { ...process.env, ...ctx.env } : undefined, 224 | encoding: "utf-8", 225 | timeout,
Spreading entire process.env into an object — may capture all secrets Source: https://github.com/BlackBeltTechnology/pi-agent-dashboard/blob/2728c316a2bf0710680cfb94faac5af7132ae7a1/src/platform/runner.ts#L318 316 | child = spawn(safeArgv[0], safeArgv.slice(1), { 317 | cwd: ctx.cwd, > 318 | env: ctx.env ? { ...process.env, ...ctx.env } : undefined, 319 | stdio: ["ignore", "pipe", "pipe"], 320 | ...spawnOptions, // shell: false, windowsHide: true
Published via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v0.3.0
4 findingsSpreading entire process.env into an object — may capture all secrets 177 | 178 | const argvBase = resolveNpmArgv(opts); > 179 | const env = { ...process.env, ...(opts.env ?? {}) }; 180 | 181 | const installed: string[] = [];
Spreading entire process.env into an object — may capture all secrets 221 | const result = spawnSync(safeArgv[0], safeArgv.slice(1), { 222 | cwd: ctx.cwd, > 223 | env: ctx.env ? { ...process.env, ...ctx.env } : undefined, 224 | encoding: "utf-8", 225 | timeout,
Spreading entire process.env into an object — may capture all secrets 316 | child = spawn(safeArgv[0], safeArgv.slice(1), { 317 | cwd: ctx.cwd, > 318 | env: ctx.env ? { ...process.env, ...ctx.env } : undefined, 319 | stdio: ["ignore", "pipe", "pipe"], 320 | ...spawnOptions, // shell: false, windowsHide: true
Package was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.