← Home

node-ninja

Node.js native addon build tool

4
Versions
MPL-2.0
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

hintjensralphtheninjargbkrk

Keywords

nativeaddonmodulecc++bindingsgyp

Accepted risks

Findings the reviewer chose to accept rather than block on.

SourceRuleReasonAccepted byWhen
dependencies unvetted-dep:request AI (dependencies): request is used for downloading Node.js headers/binaries during build — standard behavior for a native addon build tool. Not a security concern for this package. ai
provenance publisher-changed AI (provenance): Publisher change from hintjens to ralphtheninja occurred in 2016; ralphtheninja has 779 approved packages and a long track record — clearly a legitimate historical transition. ai
maintainer-change maintainer-added AI (maintainer-change): Maintainer addition of ralphtheninja/rgbkrk is a legitimate 2016 transition; ralphtheninja has an excellent track record with 779 approved packages. ai
semgrep semgrep:child-process-spawn AI (semgrep): Spawning build system processes is the fundamental purpose of this native addon build tool. ai
semgrep semgrep:dynamic-require AI (semgrep): Dynamic require is used for command dispatch within the package's own directory — a standard CLI subcommand pattern, not arbitrary module loading. ai
semgrep semgrep:env-bulk-read AI (semgrep): Reading npm_config_* env vars is a documented pattern for inheriting npm configuration, used by node-gyp and similar build tools. ai
semgrep semgrep:child-process-import AI (semgrep): node-ninja is a native addon build tool; spawning child processes to invoke build systems (ninja, cmake, make) is its core function. ai

Versions (showing 4 of 4)

Version Deps Published
1.0.2 14 / 1
1.0.1 14 / 1
1.0.0 14 / 1
0.4.0 14 / 1

v1.0.2

2 findings
HIGH Publisher changed: hintjens → ralphtheninja (on 2016-07-21) provenance

This version was published by a different npm account than previous versions on 2016-07-21. 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.

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. Only ~12% of npm packages have provenance, so this is common but not ideal.

v0.4.0

1 finding
LOW No provenance attestation provenance

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