AI Security Review
scanned 2h ago · by lpm-firewall-aiOn `npm install`, the package fetches and drops a native executable from a GitHub release. On later CLI use, the launcher executes that uninspected executable; no direct malicious source behavior is established in the shipped JavaScript.
Static reason
One or more suspicious static signals were detected.
Trigger
`npm install` with lifecycle scripts enabled; then running `forge-cockpit`
Impact
The opaque downloaded binary can run with the installing or invoking user's permissions.
Mechanism
install-time remote native-binary download followed by CLI execution
Rationale
This is an opaque staged executable delivery path, but the inspected JavaScript provides no concrete evidence of credential theft, destructive behavior, persistence, or AI-agent control-surface mutation. Flag it for warning because the executable payload is not auditable from this package source.
Evidence
package.jsonpostinstall.jsbin/forge-cockpit.jsREADME.mdbin/forgebin/forge.exe
Network endpoints1
github.com/LeyouHong/forge-cockpit/releases/download/release-v0.1.3/forge-cockpit-{platform}
Decision evidence
public snapshotAI called this Suspicious at 91.0% confidence as Dangerous Capability with low false-positive risk.
Evidence for warning
- `postinstall.js` downloads a platform binary during npm `postinstall`.
- The downloaded release asset is written as executable `bin/forge` or `bin/forge.exe`.
- `bin/forge-cockpit.js` later executes that downloaded binary via `spawnSync`.
- The package ships no source for the binary's behavior, so its capabilities cannot be statically verified.
Evidence against
- The URL is version-pinned to `release-v0.1.3` in the package repository.
- The install script contains no credential harvesting, environment collection, or AI-agent configuration writes.
- No shell evaluation, remote script evaluation, persistence, or destructive logic appears in shipped JavaScript.
- The launcher only executes after an explicit CLI invocation.
Behavioral surface
ChildProcessFilesystemNetwork
UrlStrings
Source & flagged code
2 flagged · loading sourcepackage.jsonView file
•scripts.postinstall = node postinstall.js
High
Install Time Lifecycle Scripts
Package defines install-time lifecycle scripts.
package.jsonView on unpkg•scripts.postinstall = node postinstall.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