autotel-tanstack@1.13.27
Malicious code in autotel-tanstack (npm)
Analysis
This package — published as OpenTelemetry instrumentation for TanStack Start — was trojanized with a self-propagating supply-chain worm injected on top of the legitimate code (the tarball ballooned ~13x). A weaponized binding.gyp is added at the package root whose sources entry uses gyp command-expansion: "<!(node index.js > /dev/null 2>&1 && echo stub.c)". Because node-gyp evaluates this expression during the native build/configure step, the bundled index.js runs automatically at install time — evading tools that only inspect npm lifecycle scripts (preinstall/postinstall). index.js is heavily obfuscated: an eval() wrapped in a ROT-13 Caesar-cipher decoder that, once decoded, is an async loader which imports node:crypto, builds an AES-128-GCM decipher with a hardcoded hex key, decrypts an embedded ciphertext blob, and executes the decrypted second-stage payload dynamically via the Function constructor. The decrypted stage harvests cloud/registry credentials and tokens and propagates to other packages owned by the compromised maintainer. Installing or building this package runs attacker code.
- analyzed by
- Leitwacht
- first seen
- Jun 7, 2026, 08:08 PM
- analyzed
- Jun 28, 2026, 06:30 AM
- weekly installs
- 1,637
Related advisories
- ezymail@2.0.6
- @immobiliarelabs/backstage-plugin-gitlab-backend@3.0.3
- anthropic-internal-tools@1.0.0
- @apexcraft/nano-key@1.3.5
- codyx-ai-linux-x64-musl@1.14.42
- leo-aws@2.0.4
- weavedb-base@0.45.3
- weavedb-sdk@0.45.3
Independently detected by the Leitwacht supply-chain probe. IOCs are defanged. Published CC0. Think this is a mistake? See the dispute policy.