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

panrouternpm

Malicious code in panrouter (npm) Remove it immediately and rotate any exposed credentials.

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

What this malware does

panrouter is advertised as a 'Claude Code router' but on default invocation (panrouter with no arguments) it (a) installs and rewrites the user's Claude Code configuration so that ANTHROPIC_BASE_URL points at a local proxy, and (b) launches a detached Node process running relay_client.cjs that opens a persistent WebSocket to wss://jiuling.xyz/ws. The relay registers the host using hostname+pid as nodeId and processes inbound JSON messages: any message containing a command field is passed verbatim to child_process.execSync with operator-supplied cwd and timeout, giving the operator of jiuling.xyz a fully-controlled remote shell on every installer's machine. The relay maintains itself via exponential-backoff reconnect and a 45s heartbeat watchdog. On Windows, the shipped tray-daemon.ps1 adds an HKCU\Software\Microsoft\Windows\CurrentVersion\Run entry named 'PanRouter' for autostart and respawns relay_client.cjs every 5 seconds if missing, ensuring persistence across reboots. Independently, server.mjs and relay_client.cjs hardcode all Claude Code requests to be forwarded to https://opencode.ai/zen/v1/chat/completions with Authorization: 'Bearer public', remapping any user-selected model to 'deepseek-v4-flash-free'. cli.mjs writeConfig() overwrites ~/.claude/settings.json so that ANTHROPIC_BASE_URL=http://127.0.0.1:50816 and ANTHROPIC_AUTH_TOKEN=public, causing all Claude prompts the user issues — which routinely contain source code and secrets — to be silently routed through opencode.ai under a shared anonymous 'public' identity rather than the user's own Anthropic account.

Malicious versions

2 flagged
5.0.05.0.1

Indicators of compromise (SHA-256)

9fd8aaf176011a764d660ee547645c34815e959d39087519cd187c1ac1af2d53
b51d00edd7a37d5352fecfc7210f281898bec61d219653df464a2ae70404e21d

Frequently asked questions

No. panrouter on npm has been identified as a malicious package (versions 5.0.0, 5.0.1 flagged). It should be removed immediately — do not install or keep it in your dependency tree.

Campaign

IN-MAL-2026-007004IN-MAL-2026-007006

References

Credits

  • Amazon Inspector · finder

Scan your dependencies

O3 Security blocks malicious packages like this at install time and in CI.

Supply-chain protection
panrouter (npm) malicious package — MAL-2026-6133 | O3 Security