@promptbook/cli
Promptbook: Create persistent AI agents that turn your company's scattered knowledge into action
Supply chain provenance
Status for the latest visible version.
Maintainers
Keywords
Accepted risks
Findings the reviewer chose to accept rather than block on.
| Source | Rule | Reason | Accepted by | When |
|---|---|---|---|---|
| email-domain | unclaimed-email:hejny.org | AI (email-domain): Long-standing trusted publisher; domain quirk not tied to any malicious behavior. | ai | |
| publish-pattern | new-deps-added | AI (publish-pattern): Adds official @anthropic-ai/sdk and openai SDKs, expected for an LLM tooling package. | ai | |
| semgrep | semgrep:base64-decode | AI (semgrep): Base64 decoding used for DER public key parsing in SendGrid webhook verification — legitimate crypto use. | ai | |
| semgrep | semgrep:shady-links-raw-ip | AI (semgrep): Raw IP is 127.0.0.1 (localhost) used for mocked Supabase in tests — not a network exfil target. | ai | |
| semgrep | semgrep:hex-decode | AI (semgrep): Hex decoding used in password/key comparison with timing-safe compare — standard auth pattern. | ai | |
| semgrep | semgrep:api-obfuscation-reflect | AI (semgrep): Reflect.get used in a Proxy handler to delegate to original target — standard proxy/cache pattern, not obfuscation. | ai | |
| semgrep | semgrep:eval-usage | AI (semgrep): eval() used in a script-execution utility with a TODO to replace; consistent with CLI tool's documented purpose. | ai | |
| semgrep | semgrep:new-function-constructor | AI (semgrep): Used for Node.js environment detection (checking global === this); stable pattern across versions. | ai | |
| semgrep | semgrep:child-process-import | AI (semgrep): CLI tool legitimately uses child_process; expected for this package type. | ai | |
| typosquat | typosquat.levenshtein:joi | AI (typosquat): Scoped package @promptbook/cli; Levenshtein match to 'joi' is purely coincidental, no impersonation intent. | ai |
Versions (showing 51 of 84)
| Version | Deps | Published |
|---|---|---|
| 0.112.0 | 96 / 0 | |
| 0.110.0 | 32 / 0 | |
| 0.105.0 | 31 / 0 | |
| 0.104.0 | 31 / 0 | |
| 0.102.0 | 31 / 0 | |
| 0.101.0 | 30 / 0 | |
| 0.100.2 | 30 / 0 | |
| 0.100.1 | 30 / 0 | |
| 0.100.0 | 30 / 0 | |
| 0.98.0 | 31 / 0 | |
| 0.95.0 | 31 / 0 | |
| 0.94.0 | 31 / 0 | |
| 0.93.0 | 31 / 0 | |
| 0.92.0 | 31 / 0 | |
| 0.89.0 | 30 / 0 | |
| 0.88.0 | 28 / 0 | |
| 0.86.31 | 28 / 0 | |
| 0.86.30 | 28 / 0 | |
| 0.86.22 | 28 / 0 | |
| 0.86.10 | 28 / 0 | |
| 0.86.8 | 28 / 0 | |
| 0.86.6 | 28 / 0 | |
| 0.86.5 | 28 / 0 | |
| 0.85.0 | 27 / 0 | |
| 0.84.0 | 23 / 0 | |
| 0.83.0 | 21 / 0 | |
| 0.82.0 | 21 / 0 | |
| 0.81.0 | 21 / 0 | |
| 0.80.0 | 21 / 0 | |
| 0.79.0 | 20 / 0 | |
| 0.78.4 | 20 / 0 | |
| 0.78.3 | 20 / 0 | |
| 0.78.2 | 20 / 0 | |
| 0.77.1 | 20 / 0 | |
| 0.77.0 | 20 / 0 | |
| 0.76.0 | 19 / 0 | |
| 0.75.10 | 19 / 0 | |
| 0.75.9 | 19 / 0 | |
| 0.75.8 | 19 / 0 | |
| 0.75.6 | 19 / 0 | |
| 0.75.5 | 19 / 0 | |
| 0.75.4 | 19 / 0 | |
| 0.75.3 | 19 / 0 | |
| 0.75.2 | 19 / 0 | |
| 0.75.1 | 19 / 0 | |
| 0.74.0 | 19 / 0 | |
| 0.73.0 | 15 / 0 | |
| 0.72.0 | 15 / 0 | |
| 0.69.6 | 11 / 0 | |
| 0.69.5 | 11 / 0 | |
| 0.69.3 | 11 / 0 |
v0.112.0
9 findingsSpreading entire process.env into an object — may capture all secrets Source: https://github.com/webgptorg/promptbook/blob/9512a3995c5cd375d3a5c6724c4ffc3a83f635a0/apps/agents-server/config.ts#L6 4 | * Constant for config. 5 | */ > 6 | const config = ConfigChecker.from({ 7 | ...process.env, 8 |
Spreading entire process.env into an object — may capture all secrets Source: https://github.com/webgptorg/promptbook/blob/9512a3995c5cd375d3a5c6724c4ffc3a83f635a0/apps/agents-server/playwright.config.ts#L85 83 | stdout: 'pipe', 84 | stderr: 'pipe', > 85 | env: { 86 | ...process.env, 87 | E2E_SUPABASE_PORT: String(MOCK_SUPABASE_PORT),
Spreading entire process.env into an object — may capture all secrets Source: https://github.com/webgptorg/promptbook/blob/9512a3995c5cd375d3a5c6724c4ffc3a83f635a0/apps/agents-server/playwright.config.ts#L103 101 | stdout: 'pipe', 102 | stderr: 'pipe', > 103 | env: { 104 | ...process.env, 105 | ...APP_E2E_ENV,
Spreading entire process.env into an object — may capture all secrets Source: https://github.com/webgptorg/promptbook/blob/9512a3995c5cd375d3a5c6724c4ffc3a83f635a0/apps/agents-server/scripts/prerender-homepage.js#L210 208 | const serverProcess = spawn(process.execPath, [nextBinary, 'start', '-p', String(PORT)], { 209 | cwd: APP_ROOT, > 210 | env: { ...process.env }, 211 | stdio: ['ignore', 'pipe', 'pipe'], 212 | });
Spreading entire process.env into an object — may capture all secrets Source: https://github.com/webgptorg/promptbook/blob/9512a3995c5cd375d3a5c6724c4ffc3a83f635a0/apps/agents-server/src/utils/interactiveTerminalSession.ts#L191 189 | const childProcess = spawn(options.command, [...(options.arguments || [])], { 190 | cwd: options.cwd, > 191 | env: { 192 | ...process.env, 193 | TERM: 'xterm-256color',
Spreading entire process.env into an object — may capture all secrets Source: https://github.com/webgptorg/promptbook/blob/9512a3995c5cd375d3a5c6724c4ffc3a83f635a0/apps/agents-server/src/utils/vpsConfiguration.ts#L381 379 | options?: RunVpsInstallerCommandOptions, 380 | ): NodeJS.ProcessEnv { > 381 | const environment: NodeJS.ProcessEnv = { 382 | ...process.env, 383 | ...(options?.isProcessRestartEnabled === false ? { PTBK_SKIP_PM2_RESTART: '1' } : {}),
Spreading entire process.env into an object — may capture all secrets Source: https://github.com/webgptorg/promptbook/blob/9512a3995c5cd375d3a5c6724c4ffc3a83f635a0/src/cli/cli-commands/agents-server/startAgentsServer.ts#L504 502 | const launchWorkingDirectory = process.cwd(); 503 | > 504 | return { 505 | ...process.env, 506 | PORT: String(port),
Spreading entire process.env into an object — may capture all secrets Source: https://github.com/webgptorg/promptbook/blob/9512a3995c5cd375d3a5c6724c4ffc3a83f635a0/src/utils/execCommand/$execCommand.ts#L63 61 | cwd, 62 | shell: true, > 63 | env: env ? { ...process.env, ...env } : process.env, 64 | }); 65 |
Published via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v0.110.0
1 findingPublished via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v0.89.0
1 findingPublished via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v0.88.0
1 findingPublished via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v0.86.31
1 findingPublished via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v0.86.30
1 findingPublished via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v0.86.22
1 findingPublished via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v0.86.10
1 findingPublished via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v0.86.8
1 findingPublished via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v0.86.6
1 findingPublished via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v0.86.5
1 findingPublished via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v0.85.0
1 findingPublished via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v0.84.0
1 findingPublished via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v0.83.0
1 findingPublished via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v0.82.0
1 findingPublished via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v0.81.0
1 findingPublished via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v0.80.0
1 findingPublished via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v0.79.0
1 findingPublished via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v0.78.4
1 findingPublished via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v0.78.3
1 findingPublished via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v0.78.2
1 findingPublished via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v0.77.1
1 findingPublished via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v0.77.0
1 findingPublished via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v0.76.0
1 findingPublished via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v0.75.10
1 findingPublished via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v0.75.9
1 findingPublished via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v0.75.8
1 findingPublished via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v0.75.6
1 findingPublished via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v0.75.5
1 findingPublished via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v0.75.4
1 findingPublished via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v0.75.3
1 findingPublished via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v0.75.2
1 findingPublished via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v0.75.1
1 findingPublished via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v0.74.0
1 findingPublished via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v0.73.0
2 findingsMaintainer email '[email protected]' uses domain 'hejny.org' which has no DNS records. An attacker could register this domain to hijack the maintainer identity.
Published via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v0.72.0
2 findingsMaintainer email '[email protected]' uses domain 'hejny.org' which has no DNS records. An attacker could register this domain to hijack the maintainer identity.
Published via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v0.69.6
2 findingsMaintainer email '[email protected]' uses domain 'hejny.org' which has no DNS records. An attacker could register this domain to hijack the maintainer identity.
Published via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v0.69.5
2 findingsMaintainer email '[email protected]' uses domain 'hejny.org' which has no DNS records. An attacker could register this domain to hijack the maintainer identity.
Published via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v0.69.3
2 findingsMaintainer email '[email protected]' uses domain 'hejny.org' which has no DNS records. An attacker could register this domain to hijack the maintainer identity.
Published via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.