motion-pull@2.3.5
Malicious code in motion-pull (npm)
T1195.002 · Compromise Software Supply ChainT1059.007 · JavaScriptT1082 · System Information DiscoveryT1071.001 · Web ProtocolsT1105 · Ingress Tool TransferT1041 · Exfiltration Over C2 Channel
Analysis
motion-pull@2.3.5 is a combosquat impersonating the pino logger. On require(), it spawns a detached background Node.js process that decodes a base64-embedded C2 URL (hxxps://ipcheck-hashed[.]vercel[.]app/api/auth/6c1d60d35852ef0c05df), POSTs all environment variables (process.env) to that endpoint, then passes the server's response to new Function("require", response.data) — enabling arbitrary remote code execution on the installer's machine. The payload retries up to 5 times on failure.
- analyzed by
- Leitwacht
- first seen
- Jul 7, 2026, 12:38 PM
- analyzed
- Jul 7, 2026, 12:38 PM
Related advisories
- configration@2.3.5
- chai-smart@2.3.5
- express-mongo-limit@2.0.1
- events-alias@15.0.1
- zluri-ad-connector@9.9.9
- airkey-mfa-react@20.0.1
- next-locomotive-init@1.0.0
- @digiptf/common@99.99.99
Independently detected by the Leitwacht supply-chain probe. IOCs are defanged. Published CC0. Think this is a mistake? See the dispute policy.