OpenSSF/OSV advisory MAL-2026-10764 confirms this npm version as malicious. The syft-acp-atoms package was published to the npm registry by user 'ada8877' (maintainer email k3mlol@proton.me) as part of a dependency-confusion / reconnaissance campaign. The package name mimics the 'syft-acp' internal/private package naming convention (an ACP component library) of a target organization, so that a misconfigured resolver installs this public lookalike instead of the intended private dependency.
Source
OpenSSF Malicious Packages via OSV
Summary
Malicious code in syft-acp-atoms (npm)
Details
The syft-acp-atoms package was published to the npm registry by user 'ada8877' (maintainer email k3mlol@proton.me) as part of a dependency-confusion / reconnaissance campaign. The package name mimics the 'syft-acp' internal/private package naming convention (an ACP component library) of a target organization, so that a misconfigured resolver installs this public lookalike instead of the intended private dependency.
The package declares a preinstall hook ("npm install @sentry/node && node examples/verify.js") that executes automatically at npm install time, before any application code runs. The bundled examples/verify.js initializes the @sentry/node client against a hardcoded, attacker-controlled Sentry DSN with sendDefaultPii enabled, resolves the installing host's public egress IP address by requesting Cloudflare's /cdn-cgi/trace endpoint (using a spoofed desktop-browser User-Agent to bypass bot challenges), then deliberately triggers a runtime exception and captures it. Flushing the event beacons the collected host telemetry (public IP plus Sentry default PII such as hostname, OS username and runtime/environment metadata) to the attacker's Sentry ingest endpoint at o4510485815754752.ingest.us.sentry.io.
Each impersonated namespace in the campaign beacons to a distinct Sentry project ID, letting the operator attribute successful installs to specific victim organizations — behaviour consistent with a dependency-confusion reconnaissance beacon rather than legitimate error monitoring. The install-time payload is byte-for-byte identical to the earlier 'click2ai' campaign, sharing the same Sentry organization (o4510485815754752) and a related ProtonMail maintainer identity, and differs only in the package name and target DSN. This package's beacon targets Sentry project 4511744089718784.
---
## Source: amazon-inspector (74ddca6430f87ddf8a19eed0ed269e147b577c055d399bec7ca1fed6fa1d75f1) On npm install, the package's postinstall hook (`node./beacon.js`) collects the installer's hostname, OS username, and current working directory via os.hostname(), os.userInfo(), and process.cwd(), hex-encodes them, and transmits them as a query string to https://exzotiqq.com/ via https.get. The package ships no library code — the declared `main: index.js` is absent from the tarball — so the only effect of installing the package is to run the beacon. Behavior is consistent with a reconnaissance / dependency-confusion probe.