← Home

node-ffi

A foreign function interface (FFI) for Node.js

4
Versions
License
Yes
Install Scripts
Missing
Provenance

Supply chain provenance

Status for the latest visible version.

No SLSA provenance npm registry signatures No source commit

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

rbransonTooTallNatetootallnate

Accepted risks

Findings the reviewer chose to accept rather than block on.

SourceRuleReasonAccepted byWhen
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

Versions (showing 4 of 4)

Version Deps Published
0.5.0 0 / 2
0.3.2 0 / 0
0.2.0 0 / 0
0.1.1 0 / 0

v0.5.0

1 finding
INFO No provenance attestation provenance

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

v0.3.2

2 findings
HIGH Long encoded string in modified file: test/test.js source-diff

Modified file contains 1 long encoded string(s) (200+ chars). These are commonly used to hide malicious payloads.

INFO No provenance attestation provenance

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

v0.2.0

2 findings
HIGH Package has 'preinstall' script install-scripts

Script: node-waf configure build

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.1.1

1 finding
INFO No provenance attestation provenance

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