executable-stories-cypress@3.1.1
Malicious code in executable-stories-cypress (npm)
Analysis
Version 3.1.1 ships a trojanized root index.js that is not part of the published files list (the genuine library code lives under dist/). On import it runs a multi-stage dropper: a ROT13-obfuscated string is passed to eval, which reconstructs an async routine that loads node:crypto and AES-128-GCM-decrypts two hardcoded ciphertext blobs using embedded keys/IVs/auth-tags. The first decrypted stage defines a helper that creates a temporary directory, downloads the Bun runtime archive from the official Bun GitHub releases URL (bun-v1.3.13) via a curl child process, unzips it, and marks the binary executable. This bootstraps an external runtime so the second encrypted blob (the real payload) can be executed outside the normal Node environment. No legitimate Cypress BDD-testing package downloads and executes a separate runtime to run hidden, encrypted code; this is an injected remote-code-execution dropper.
- analyzed by
- Leitwacht
- first seen
- Jun 8, 2026, 11:57 AM
- analyzed
- Jun 28, 2026, 10:40 AM
- weekly installs
- 849
Related advisories
- autotel-audit@0.1.15
- autotel-hono@0.4.26
- executable-stories-jest@3.1.1
- autotel-mcp-instrumentation@29.0.2
- executable-stories-vitest@2.0.1
- autotel-backends@2.12.26
- autotel-drizzle@0.0.27
- autotel-adapters@0.3.5
Independently detected by the Leitwacht supply-chain probe. IOCs are defanged. Published CC0. Think this is a mistake? See the dispute policy.