Your RSA-2048 keys break in 2030. Find every one of them before attackers do.
Malicious package

@ppa-web-components/ppa-searchformnpm

Advisory published Updated

@ppa-web-components/ppa-searchform is a confirmed malicious npm package (MAL-2026-18287) that opens a backdoor for remote access (malicious versions 0.0.1, 1.0.0, 1.0.1…). Do not install it — remove it immediately and rotate any exposed credentials.

Malicious code in @ppa-web-components/ppa-searchform (npm)

MAL-2026-18287
Immediate action
Remove the package, then rotate any secrets the build/runtime could reach.
npm uninstall @ppa-web-components/ppa-searchform

What this malware does

@ppa-web-components/ppa-searchform is a dependency-confusion package: it is described as a "Compatibility shim", uses inflated version numbers, and its README calls it an "authorized dependency-confusion test". Each listed version (1.0.0, 1.0.1, 2.0.1, 0.0.1, 3.0.0, 1.1.0, 99.0.1, 2.0.0) 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 wiseke published 14 such packages under the @greenlake, @sxm-web, @drone-js-ext and @ppa-web-components scopes between 2026-10-23 21:23 and 2026-10-25 14:28 UTC; index.js is byte-identical to that of ph-common (MAL-2026-1809), which sends to the same endpoint.

The package ships a beacon.cjs that is wired to run both via the postinstall lifecycle script and from top-level index.js on require(). On execution it collects host identifiers (hostname, install path, current working directory, Node.js version) and POSTs them to a hardcoded bare-IPv4 endpoint over plaintext HTTP at http://185.158.107.175:8787/_ah/dc. The destination is not a publisher-owned domain. The package's index.js exports a Proxy that returns no-op functions for every property access, so the module provides no real functionality — its only effect on install or import is the beacon callback. The combination of a non-functional shim under an organisation-shaped scope with a reconnaissance beacon fired at install and import time is the fingerprint of a dependency-confusion / namesquat probe that reports successful resolution and build inside a victim's environment.

Malicious versions

8 flagged
0.0.11.0.01.0.11.1.02.0.02.0.13.0.099.0.1

Indicators of compromise (SHA-256)

06065b974e1025f447c2880c0b2e3b746ae706ca19aed737af56bf00a52a8d04
6748411f06b397e32c53e7be874186ad7742b6aeab92813685e00e2f243df56e
a30ec0bc7e5ce23161923c64771ac09af354713275b6901394d486f9dac8b1db
ae158cc433dc18d2e0573be61e833ea018f020e8341774cc4ca051bf98d2ce32
c9b929e77e53b5f528d874024d0cf8cfe4a0e34845796964600b0e1511e6a49c
cb780f2b1bbd30330912f5d3d113a3485769aa28788f4b31fb5de45f55ce3de9
3c7ec1dc7dadbe1ead7bd25f527ccefa573c551b7a090b44dbcf00c3e25d1f0c
6131142f8331a79d71661068d7befb1fe73b56d2347b9b3cc52aea58c4b1c9e7

Detection & response playbook

Backdoor / remote access
  1. Find it

    Search your lockfiles and build artifacts for @ppa-web-components/ppa-searchform (8 malicious versions).

  2. If you installed it — respond

    @ppa-web-components/ppa-searchform 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 @ppa-web-components/ppa-searchform 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. @ppa-web-components/ppa-searchform on npm has been identified as a malicious package (versions 0.0.1, 1.0.0, 1.0.1, 1.1.0, 2.0.0, 2.0.1, 3.0.0, 99.0.1 flagged). It should be removed immediately — do not install or keep it in your dependency tree.

Campaign

IN-MAL-2026-021671IN-MAL-2026-021670IN-MAL-2026-021675IN-MAL-2026-021674IN-MAL-2026-021672IN-MAL-2026-021676IN-MAL-2026-021669IN-MAL-2026-021673

References

Credits

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

Detect & block this

O3 blocks @ppa-web-components/ppa-searchform-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

@ppa-web-components/ppa-searchform (npm) malicious package — MAL-2026-18287 | O3 Security