AI Security Review
scanned 3h ago · by lpm-firewall-aiInstall-time code fetches and stores an executable payload that is later launched by the package CLI. The checksum does not independently authenticate the mutable nightly artifact.
Static reason
One or more suspicious static signals were detected.
Trigger
npm install runs postinstall; invoking `hallouminate` launches the extracted binary.
Impact
A compromise or replacement of the referenced release assets can execute arbitrary native code for installers or CLI users.
Mechanism
remote nightly binary download, same-origin checksum validation, extraction, and execution
Rationale
The source does not show direct malicious behavior, but its postinstall lifecycle fetches a mutable remote native payload whose checksum is controlled by the same source. This is a concrete staged-payload supply-chain risk rather than evidence of intentional malware.
Evidence
package.jsoninstall.jsrun.jsbin/hallouminate
Network endpoints2
github.com/paulnsorensen/hallouminate/releases/download/nightly/hallouminate-{target}.tar.xzgithub.com/paulnsorensen/hallouminate/releases/download/nightly/hallouminate-{target}.tar.xz.sha256
Decision evidence
public snapshotAI called this Suspicious at 93.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 rolling binary archive during install.
- Checksum is downloaded from the same mutable release endpoint as the binary.
- `install.js` extracts the downloaded archive into `bin/`.
- `run.js` executes the extracted `bin/hallouminate` binary.
Evidence against
- No credential, environment, or user-file harvesting is present.
- No exfiltration, destructive commands, or AI-agent config mutation is present.
- Downloads require HTTPS and have a timeout/redirect limit.
- Source contains no eval, shell command string, or dynamic module loading.
Behavioral surface
ChildProcessCryptoFilesystemNetwork
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