AI Security Review
scanned 3h ago · by lpm-firewall-aiPostinstall retrieves platform-specific binaries, ripgrep, and an optional VSIX from a remote release source into bin/. The wrapper later executes the downloaded ACA binary. No confirmed credential theft, exfiltration, or AI-agent control-surface modification is present in the published source.
Static reason
One or more suspicious static signals were detected.
Trigger
npm install runs postinstall; invoking aca runs the downloaded binary.
Impact
A compromised or overridden release host can supply an executable payload; same-host manifest hashes do not provide an independent trust boundary.
Mechanism
install-time remote binary staging with runtime execution
Rationale
The package is not proven malicious from the published source, but its postinstall bootstrapper stages executable payloads from a remotely controlled source with no independent signature or pinned digest. This is a material supply-chain risk that warrants a warning.
Evidence
package.jsoninstall.cjscli-wrapper.cjsREADME.mdbin/acabin/aca.exebin/rgbin/rg.exebin/aca.vsix
Network endpoints1
github.com/lokeshe09/aca-releases/releases/download/v0.0.28
Decision evidence
public snapshotAI called this Suspicious at 91.0% confidence as Dangerous Capability with low false-positive risk.
Evidence for warning
- package.json defines postinstall.
- install.cjs downloads executable payloads during install.
- ACA_RELEASE_BASE_URL can replace the release host.
- Manifest and SHA-256 values come from the same remote host.
- cli-wrapper.cjs executes the downloaded aca binary.
Evidence against
- No credential, environment, or file harvesting found.
- No exfiltration logic in published source.
- No eval, shell command, or foreign agent-config mutation found.
- Writes are confined to the package bin directory.
- Optional VSIX is stored locally, not installed at postinstall.
Behavioral surface
ChildProcessCryptoEnvironmentVarsFilesystemNetwork
UrlStrings
NoLicense
Source & flagged code
2 flagged · loading sourcepackage.jsonView file
•scripts.postinstall = node install.cjs
High
Install Time Lifecycle Scripts
Package defines install-time lifecycle scripts.
package.jsonView on unpkg•scripts.postinstall = node install.cjs
Medium
Ambiguous Install Lifecycle Script
Install-time lifecycle script is not statically allowlisted and needs review.
package.jsonView on unpkgFindings
1 High3 Medium4 Low
HighInstall Time Lifecycle Scriptspackage.json
MediumAmbiguous Install Lifecycle Scriptpackage.json
MediumNetwork
MediumEnvironment Vars
LowScripts Present
LowFilesystem
LowUrl Strings
LowNo License