Malicious code in package-uploader (npm)
-= Per source details. Do not edit below this line.=-
package-uploader@1.3.25 ships an install-hook.js that runs automatically as the npm postinstall script (package.json declares "postinstall": "node install-hook.js"). The hook embeds a 383KB base64 string (LAUNCHER_BIN_BASE64), XOR-decrypts it with key 0x42, writes the result to %TEMP%/tmp_.exe, and launches it detached via spawn('cmd', ['/c', 'start', '/b', TEMP_EXE], { detached: true }) — a classic obfuscated-binary dropper executed on every npm install. After dropping the payload, a detached cleanup process waits ~90 seconds and then edits the victim's package.json and package-lock.json to remove the dependency entry (the cleanup code references the name mailconfirmer, indicating the campaign re-publishes under rotating names) and recursively deletes the installed module directory; if direct deletion fails, it registers a Windows scheduled task via schtasks /create to remove the directory later. The package's stated purpose is a UI navbar library and the index.js entry point exports only theme colors as a decoy — completely unrelated to executing a Windows binary. The combination of name/description/decoy-main mismatch, embedded XOR-encrypted PE payload, automatic postinstall execution, and anti-forensics manifest tampering is an unambiguous supply-chain dropper.
왜 이 VPI인가 (설명가능 · 실험적)
VPI 산정 기준
| 영향도(기본값(정보 없음)) | 55.00 |
| 악용 신호(추가 악용신호 없음) | ×1.00 |
| VPI | 55.00 |
VPI 공식 vpi-v1 기준