incur
<picture> <source media="(prefers-color-scheme: dark)" srcset=".github/logo-dark.svg"> <source media="(prefers-color-scheme: light)" srcset=".github/logo-light.svg"> <img alt="incur" src=".github/logo-light.svg" width="100%" height="140px"> </pictur
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 |
|---|---|---|---|---|
| phantom-deps | phantom-dep:@cfworker/json-schema | AI (phantom-deps): Explicitly declared runtime dep in package.json; phantom-dep heuristic misfires here. | ai | |
| semgrep | semgrep:env-spread | AI (semgrep): Fires on test file (Completions.test.ts) where process.env is spread to save/restore state around tests — standard testing idiom, not a runtime secret leak. | ai |
Versions (showing 51 of 51)
| Version | Deps | Published |
|---|---|---|
| 0.4.6 | 7 / 0 | |
| 0.4.4 | 6 / 0 | |
| 0.4.3 | 6 / 0 | |
| 0.4.0 | 6 / 12 | |
| 0.3.23 | 6 / 0 | |
| 0.3.22 | 7 / 0 | |
| 0.3.21 | 6 / 0 | |
| 0.3.20 | 6 / 0 | |
| 0.3.19 | 6 / 0 | |
| 0.3.18 | 6 / 0 | |
| 0.3.17 | 6 / 0 | |
| 0.3.16 | 6 / 0 | |
| 0.3.15 | 6 / 0 | |
| 0.3.14 | 6 / 0 | |
| 0.3.13 | 6 / 0 | |
| 0.3.12 | 6 / 12 | |
| 0.3.11 | 6 / 12 | |
| 0.3.10 | 6 / 12 | |
| 0.3.9 | 6 / 12 | |
| 0.3.8 | 6 / 12 | |
| 0.3.7 | 6 / 12 | |
| 0.3.6 | 6 / 12 | |
| 0.3.5 | 6 / 12 | |
| 0.3.4 | 6 / 12 | |
| 0.3.3 | 6 / 12 | |
| 0.3.2 | 6 / 12 | |
| 0.3.1 | 6 / 12 | |
| 0.3.0 | 6 / 12 | |
| 0.2.2 | 6 / 12 | |
| 0.2.1 | 5 / 12 | |
| 0.2.0 | 5 / 12 | |
| 0.1.17 | 4 / 10 | |
| 0.1.16 | 4 / 9 | |
| 0.1.15 | 4 / 8 | |
| 0.1.14 | 4 / 8 | |
| 0.1.13 | 4 / 8 | |
| 0.1.12 | 4 / 8 | |
| 0.1.11 | 4 / 8 | |
| 0.1.10 | 4 / 8 | |
| 0.1.9 | 4 / 8 | |
| 0.1.8 | 4 / 8 | |
| 0.1.7 | 4 / 8 | |
| 0.1.6 | 4 / 8 | |
| 0.1.5 | 4 / 8 | |
| 0.1.4 | 4 / 8 | |
| 0.1.3 | 4 / 8 | |
| 0.1.2 | 4 / 8 | |
| 0.1.1 | 4 / 8 | |
| 0.1.0 | 4 / 8 | |
| 0.0.2 | 4 / 8 | |
| 0.0.1 | 4 / 8 |
v0.4.6
1 findingPublished 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 6 | 7 | const originalIsTTY = process.stdout.isTTY > 8 | const originalEnv = { ...process.env } 9 | beforeAll(() => { 10 | ;(process.stdout as any).isTTY = false
Spreading entire process.env into an object — may capture all secrets 65 | ) { 66 | let output = '' > 67 | const prevEnv = { ...process.env } 68 | Object.assign(process.env, env) 69 | await cli.serve(argv, {
Spreading entire process.env into an object — may capture all secrets 293 | printf '%s' "\${COMPREPLY[*]}"`, 294 | ], > 295 | { ...process.env, PATH: `${dir}:${process.env.PATH ?? ''}` }, 296 | ) 297 |
Spreading entire process.env into an object — may capture all secrets 321 | _incur_complete_fake_cli`, 322 | ], > 323 | { ...process.env, PATH: `${dir}:${process.env.PATH ?? ''}` }, 324 | ) 325 |
Spreading entire process.env into an object — may capture all secrets 344 | complete --do-complete 'fake-cli '`, 345 | ], > 346 | { ...process.env, PATH: `${dir}:${process.env.PATH ?? ''}` }, 347 | ) 348 |
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 6 | 7 | const originalIsTTY = process.stdout.isTTY > 8 | const originalEnv = { ...process.env } 9 | beforeAll(() => { 10 | ;(process.stdout as any).isTTY = false
Spreading entire process.env into an object — may capture all secrets 65 | ) { 66 | let output = '' > 67 | const prevEnv = { ...process.env } 68 | Object.assign(process.env, env) 69 | await cli.serve(argv, {
Spreading entire process.env into an object — may capture all secrets 293 | printf '%s' "\${COMPREPLY[*]}"`, 294 | ], > 295 | { ...process.env, PATH: `${dir}:${process.env.PATH ?? ''}` }, 296 | ) 297 |
Spreading entire process.env into an object — may capture all secrets 321 | _incur_complete_fake_cli`, 322 | ], > 323 | { ...process.env, PATH: `${dir}:${process.env.PATH ?? ''}` }, 324 | ) 325 |
Spreading entire process.env into an object — may capture all secrets 344 | complete --do-complete 'fake-cli '`, 345 | ], > 346 | { ...process.env, PATH: `${dir}:${process.env.PATH ?? ''}` }, 347 | ) 348 |
Published via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v0.4.0
1 findingPublished via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v0.3.23
6 findingsSpreading entire process.env into an object — may capture all secrets 6 | 7 | const originalIsTTY = process.stdout.isTTY > 8 | const originalEnv = { ...process.env } 9 | beforeAll(() => { 10 | ;(process.stdout as any).isTTY = false
Spreading entire process.env into an object — may capture all secrets 65 | ) { 66 | let output = '' > 67 | const prevEnv = { ...process.env } 68 | Object.assign(process.env, env) 69 | await cli.serve(argv, {
Spreading entire process.env into an object — may capture all secrets 293 | printf '%s' "\${COMPREPLY[*]}"`, 294 | ], > 295 | { ...process.env, PATH: `${dir}:${process.env.PATH ?? ''}` }, 296 | ) 297 |
Spreading entire process.env into an object — may capture all secrets 321 | _incur_complete_fake_cli`, 322 | ], > 323 | { ...process.env, PATH: `${dir}:${process.env.PATH ?? ''}` }, 324 | ) 325 |
Spreading entire process.env into an object — may capture all secrets 344 | complete --do-complete 'fake-cli '`, 345 | ], > 346 | { ...process.env, PATH: `${dir}:${process.env.PATH ?? ''}` }, 347 | ) 348 |
Published via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v0.3.22
6 findingsSpreading entire process.env into an object — may capture all secrets 6 | 7 | const originalIsTTY = process.stdout.isTTY > 8 | const originalEnv = { ...process.env } 9 | beforeAll(() => { 10 | ;(process.stdout as any).isTTY = false
Spreading entire process.env into an object — may capture all secrets 65 | ) { 66 | let output = '' > 67 | const prevEnv = { ...process.env } 68 | Object.assign(process.env, env) 69 | await cli.serve(argv, {
Spreading entire process.env into an object — may capture all secrets 293 | printf '%s' "\${COMPREPLY[*]}"`, 294 | ], > 295 | { ...process.env, PATH: `${dir}:${process.env.PATH ?? ''}` }, 296 | ) 297 |
Spreading entire process.env into an object — may capture all secrets 321 | _incur_complete_fake_cli`, 322 | ], > 323 | { ...process.env, PATH: `${dir}:${process.env.PATH ?? ''}` }, 324 | ) 325 |
Spreading entire process.env into an object — may capture all secrets 344 | complete --do-complete 'fake-cli '`, 345 | ], > 346 | { ...process.env, PATH: `${dir}:${process.env.PATH ?? ''}` }, 347 | ) 348 |
Published via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v0.3.21
6 findingsSpreading entire process.env into an object — may capture all secrets 6 | 7 | const originalIsTTY = process.stdout.isTTY > 8 | const originalEnv = { ...process.env } 9 | beforeAll(() => { 10 | ;(process.stdout as any).isTTY = false
Spreading entire process.env into an object — may capture all secrets 65 | ) { 66 | let output = '' > 67 | const prevEnv = { ...process.env } 68 | Object.assign(process.env, env) 69 | await cli.serve(argv, {
Spreading entire process.env into an object — may capture all secrets 293 | printf '%s' "\${COMPREPLY[*]}"`, 294 | ], > 295 | { ...process.env, PATH: `${dir}:${process.env.PATH ?? ''}` }, 296 | ) 297 |
Spreading entire process.env into an object — may capture all secrets 321 | _incur_complete_fake_cli`, 322 | ], > 323 | { ...process.env, PATH: `${dir}:${process.env.PATH ?? ''}` }, 324 | ) 325 |
Spreading entire process.env into an object — may capture all secrets 344 | complete --do-complete 'fake-cli '`, 345 | ], > 346 | { ...process.env, PATH: `${dir}:${process.env.PATH ?? ''}` }, 347 | ) 348 |
Published via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v0.3.20
6 findingsSpreading entire process.env into an object — may capture all secrets 6 | 7 | const originalIsTTY = process.stdout.isTTY > 8 | const originalEnv = { ...process.env } 9 | beforeAll(() => { 10 | ;(process.stdout as any).isTTY = false
Spreading entire process.env into an object — may capture all secrets 65 | ) { 66 | let output = '' > 67 | const prevEnv = { ...process.env } 68 | Object.assign(process.env, env) 69 | await cli.serve(argv, {
Spreading entire process.env into an object — may capture all secrets 293 | printf '%s' "\${COMPREPLY[*]}"`, 294 | ], > 295 | { ...process.env, PATH: `${dir}:${process.env.PATH ?? ''}` }, 296 | ) 297 |
Spreading entire process.env into an object — may capture all secrets 321 | _incur_complete_fake_cli`, 322 | ], > 323 | { ...process.env, PATH: `${dir}:${process.env.PATH ?? ''}` }, 324 | ) 325 |
Spreading entire process.env into an object — may capture all secrets 341 | ['-c', `${Completions.register('fish', 'fake-cli')} 342 | complete --do-complete 'fake-cli '`], > 343 | { ...process.env, PATH: `${dir}:${process.env.PATH ?? ''}` }, 344 | ) 345 |
Published via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v0.3.19
3 findingsSpreading entire process.env into an object — may capture all secrets 2 | 3 | const originalIsTTY = process.stdout.isTTY > 4 | const originalEnv = { ...process.env } 5 | beforeAll(() => { 6 | ;(process.stdout as any).isTTY = false
Spreading entire process.env into an object — may capture all secrets 22 | ) { 23 | let output = '' > 24 | const prevEnv = { ...process.env } 25 | Object.assign(process.env, env) 26 | await cli.serve(argv, {
Published via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v0.3.18
3 findingsSpreading entire process.env into an object — may capture all secrets 2 | 3 | const originalIsTTY = process.stdout.isTTY > 4 | const originalEnv = { ...process.env } 5 | beforeAll(() => { 6 | ;(process.stdout as any).isTTY = false
Spreading entire process.env into an object — may capture all secrets 22 | ) { 23 | let output = '' > 24 | const prevEnv = { ...process.env } 25 | Object.assign(process.env, env) 26 | await cli.serve(argv, {
Published via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v0.3.17
3 findingsSpreading entire process.env into an object — may capture all secrets 2 | 3 | const originalIsTTY = process.stdout.isTTY > 4 | const originalEnv = { ...process.env } 5 | beforeAll(() => { 6 | ;(process.stdout as any).isTTY = false
Spreading entire process.env into an object — may capture all secrets 22 | ) { 23 | let output = '' > 24 | const prevEnv = { ...process.env } 25 | Object.assign(process.env, env) 26 | await cli.serve(argv, {
Published via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v0.3.16
3 findingsSpreading entire process.env into an object — may capture all secrets 2 | 3 | const originalIsTTY = process.stdout.isTTY > 4 | const originalEnv = { ...process.env } 5 | beforeAll(() => { 6 | ;(process.stdout as any).isTTY = false
Spreading entire process.env into an object — may capture all secrets 22 | ) { 23 | let output = '' > 24 | const prevEnv = { ...process.env } 25 | Object.assign(process.env, env) 26 | await cli.serve(argv, {
Published via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v0.3.15
3 findingsSpreading entire process.env into an object — may capture all secrets 2 | 3 | const originalIsTTY = process.stdout.isTTY > 4 | const originalEnv = { ...process.env } 5 | beforeAll(() => { 6 | ;(process.stdout as any).isTTY = false
Spreading entire process.env into an object — may capture all secrets 22 | ) { 23 | let output = '' > 24 | const prevEnv = { ...process.env } 25 | Object.assign(process.env, env) 26 | await cli.serve(argv, {
Published via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v0.3.14
3 findingsSpreading entire process.env into an object — may capture all secrets 2 | 3 | const originalIsTTY = process.stdout.isTTY > 4 | const originalEnv = { ...process.env } 5 | beforeAll(() => { 6 | ;(process.stdout as any).isTTY = false
Spreading entire process.env into an object — may capture all secrets 22 | ) { 23 | let output = '' > 24 | const prevEnv = { ...process.env } 25 | Object.assign(process.env, env) 26 | await cli.serve(argv, {
Published via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v0.3.13
1 findingPublished via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v0.3.12
1 findingPublished via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v0.3.11
1 findingPublished via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v0.3.10
1 findingPublished via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v0.3.9
1 findingPublished via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v0.3.8
1 findingPublished via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v0.3.7
1 findingPublished via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v0.3.6
1 findingPublished via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v0.3.5
1 findingPublished via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v0.3.4
1 findingPublished via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v0.3.3
1 findingPublished via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v0.3.2
1 findingPublished via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v0.3.1
1 findingPublished via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v0.3.0
1 findingPublished via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v0.2.2
1 findingPublished via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v0.2.1
1 findingPublished via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v0.2.0
1 findingPublished via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v0.1.17
1 findingPublished via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v0.1.16
1 findingPublished via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v0.1.15
1 findingPublished via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v0.1.14
1 findingPublished via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v0.1.13
1 findingPublished via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v0.1.12
1 findingPublished via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v0.1.11
1 findingPublished via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v0.1.10
1 findingPublished via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v0.1.9
1 findingPublished via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v0.1.8
1 findingPublished via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v0.1.7
1 findingPublished via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v0.1.6
1 findingPublished via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v0.1.5
1 findingPublished via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v0.1.4
1 findingPublished via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v0.1.3
1 findingPublished via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v0.1.2
1 findingPublished via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v0.1.1
1 findingPublished via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v0.1.0
1 findingPublished via CI/CD with Sigstore attestation (predicate: https://slsa.dev/provenance/v1). This is the strongest supply chain integrity signal.
v0.0.2
1 findingPackage was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v0.0.1
1 findingPackage was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.