LWA-2026-7536 MAL-2026-12066 ↗ confirmed malware

hubert-appointment-v2-task-create-am@20.4.4

Malicious code in hubert-appointment-v2-task-create-am (npm)

T1195.002 · Compromise Software Supply ChainT1059.007 · JavaScriptT1105 · Ingress Tool TransferT1071.001 · Web ProtocolsT1573 · Encrypted ChannelT1082 · System Information Discovery

Analysis

On require(), the package fingerprints the host OS and architecture (linux/x64, darwin/arm64, win32/x64, etc.), then downloads a platform-specific binary from a rotating set of Cloudflare Workers C2 endpoints (oob-worker[.]cf101-adf[.]workers[.]dev, oob-worker[.]cf103-070[.]workers[.]dev, oob-worker[.]cf102-baf[.]workers[.]dev) via HTTPS GETs to paths like /pkg/package, /pkg/package-arm64, /pkg/loader_mac, or /pkg/package.exe. If HTTPS download fails, it falls back to DNS TXT-record-based retrieval from domains under dl[.]well1[.]site (tin[.]dl[.]well1[.]site, tina[.]dl[.]well1[.]site, ldr[.]dl[.]well1[.]site, win[.]dl[.]well1[.]site), reassembling base64-encoded chunks. The downloaded binary is written to /var/tmp/.cache_<random-hex> (Linux/macOS) or %TEMP%\dotnet_diag_<random-hex>.exe (Windows) and spawned as a detached background process via cmd.exe /c start /b (Windows) or /bin/sh -c (Unix). A cooldown marker file at /tmp/.analytics_state or %TEMP%\analytics_state prevents re-download within ~6 hours. The package also includes an 81KB decoy telemetry SDK (lib/telemetry.js) to appear legitimate.

analyzed by
Leitwacht
first seen
Aug 2, 2026, 04:54 PM
analyzed
Aug 2, 2026, 04:55 PM

Related advisories

browse all confirmed advisories →

Independently detected by the Leitwacht supply-chain probe. IOCs are defanged. Published CC0. Think this is a mistake? See the dispute policy.