autotel-devtools@0.1.1
Malicious code in autotel-devtools (npm)
Analysis
This package ships a trojanized root entry module (index.js) that runs automatically when the package is imported or required. The file is heavily obfuscated: its real code is hidden inside an eval() call whose argument is produced by a Caesar-cipher decoder applied to a ~620,000-element array of character codes. Decoding it reveals a loader that uses node crypto to AES-128-GCM-decrypt two embedded encrypted blobs: a small bootstrap and a large (~668KB) hidden payload. The loader writes the decrypted payload to a randomly named temporary file (/tmp/p<random>.js), then executes it specifically with the Bun runtime (bun run) rather than Node. If Bun is not already installed, the bootstrap blob is eval()-d to locate or fetch a Bun binary, after which the payload is run; the temporary file is then deleted to remove traces. Deliberately routing execution through Bun, encrypting the payload, randomizing and deleting the dropped file, and burying everything under a Caesar-cipher eval loader are anti-analysis and anti-forensics techniques typical of a malware dropper. The remainder of the package (the dist/ tree) is a benign-looking developer-tools/telemetry facade that disguises the hidden loader.
- analyzed by
- Leitwacht
- first seen
- Jun 7, 2026, 06:42 PM
- analyzed
- Jun 28, 2026, 06:34 AM
- weekly installs
- 1,700
Related advisories
- autotel-mcp@0.1.14
- autotel-subscribers@10.0.1
- creditcard.js@3.0.60
- @immobiliarelabs/backstage-plugin-gitlab@2.1.2
- ai-sdk-ollama@0.13.1
- @immobiliarelabs/backstage-plugin-gitlab@1.0.1
- creditcard.js@2.1.8
- react-check-error@2.1.6
Independently detected by the Leitwacht supply-chain probe. IOCs are defanged. Published CC0. Think this is a mistake? See the dispute policy.