# MAL-2026-16173: Malicious code in id79-client (npm)


- **Type:** Malicious package
- **Package:** `id79-client` (npm)
- **Published:** 12 Sep 2026

## What is MAL-2026-16173?

MAL-2026-16173 is a malicious package in id79-client, published on 12 Sep 2026. 

### Official description

This package is part of a malicious npm campaign published by the `biz44` account. Importing the package automatically launches a detached JavaScript loader that retrieves and executes additional code from npoint.io. The retrieved payload communicates with an attacker-controlled server and implements clipboard collection, keyboard and mouse event collection, filesystem scanning, and theft of Chrome extension storage.

On import, index.js calls initialize() which spawns a detached, stdio-suppressed `node loader.js` child process. loader.js issues an HTTPS GET to https://api.npoint.io/24c12c4b66a29747764f, base64-decodes the `code` field of the response, and executes it via `new Function(require, __dirname, __filename, module, exports, decodedCode)` — arbitrary code from a third-party mutable JSON hosting bin runs with full Node privileges on the installer's machine. loader.js additionally monkey-patches `Module.prototype.require` so any subsequent `require('child_process').spawn`/`execSync` call is rewritten to force `windowsHide:true` and route execSync through a hidden `cmd.exe /c` spawnSync, ensuring commands issued by the remotely fetched payload run invisibly on Windows. The detached-and-unref'd child, suppressed stdio, and stealth child_process wrapper are consistent with a persistent covert loader whose actual behavior is controlled by whoever owns the npoint bin.

## What should I do about MAL-2026-16173?

Remove the package from your dependencies and lockfiles, then rotate any secrets on machines where it was installed.

## Fix prompt for AI coding agents

```text
MAL-2026-16173 is a malicious package: id79-client (npm). Every version was published to cause harm.

Task:
1. Search this repository's dependency manifests and lockfiles for the package, including transitive dependencies.
2. If it is present, remove it, regenerate the lockfile with the project's package manager, and replace whatever it was used for.
3. List any CI runners, developer machines or containers that installed it, so their secrets can be rotated.
4. If the package is not used anywhere, say so and change nothing.

Reference: https://insights.sbomify.com/MAL-2026-16173/ (Markdown: https://insights.sbomify.com/MAL-2026-16173/index.md)
```

## Sources

- OSV: https://osv.dev/vulnerability/MAL-2026-16173

---
From sbomify Insights: https://insights.sbomify.com/MAL-2026-16173/
Summaries are generated and may contain mistakes; the official description above is the record.
