AI Security Review
scanned 3h ago · by lpm-firewall-aiThe postinstall hook retrieves an opaque native binary and stores it inside the package. The CLI launcher later executes that binary with inherited stdio. No source-level evidence establishes credential theft, control-surface mutation, or destructive behavior.
Static reason
One or more suspicious static signals were detected.
Trigger
`npm install` downloads the binary; invoking `interlink-mcp` executes it.
Impact
A compromised or substituted release asset could execute arbitrary native code when the user runs the CLI.
Mechanism
Unverified release-binary download followed by native executable launch.
Rationale
The package is an npm wrapper for a remotely fetched executable, and the payload cannot be source-inspected or integrity-verified from this package. Its remote delivery is package-aligned, so this is a warning rather than evidence of malicious intent.
Evidence
package.jsoninstall.jsbin/interlink-mcp.jsREADME.mdbin/interlink-mcp-bin
Network endpoints1
github.com/wilfreddenton/interlink/releases/download/v0.4.1/
Decision evidence
public snapshotAI called this Suspicious at 87.0% confidence as Dangerous Capability with low false-positive risk.
Evidence for warning
- `package.json` runs `node install.js` as `postinstall`.
- `install.js` downloads a platform-native executable without checksum/signature verification.
- `install.js` writes the fetched executable as `bin/interlink-mcp-bin[.exe]`.
- `bin/interlink-mcp.js` executes that downloaded binary via `child_process.spawn`.
Evidence against
- Download URL is fixed to the package-associated `wilfreddenton/interlink` GitHub release and matching version.
- Installer has no credential/environment harvesting or AI-agent configuration writes.
- No shell execution, eval, persistence, destructive operations, or unrelated network endpoints appear in inspected source.
- The native binary runs only through the explicit `interlink-mcp` CLI launcher.
Behavioral surface
ChildProcessFilesystemNetwork
UrlStrings
Source & flagged code
2 flagged · loading sourcepackage.jsonView file
•scripts.postinstall = node install.js
High
Install Time Lifecycle Scripts
Package defines install-time lifecycle scripts.
package.jsonView on unpkg•scripts.postinstall = node install.js
Medium
Ambiguous Install Lifecycle Script
Install-time lifecycle script is not statically allowlisted and needs review.
package.jsonView on unpkgFindings
1 High2 Medium3 Low
HighInstall Time Lifecycle Scriptspackage.json
MediumAmbiguous Install Lifecycle Scriptpackage.json
MediumNetwork
LowScripts Present
LowFilesystem
LowUrl Strings