Malicious code in express-initial (npm)
-= Per source details. Do not edit below this line.=-
package.json declares "postinstall": "node index.js", so npm install express-initial automatically runs the package's main script. index.js is heavily obfuscated (obfuscator.io-style 317-entry RC4-encoded string array, base64 decoder, array-rotation self-shuffle, control-flow flattening) which hides the destination URL, AES key material, and command strings from any plain-text inspection. At runtime the script imports http/https, fs, path, os, crypto, and child_process, performs an HTTPS GET against a hard-coded remote host, splits the response on ':' into IV and ciphertext, decrypts via crypto.createDecipheriv('aes-256-...', <sha256-derived key>, Buffer.from(iv,'base64')), writes the decrypted bytes into path.join(os.tmpdir(), <name>) with flag 'w+', and immediately invokes the dropped file via child_process.exec/execFile with windowsHide: true. This is a fetch-decrypt-and-execute dropper firing on default install. The package name also leverages the popular express framework while shipping empty author/description/repository metadata and a generic README that itself notes the script is obfuscated — consistent with a deliberate supply-chain lure rather than a legitimate helper.
Any computer that has this package installed or running should be considered fully compromised. All secrets and keys stored on that computer should be rotated immediately from a different computer. The package should be removed, but as full control of the computer may have been given to an outside entity, there is no guarantee that removing the package will remove all malicious software resulting from installing it.
왜 이 VPI인가 (설명가능 · 실험적)
VPI 산정 기준
| 영향도(기본값(정보 없음)) | 55.00 |
| 악용 신호(추가 악용신호 없음) | ×1.00 |
| VPI | 55.00 |
VPI 공식 vpi-v1 기준