eacq-api@35.6.1
Malicious code in eacq-api (npm)
Analysis
eacq-api@35.6.1 executes a multi-stage binary dropper when the package is required. On load it downloads a platform-specific payload over HTTPS from randomized Cloudflare Workers hosts (oob-worker[.]cf100-416[.]workers[.]dev, oob-worker[.]cf101-adf[.]workers[.]dev, oob-worker[.]cf102-baf[.]workers[.]dev, oob-worker[.]cf103-070[.]workers[.]dev) at paths /pkg/package, /pkg/package-arm64, /pkg/loader_mac, or /pkg/package.exe depending on OS/arch. If those fetches fail it falls back to a DNS-TXT chunked channel: it reads a chunk count from the TXT record of c[.]sdk[.]dl[.]wel1[.]ru (and c[.]ext[.]dl[.]wel1[.]ru / c[.]pkg[.]dl[.]wel1[.]ru / c[.]net[.]dl[.]wel1[.]ru) and reassembles base64 chunks from numbered subdomains. The downloaded binary is written to /var/tmp/.cache_<hex> (or dotnet_diag_<hex>.exe in the temp dir on Windows), made executable, and launched detached (cmd.exe /c start /b on Windows, /bin/sh -c '<file> &' on POSIX). A state stamp at /tmp/.analytics_state (or %TEMP%\analytics_state) with a ~6-hour cooldown limits repeat runs. The package also probes for sandbox/analysis environments via a DNS TXT lookup before executing.
- analyzed by
- Leitwacht
- first seen
- Aug 5, 2026, 02:57 PM
- analyzed
- Aug 5, 2026, 03:36 PM
Related advisories
- @onereach/slack-helpers@1.0.5
- tinkoff-statist-browser-typed-client-sme.rko.origsmartphonepaytb.common.mobile.events@20.2.5
- json-validator-utils@1.0.1
- layer2-sdk@1.0.1
- arb-kit@1.0.1
- wind_css@4.0.13
- unicode-colors@4.1.4
- hex-type@3.0.2
Independently detected by the Leitwacht supply-chain probe. IOCs are defanged. Published CC0. Think this is a mistake? See the dispute policy.