← Home

nano-spawn

Tiny process execution for humans — a better child_process

10
Versions
MIT
License
No
Install Scripts
Missing
Provenance

Supply chain provenance

Status for the latest visible version.

No SLSA provenance npm registry signatures gitHead linked

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

sindresorhusehmicky

Keywords

spawnexecchildprocesssubprocessexecuteforkexecfilefileshellbinbinarybinariesnpmpathlocalzxexeca

Accepted risks

Findings the reviewer chose to accept rather than block on.

SourceRuleReasonAccepted byWhen
provenance publisher-changed AI (provenance): Known legitimate transfer: ehmicky is a co-author of nano-spawn and a well-established npm publisher. Repository remains under sindresorhus/nano-spawn. ai
maintainer-change maintainer-added AI (maintainer-change): ehmicky is a documented co-maintainer of nano-spawn; this is a legitimate handoff, not a suspicious takeover. ai
semgrep semgrep:env-spread AI (semgrep): nano-spawn is a child_process wrapper; merging process.env with user-supplied env overrides is the canonical and expected pattern for spawning subprocesses. No exfiltration risk. ai

Versions (showing 10 of 10)

Version Deps Published
2.1.0 0 / 11
2.0.0 0 / 11
1.0.3 0 / 11
1.0.2 0 / 11
1.0.1 0 / 11
1.0.0 0 / 11
0.2.1 0 / 11
0.2.0 0 / 10
0.1.0 0 / 10
0.0.1 0 / 3

v2.1.0

2 findings
HIGH env-spread: source/options.js:16 semgrep

Spreading entire process.env into an object — may capture all secrets Source: https://github.com/sindresorhus/nano-spawn/blob/cc231e2c7b1e434a96f25f907ca2cb2f7c596e90/source/options.js#L16 14 | }) => { 15 | const cwd = cwdOption instanceof URL ? fileURLToPath(cwdOption) : path.resolve(cwdOption); > 16 | const env = envOption ? {...process.env, ...envOption} : undefined; 17 | const input = stdio[0]?.string; 18 | return {

LOW No provenance attestation provenance

Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.

v2.0.0

1 finding
LOW No provenance attestation provenance

Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.

v1.0.3

1 finding
LOW No provenance attestation provenance

Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.

v1.0.2

1 finding
LOW No provenance attestation provenance

Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.

v1.0.1

1 finding
LOW No provenance attestation provenance

Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.

v1.0.0

1 finding
LOW No provenance attestation provenance

Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.

v0.2.1

1 finding
LOW No provenance attestation provenance

Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.

v0.2.0

1 finding
LOW No provenance attestation provenance

Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.

v0.1.0

2 findings
HIGH Publisher changed: sindresorhus → ehmicky (on 2024-09-08) provenance

This version was published by a different npm account than previous versions on 2024-09-08. This could indicate a legitimate maintainer transition or an account compromise.

LOW No provenance attestation provenance

Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.

v0.0.1

1 finding
LOW No provenance attestation provenance

Package was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.