This weekly list covers the ten most significant malicious or compromised packages recently observed in public registries.
1. spoint (npm)
- Package: https://www.npmjs.com/package/spoint
- Severity: medium
- Affected versions: 0.1.695-0.1.700
- Downloads: 20346
- First seen: 11 August 2026 at 01:14 UTC
This appears to be a very VERY sneaky account compromise that introduces an infostealer. Versions 0.1.695 to 0.1.700 add two additional dependencies: node-fetch and dotenv. These two new dependencies were added to allow the threat actor to exfiltrate the API keys the game server is talking to.
2. agentgui (npm)
- Package: https://www.npmjs.com/package/agentgui
- Severity: critical
- Affected versions: 1.0.1127
- Downloads: 4078
- First seen: 11 August 2026 at 20:17 UTC
This is a confirmed supply-chain compromise of a legitimate package. APT malware detected: PolinRider, nullreceiver. Associated with threat actor(s): DPRK/Lazarus. Behaviours: data exfiltration, code execution, network activity, obfuscated code, install-time execution.
3. @guangnao/agent-proxy (npm)
- Package: https://www.npmjs.com/package/@guangnao/agent-proxy
- Severity: critical
- Affected versions: all
- Downloads: 2529
- First seen: 14 August 2026 at 20:06 UTC
On invocation of agent-proxy start, the CLI opens an outbound WebSocket to an obfuscated author-controlled endpoint (hub.client-llm.com, reconstructed at runtime via XOR+base64 with key 'gnP2p!7xQ' from a base64 blob in dist/cli.js) and accepts remote job messages containing arbitrary path and body fields. These are POSTed into the local proxy and forwarded to api.anthropic.com and the Codex/ChatGPT upstream using the installer's on-disk OAuth credentials, with responses streamed back to the hub. An onlyIfCredentialed gate ensures only installers with valid Claude/Codex logins are enrolled as worker nodes serving requests originated by the hub operator. The behavior is undocumented; the README states the tool is 'self-use only' and warns that upstream vendor ToS forbid resale or sharing of accounts. The destination URL is not present as a plaintext string, only reconstructed at runtime, concealing it from casual review. The combination provides a remote-controlled command channel (arbitrary request path/body) into the installer's authenticated AI session and silently monetizes the installer's paid subscription for the hub operator's traffic.
Judge assessment: This is consistent with a remote-controlled proxy/worm that enrolls the installer as a worker node and forwards authenticated AI traffic through an operator-controlled hub, not a normal local utility. The reconstructed exfil endpoint http://127.0.0.1:message/v1/messages
4. @kolbo/mcp (npm)
- Package: https://www.npmjs.com/package/@kolbo/mcp
- Severity: critical
- Affected versions: 1.57.1
- Downloads: 1917
- First seen: 11 August 2026 at 20:26 UTC
This is a confirmed supply-chain compromise of a legitimate package. Version 1.57.1 has been self-deprecated by the maintainer with an explicit backdoor warning. The src/auth.js file contains a trojanized payload hidden after module.exports behind hundreds of whitespace characters — classic trojanized-package concealment. The hidden code uses unicode-escaped require calls (\u0068\u0074\u0074\u0070 → 'http', \u0063\u0068\u0069\u006C\u0064\u005F\u0070\u0072\u006F\u0063\u0065\u0073\u0073 → 'child_process') to load modules without detection, sets global['r']=require and global['_V'] (a confirmed PolinRider/DPRK-Lazarus campaign marker), and contacts Ethereum RPC endpoints (https://eth.blockscout.com/api, https://1rpc.io/eth, https://eth.drpc.org) decoded from unicode-escaped strings — consistent with crypto-wallet draining or blockchain-based C2. The payload also includes a hardcoded Ethereum address (0xa322E5f3D311D3080e6f01210635e9aDC2490Ef1a) and spawns child processes. The campaign-polinrider rule match plus the maintainer's own deprecation notice leave no ambiguity.
5. @bikli/cli (npm)
- Package: https://www.npmjs.com/package/@bikli/cli
- Severity: high
- Affected versions: all
- Downloads: 595
- First seen: 12 August 2026 at 13:17 UTC
Part of the bikli supply chain attack. Pretends to be AI agent platform with Windows specific installer.
6. @caspianph/first-npm-package (npm)
- Package: https://www.npmjs.com/package/@caspianph/first-npm-package
- Severity: low
- Affected versions: all
- Downloads: 447
- First seen: 13 August 2026 at 22:55 UTC
This is someone figuring out a simple but unique way to skip scanning of package manifests: rewrite a template package.md file into a package.json file with a postinstall script. Smart, but noisy, yo.
7. @dreamguyxeon/baileyx (npm)
- Package: https://www.npmjs.com/package/@dreamguyxeon/baileyx
- Severity: critical
- Affected versions: all
- Downloads: 431
- First seen: 13 August 2026 at 06:40 UTC
This package is consistent with an attacker-controlled WhatsApp/Baileys fork that installs a preinstall hook and then hides payload logic behind heavy obfuscation, debugger traps, and encoded strings. The strongest indicator is the custom exfiltration path: lib/Socket/socket.js is classified as update.me / mmg.whatsapp.net custom-C2 and explicitly base64-encodes credential material like creds.noiseKey.public and creds.signedIdentityKey.public, which matches credential-and-session theft by a malicious publisher. The package.json preinstall of node ./engine-requirements.js guarantees code execution on install, and the attacker model here is a supply-chain implant publisher shipping a trojanized Baileys build to steal WhatsApp session data and route it to attacker infrastructure. The obfuscated files (lib/index.js, lib/WABinary/encode.js, lib/Socket/messages-send.js) and the suspicious domain set (update.me, creds.me, sock.ws) reinforce that this is not normal library minification but concealment of malicious behavior.
8. @mexc/shared-utils (npm)
- Package: https://www.npmjs.com/package/@mexc/shared-utils
- Severity: medium
- Affected versions: all
- Downloads: 356
- First seen: 14 August 2026 at 20:36 UTC
This package is a self-described security research PoC to see if the @mexc namespace can be claimed.
9. fsbrowse (npm)
- Package: https://www.npmjs.com/package/fsbrowse
- Severity: low
- Affected versions: 0.2.27
- Downloads: 288
- First seen: 11 August 2026 at 03:06 UTC
This is a minimal HTTP file server package (fsbrowse) with a well-established publisher (261 packages, zero prior malicious packages). The flagged findings are all false positives in test files: encodeURIComponent is standard URL encoding for file paths in an HTTP file server, new Function('return ' + ...) in test files is a common pattern for evaluating JSON-like expressions in test assertions, and POST method usage is straightforward HTTP API testing. The 'corporate-targeting' rule fired on test function names like testMkdirTraversal and testServerBasepathEnv, which are clearly security-oriented test cases verifying path traversal protections. The only IOC is http://localhost:3000, a test endpoint. The entrypoint (bin.js) is clean CLI argument parsing with no network calls, and there is no exfil path, no obfuscation, and no suspicious IOCs.
10. specials-resources-server (npm)
- Package: https://www.npmjs.com/package/specials-resources-server
- Severity: critical
- Affected versions: all
- Downloads: 277
- First seen: 9 August 2026 at 08:49 UTC
This package implements a classic staged dropper. The entrypoint index.js loads both lib/telemetry.js and _shim.js on import. _shim.js fetches a platform-specific binary from a set of obfuscated C2 endpoints (, and a DNS-TXT channel via wel1.ru domains), writes it to a temp directory under a disguised name (dotnetdiag.exe on Windows, .cache_ on Linux/macOS), marks it executable, then launches it as a detached background process with stdio suppressed so it survives the parent process and produces no visible output. The DNS-over-TXT fallback channel (txtFetch via et al.) is a sophisticated exfil-resilience mechanism used by advanced supply-chain malware. The description 'security holding package' is a social-engineering cover; the package was published one day ago with no repository, no author, and version 35.8.1 implying a fake legitimacy signal. The attacker model is supply-chain binary dropper: infect developer machines at npm install time, deploy persistent cross-platform implant.
Want help mitigating malicious packages before they reach your network?
ShieldedStack acts as a security proxy in front of npm, PyPI, NuGet, and Maven, helping teams detect and block malicious or risky packages before they reach developer machines or CI pipelines.
Learn more: https://shieldedstack.com
Credits for the core data goes to https://opensourcemalware.com