pfp-forms-sme-sitebuilder@20.2.1
Malicious code in pfp-forms-sme-sitebuilder (npm)
Analysis
pfp-forms-sme-sitebuilder@20.2.1 is a multi-stage binary downloader disguised as a sitebuilder library. When required, it silently fingerprints the host platform (OS, architecture), then attempts to download a second-stage binary from Cloudflare Workers C2 endpoints (oob-worker[.]cf101-adf[.]workers[.]dev, oob-worker[.]cf100-416[.]workers[.]dev, oob-worker[.]cf102-baf[.]workers[.]dev) via HTTPS GET to paths /pkg/package, /pkg/package-arm64, /pkg/loader_mac, or /pkg/package.exe depending on platform. If HTTPS fails, it falls back to a DNS TXT-based chunked retrieval from the domain family tin[.]dl[.]well1[.]site (with chunk-count lookup at c[.]tin[.]dl[.]well1[.]site). The downloaded binary is written to /var/tmp/.cache_<hex> on Unix or %TEMP%\dotnet_diag_<hex>.exe on Windows, made executable, and spawned as a detached background process (via /bin/sh -c on Unix or cmd.exe /c start /b on Windows). A stamp file at /tmp/.analytics_state (Unix) or %TEMP%\analytics_state (Windows) limits re-execution. The package ships a large decoy telemetry SDK (lib/telemetry.js) to appear legitimate. No repository, no README, and the payload runs on require() — not lifecycle hooks — making it invisible to lifecycle-based scanning.
- analyzed by
- Leitwacht
- first seen
- Aug 2, 2026, 03:40 PM
- analyzed
- Aug 2, 2026, 03:41 PM
Related advisories
- statist-browser-typed-client-twork.tsales.nitro.metrics@20.6.2
- sme-rko-finance-front-shared-entity-groups-models@20.2.8
- hubert-document-actual-insurance-rules-am@20.5.6
- platform-ui-codemods@20.6.7
- approval-guardian@1.0.8
- beaver-ui-icon-lock@12.2.3
- beaver-ui-grid@12.7.3
- osinthell@1.9.5
Independently detected by the Leitwacht supply-chain probe. IOCs are defanged. Published CC0. Think this is a mistake? See the dispute policy.