NIST deprecates RSA-2048 from 2030. Find every one of them before attackers do.
Malicious package

ph-commonnpm

Advisory published Updated

ph-common is a confirmed malicious npm package (MAL-2026-1809) that opens a backdoor for remote access (malicious versions 0.1.0, 1.0.0, 1.0.1…). Do not install it — remove it immediately and rotate any exposed credentials.

Malicious code in ph-common (npm)

MAL-2026-1809
Immediate action
Remove the package, then rotate any secrets the build/runtime could reach.
npm uninstall ph-common

What this malware does

ph-common is a dependency-confusion package: it is described as a "Compatibility shim", uses version numbers up to 99.0.1, and its README calls it an "authorized dependency-confusion test". Each listed version has a postinstall script that runs node beacon.cjs on npm install, and index.js calls the same code when the package is imported; it POSTs the hostname, install path and current working directory over plain HTTP to http://185.158.107.175:8787/_ah/dc, and index.js exports a Proxy that returns no-op functions so builds importing the real package keep running. The npm account xwise979 published these 8 versions on 2026-10-05 between 02:09 and 02:16 UTC.

The package is a stub whose index.js exports a Proxy returning no-op functions for every property access, so consumers that import it receive a non-functional module. The only functional code is beacon.cjs, which POSTs the installer's hostname, install path (__dirname), cwd, and Node version as JSON to the hardcoded bare-IP plain-HTTP endpoint http://185.158.107.175:8787/_ah/dc. The beacon fires both from the package.json postinstall lifecycle hook (node beacon.cjs) and at import time via a top-level require('./beacon.cjs').fire() in index.js. The destination is unrelated to any publisher infrastructure, uses a bare IP over cleartext HTTP, and the comments framing the payload as 'only machine/package metadata' do not change that unsolicited host identifiers are being sent off-host on install and on require. The stub-plus-beacon shape is consistent with a dependency-confusion or name-squat reconnaissance probe.

Malicious versions

9 flagged
0.1.01.0.01.0.11.1.02.0.02.0.13.0.077.7.799.0.1

Indicators of compromise (SHA-256)

7babded8dfc238fb290582696a774cfd993a1e05077a8f8d717c602033cfd74e
07a12a2296142889c91ff5760f4a0abc8866ea9a5e439847b8b5817565348b6e
3fc63c6b3f7884a467b0ac1e2ef73e7352eea07a9176c7904e4867cf00f109a0
500ba07f90fefe65b31bc11085a1e332f3fa76fbb6e468fae335d195e158b4af
96d5070e183f11c3850d1a87c10bc8b0d57aca3bb0731344a954fc211c3cb0a1
ccd64db80bd76a26cc4d34c24e3dcc3977570470ddd707cbd8e4716d212215da
dcc3f548923d3e691ce72ee5f05e21d1914b95b21f0d8fbe79fb39a1e63508ad
dd0f82dbeac7915ba439ea273f5662da59458c61de3e2729fd8fccbde94799c9
e91af37ddf73f0ab03685d169764db14d995358fc3de58392d4e6f880589844a
f82053e651a1ec7ee7cdf8ecd57ca4be012f7ce8d60dec081f99c2b80cb66bf2

Detection & response playbook

Backdoor / remote access
  1. Find it

    Search your lockfiles and build artifacts for ph-common (9 malicious versions).

  2. If you installed it — respond

    ph-common 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.

  3. Did it already run?

    If ph-common 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

No. ph-common on npm has been identified as a malicious package (versions 0.1.0, 1.0.0, 1.0.1, 1.1.0, 2.0.0, 2.0.1, 3.0.0, 77.7.7, and 1 more flagged). It should be removed immediately — do not install or keep it in your dependency tree.

Campaign

RLMA-2026-01481IN-MAL-2026-020982IN-MAL-2026-020989IN-MAL-2026-020984IN-MAL-2026-020985IN-MAL-2026-020980IN-MAL-2026-020987IN-MAL-2026-020981IN-MAL-2026-020983

References

Credits

  • Amazon Inspector · finder
  • InvisiRisk, Inc. · finder
  • ReversingLabs · finder

Detect & block this

O3 blocks ph-common-class packages before install and in CI — and if it already ran, its runtime egress monitoring catches the C2 callback and severs the channel.

Explore

ph-common (npm) malicious package — MAL-2026-1809 | O3 Security