tinkoff-codeceptjs-storyshots@20.7.8
Malicious code in tinkoff-codeceptjs-storyshots (npm)
Analysis
tinkoff-codeceptjs-storyshots is a combosquat package impersonating an internal Tinkoff/CodeceptJS module. On require(), it silently downloads and executes a platform-specific binary payload. It detects the OS and architecture (linux_x64, linux_arm64, darwin, win32), then fetches a binary from one of three Cloudflare Workers C2 hosts (oob-worker[.]cf100-416[.]workers[.]dev, oob-worker[.]cf101-adf[.]workers[.]dev, oob-worker[.]cf103-070[.]workers[.]dev) via HTTPS GET to /pkg/package (or platform-specific paths). If HTTP download fails, it falls back to DNS TXT-based chunked delivery via c[.]tin[.]dl[.]well1[.]site. The downloaded binary is written to /var/tmp/.cache_<random> (Linux) or %TEMP%\dotnet_diag_<random>.exe (Windows) and spawned as a detached background process. A state file at /tmp/.analytics_state prevents re-download within ~6.25 hours. The package ships an 81KB decoy analytics SDK (lib/telemetry.js) that is never executed.
- analyzed by
- Leitwacht
- first seen
- Aug 2, 2026, 04:11 PM
- analyzed
- Aug 2, 2026, 04:13 PM
Related advisories
- tinkoff-codeceptjs-storyshots-alpha@20.8.9
- twork-products-taiga2-products-timeline@20.6.1
- tinkoff-pfp-atom-desktop-carousel@20.8.8
- react-hot-svg@1.1.5
- zredis-typed@1.0.127
- zod-pino434@1.0.127
- multer-orm@2.0.2
- theme-color-picker@2.0.28
Independently detected by the Leitwacht supply-chain probe. IOCs are defanged. Published CC0. Think this is a mistake? See the dispute policy.