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.
-= Per source details. Do not edit below this line.=-
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.
{
"malicious-packages-origins": [
{
"versions": [
"14.8.68"
],
"id": "IN-MAL-2026-013390",
"import_time": "2026-08-05T07:06:45.075038991Z",
"modified_time": "2026-08-05T06:16:19Z",
"source": "amazon-inspector",
"sha256": "7ed8acd69ab483ef58fdeea92d871264713661755e025eb16d7f3b34be02f9b4"
},
{
"versions": [
"1.0.0"
],
"id": "IN-MAL-2026-016543",
"import_time": "2026-08-06T14:19:54.636949693Z",
"modified_time": "2026-08-06T13:56:07Z",
"source": "amazon-inspector",
"sha256": "74ddca6430f87ddf8a19eed0ed269e147b577c055d399bec7ca1fed6fa1d75f1"
}
]
}{
"domains": [
"o4510485815754752.ingest.us.sentry.io"
],
"urls": [
"https://e82e1244d311e1f83fd57d89db4d62a3@o4510485815754752.ingest.us.sentry.io/4511744089718784"
]
}
[
{
"cweId": "CWE-506",
"name": "Embedded Malicious Code",
"description": "The product contains code that appears to be malicious in nature."
},
{
"cweId": "CWE-506",
"name": "Embedded Malicious Code",
"description": "The product contains code that appears to be malicious in nature."
},
{
"cweId": "CWE-506",
"name": "Embedded Malicious Code",
"description": "The product contains code that appears to be malicious in nature."
}
]
{
"package_integrity": [
{
"hashes": {
"sha512_sri": "sha512-KeRroQSaUoddsujLRKAQNC04Y2qSfBY2rawnXMAITIZFmkB1bk5o5EW4G5Q1ayhgQNiHajR0Q8ZNA1R8B49QEA==",
"sha1": "667b6a09a0db697dc3be0044095548008506977c"
},
"filename": "syft-acp-atoms-14.8.68.tgz"
}
],
"evidence_files": [
{
"path": "beacon.js",
"tlsh": "5ed097f502f0d3b81c9000c1e080fd0ba1d38b12305150e19e6943aaab40ab08e00ee8",
"sha256": "3f7ad756c7555768c986eaf75bb032b4ce4524dd80d923200dcc58307a836ee5"
},
{
"path": "package.json",
"tlsh": "f1c022608860892320c98ad7043860051560ce0b1008284d23c72060d2c9b7748bbb0e",
"sha256": "04937c443560bda82738c3125a8cbb7a3b83953dbec65e565ce6e9701bc36b80"
}
]
}
"https://github.com/ossf/malicious-packages/blob/main/osv/malicious/npm/syft-acp-atoms/MAL-2026-10764.json"