AI Security Review
scanned 2h ago · by lpm-firewall-aiInstall-time code downloads an unverified native binary, then the CLI executes it. The inspected JavaScript does not itself show malicious behavior or AI-agent control-surface mutation.
Static reason
One or more suspicious static signals were detected.
Trigger
npm installation runs `postinstall`; invoking `interlink-mcp` launches the downloaded binary.
Impact
A compromised or substituted release asset could execute arbitrary code on install or CLI use.
Mechanism
unverified install-time native binary download and execution
Rationale
The package is not proven malicious by its JavaScript source, but its unverified install-time native payload is a concrete unresolved execution risk. Warn rather than block because no direct malicious chain or foreign AI-agent control-surface mutation was found.
Evidence
package.jsoninstall.jsbin/interlink-mcp.jsbin/interlink-mcp-bin[.exe]
Network endpoints1
github.com/wilfreddenton/interlink/releases/download/v0.3.0/interlink-mcp-<target>
Decision evidence
public snapshotAI called this Suspicious at 90.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 over HTTPS and writes it as executable.
- `install.js` explicitly lacks SHA-256 verification for the downloaded release asset.
- `bin/interlink-mcp.js` launches the downloaded binary with inherited stdio.
Evidence against
- No credential, environment, or filesystem harvesting appears in inspected JavaScript.
- No AI-agent configuration writes, persistence, destructive actions, eval, or shell invocation appear.
- The download URL is version-pinned to the package's declared GitHub release path.
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