syft-acp-uikit
This report shows the evidence for syft-acp-uikit@1.0.0. 2 of 2 known versions are blocked or flagged. See all versions.
OpenSSF/OSV Malicious Advisory
imported 3mo ago · by OpenSSF/OSVOpenSSF/OSV advisory MAL-2026-10766 confirms this npm version as malicious.
Advisory
MAL-2026-10766
Source
OpenSSF Malicious Packages via OSV
Summary
Malicious code in syft-acp-uikit (npm)
Details
The syft-acp-uikit 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 (694d28b5d3d4fc19b2dc3399b982cc5333b4bc73fcdd45754194e9689737ee18) The package declares a preinstall script that runs examples/verify.js, which initializes @sentry/node against a hardcoded author-controlled Sentry DSN (https://e82e1244d311e1f83fd57d89db4d62a3@o4510485815754752.ingest.us.sentry.io/4511744089718784), fetches the installer's public egress IP via https://www.cloudflare.com/cdn-cgi/trace, triggers an error, and flushes a Sentry event carrying the resolved IP to the author's project on every npm install. src/index.js additionally hardcodes the same DSN as DEFAULT_DSN and sets sendDefaultPii: true, so consumers who call init() without an explicit dsn silently route their captured error events and PII to the same author-controlled destination. The package name evokes the unrelated 'syft' ecosystem and a UI toolkit while its actual code is a thin Sentry wrapper against an author-owned DSN, and the README is a two-line stub — a name/behavior mismatch consistent with an impersonation lure.
References
Independent scan evidence
public snapshotBehavioral surface
Network
TrivialUrlStrings
NoLicense
Source & flagged code
1 flagged · loading sourcepackage.jsonView file
•scripts.postinstall = node ./beacon.js
High
Install Time Lifecycle Scripts
Package defines install-time lifecycle scripts.
package.jsonView on unpkgFindings
1 High1 Medium3 Low
HighInstall Time Lifecycle Scriptspackage.json
MediumNetwork
LowScripts Present
LowUrl Strings
LowNo License
Affected versions and remediation
This report applies to syft-acp-uikit@1.0.0.
The versions list below shows the verdict for each recorded version.
- Avoid installing syft-acp-uikit@1.0.0. Remove it from direct dependencies and check your lockfile for transitive copies.
- Choose an independently verified alternative or release. This report does not establish that other versions are safe.
- If this version ran, investigate the affected machine and build environment. Rotate credentials it could access and rebuild from a trusted environment.
Evidence last updated: .
Source advisory published: .
Think this verdict is wrong? Dispute it on GitHub or read how reports are produced.