onnxruntime-node
ONNXRuntime Node.js binding
Supply chain provenance
Status for the latest visible version.
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
Keywords
Accepted risks
Findings the reviewer chose to accept rather than block on.
| Source | Rule | Reason | Accepted by | When |
|---|---|---|---|---|
| publish-pattern | new-deps-added | AI (publish-pattern): tar added to support unpacking downloaded prebuilt binaries in postinstall — directly explained by the new binary download install flow. | ai | |
| provenance | publisher-changed | AI (provenance): Publisher 'eire' matches package.json author 'fs-eire', a known Microsoft ONNX Runtime contributor. 114 approved packages, 0 rejected. Legitimate maintainer. | ai | |
| semgrep | semgrep:toplevel-fetch | AI (semgrep): fetch() in install.js downloads prebuilt binaries from Microsoft Azure blob storage — documented install flow for this native binding. | ai | |
| semgrep | semgrep:child-process-import | AI (semgrep): child_process used in build.js to invoke cmake-js for native addon compilation — standard build tooling for native Node.js addons. | ai | |
| semgrep | semgrep:env-spread | AI (semgrep): env-spread in build.js is filtering LIB paths on Windows for cmake — legitimate build environment setup, not credential exfiltration. | ai | |
| install-scripts | install-script:postinstall | AI (install-scripts): Postinstall downloads prebuilt ONNX Runtime native binaries from Microsoft Azure blob storage — standard pattern for this native binding package. | ai | |
| install-scripts | install-script:install | AI (install-scripts): Standard native addon install pattern: tries prebuild-install for prebuilt binaries, falls back to building from source. Consistent with Microsoft's official ONNX Runtime Node.js binding across all versions. | ai | |
| phantom-deps | phantom-dep:prebuild-install | AI (phantom-deps): prebuild-install is explicitly declared as a runtime dependency in package.json dependencies; the phantom-dep finding is a false positive for this package. | ai | |
| semgrep | semgrep:dynamic-require | AI (semgrep): Dynamic require uses only process.platform and process.arch to select the correct prebuilt .node binding — standard cross-platform native addon pattern, not user-controlled input. | ai | |
| npm-metadata | bundled-binaries | AI (npm-metadata): onnxruntime-node's core purpose is shipping prebuilt native ONNX Runtime binaries (.so, .dll, .node) for multiple platforms. Bundled binaries are expected and stable for this package. | ai |
Versions (showing 15 of 15)
| Version | Deps | Published |
|---|---|---|
| 1.17.3 | 2 / 6 | |
| 1.17.0 | 1 / 6 | |
| 1.16.3 | 1 / 6 | |
| 1.16.2 | 1 / 6 | |
| 1.16.1 | 1 / 6 | |
| 1.16.0 | 1 / 6 | |
| 1.15.1 | 1 / 8 | |
| 1.15.0 | 1 / 8 | |
| 1.14.0 | 1 / 12 | |
| 1.13.1 | 1 / 12 | |
| 1.12.1 | 1 / 12 | |
| 1.12.0 | 1 / 12 | |
| 1.11.0 | 1 / 12 | |
| 1.10.0 | 1 / 12 | |
| 1.8.0 | 2 / 19 |
v1.17.3
5 findingsScript: node ./script/install
This version was published by a different npm account than previous versions on 2024-04-20. This could indicate a legitimate maintainer transition or an account compromise.
Spreading entire process.env into an object — may capture all secrets 105 | // So we override the LIB environment variable to remove invalid paths. 106 | const envOverride = os.platform() === 'win32' && process.env.LIB ? > 107 | { ...process.env, LIB: process.env.LIB.split(';').filter(fs.existsSync).join(';') } : 108 | process.env; 109 | // launch cmake-js configure
Spreading entire process.env into an object — may capture all secrets 84 | // So we override the LIB environment variable to remove invalid paths. 85 | const envOverride = os.platform() === 'win32' && process.env.LIB ? > 86 | {...process.env, LIB: process.env.LIB.split(';').filter(fs.existsSync).join(';')} : 87 | process.env; 88 |
Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v1.17.0
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v1.16.3
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v1.16.2
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v1.16.1
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v1.16.0
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v1.15.1
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v1.15.0
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v1.14.0
2 findingsPackage contains compiled binaries that could be backdoors: • bin/napi-v3/linux/arm64/libonnxruntime.so.1.14.0 • bin/napi-v3/linux/x64/libonnxruntime.so.1.14.0 • bin/napi-v3/win32/arm64/onnxruntime_providers_shared.dll • bin/napi-v3/win32/x64/onnxruntime_providers_shared.dll • bin/napi-v3/win32/arm64/onnxruntime.dll • bin/napi-v3/win32/x64/onnxruntime.dll • bin/napi-v3/darwin/arm64/onnxruntime_binding.node • bin/napi-v3/darwin/x64/onnxruntime_binding.node • bin/napi-v3/linux/arm64/onnxruntime_binding.node • bin/napi-v3/linux/x64/onnxruntime_binding.node ... and 2 more
Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v1.13.1
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v1.12.1
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v1.12.0
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v1.11.0
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v1.10.0
1 findingPackage was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v1.8.0
1 findingPackage was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.