oa-crm-webapinpm
Advisory published Updated
oa-crm-webapi is a confirmed malicious npm package (MAL-2026-5745) that opens a backdoor for remote access (malicious version 9.9.99). Do not install it — remove it immediately and rotate any exposed credentials.
Malicious code in oa-crm-webapi (npm)
What this malware does
[email protected] is a dependency-confusion payload squatting an internal-sounding package name. package.json declares a postinstall hook (node beacon.js) which fires automatically on npm install. beacon.js reads os.hostname() and transmits it to the attacker-controlled Burp Collaborator host yfhjhookbia8zov0q5hh772xroxfl69v.oastify.com via two channels: a DNS lookup of <nonce>.<hostname>.<collaborator-host> (out-of-band DNS exfil) and an HTTPS POST to the same host with the hostname in the body. The 9.9.99 version + generic 'internal placeholder' description is the canonical shape used to hijack private package names by overriding the legitimate internal registry resolution. A successful install both proves code execution on the installer and leaks the internal hostname to an external attacker.
Malicious versions
Indicators of compromise (SHA-256)
Detection & response playbook
Backdoor / remote accessFind it
Search your lockfiles and build artifacts for oa-crm-webapi (version 9.9.99).
If you installed it — respond
oa-crm-webapi establishes remote access, so treat any host that installed it as fully compromised. Isolate the machine, remove the package, rotate all credentials it could reach, and rebuild from a trusted image rather than cleaning in place — a backdoor may have planted additional persistence.
Did it already run?
If oa-crm-webapi was installed, its post-install payload may already have run. Removing the package does not undo that — check outbound connections and credential use from the install window onward.
Frequently asked questions
Campaign
References
Credits
- Amazon Inspector · finder
Detect & block this
O3 blocks oa-crm-webapi-class packages before install and in CI — and if it already ran, its runtime egress monitoring catches the C2 callback and severs the channel.