node-ffi
A foreign function interface (FFI) for Node.js
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
Accepted risks
Findings the reviewer chose to accept rather than block on.
| Source | Rule | Reason | Accepted by | When |
|---|---|---|---|---|
| source-diff | encoded-string-file:test/test.js | AI (source-diff): The flagged long string is a test fixture of repeated zeros used to test FFI string argument resizing — plainly benign test data, not an obfuscated payload. | ai | |
| install-scripts | install-script:install | AI (install-scripts): node-ffi is a native addon; `node-gyp rebuild` is the standard and expected build step for compiling the libffi bindings. | ai | |
| npm-metadata | bundled-binaries | AI (npm-metadata): Bundled .node files are precompiled platform binaries for the FFI native addon — standard practice. The a.out is part of the bundled libffi test suite. | ai | |
| semgrep | semgrep:etc-passwd-access | AI (semgrep): Access to /etc/passwd is in test.old/test.old.js as an FFI smoke test (verifying fopen works), not credential harvesting. No data is read or exfiltrated. | ai | |
| install-scripts | install-script:preinstall | AI (install-scripts): node-ffi is a native addon; preinstall runs node-waf configure build to compile C/C++ bindings — standard and expected for this package across all versions. | ai | |
| provenance | no-provenance | AI (provenance): Package predates npm provenance/Sigstore by over a decade; absence of attestation is expected and not a risk signal here. | ai |
v0.5.0
1 finding[Accepted risk] Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.3.2
2 findingsModified file contains 1 long encoded string(s) (200+ chars). These are commonly used to hide malicious payloads.
[Accepted risk] Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v0.2.0
2 findingsScript: node-waf configure build
Package was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v0.1.1
1 finding[Accepted risk] Package was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.