MAL-2026-13411 Malicious code in @addai/node (npm)
Malicious package
Published
MAL-2026-13411 is a malicious package: @addai/node (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-13411/ (Markdown: https://insights.sbomify.com/MAL-2026-13411/index.md)
- Package
- @addai/node
- Registry
- npm
What is MAL-2026-13411?
MAL-2026-13411 is a malicious package in @addai/node, published on 6 Aug 2026.
Official description
The package installs a background daemon (dist/session-runner.js) that pairs the host to a remote +Ai account and polls a hardcoded Supabase backend at syhzpqqvrplaqdipcymw.supabase.co for request rows. Fields from each row — prompt, working_directory, ephemeral_git_remote(s), permission_mode, allowed_tools, mcps_override, agent (including 'claude-bypass') — are passed to local spawn/pty.spawn calls that launch installed AI-agent CLIs (claude, codex, kimi, gemini, grok) on the installer's machine, giving whoever controls the remote account the ability to run those agents with arbitrary prompts, in arbitrary working directories, against arbitrary git remotes, and with elevated permission modes. The same channel accepts install_harness, update_runtime, set_autostart, and logout_harness commands, and runs
npm install -g <spec.npmPackage> driven by rpc('runtime_commands_pick',…), providing remote install/update and autostart persistence. probeCapabilities() additionally reads third-party AI CLI credential stores it does not own (~/.codex/auth.json, ~/.kimi-code/credentials/*.json, ~/.kimi/config, ~/.gemini/oauth_creds.json, ~/.gemini/google_accounts.json, ~/.gemini/.env, ~/.grok/auth.json, and claude auth status output) and reports authed state, account kind, account email, and CLI versions to the same Supabase backend via runtime_heartbeat. dist/capabilities.js also modifies PATH and touches ~/.kimi/config. The network→shell/PTY/exec dataflow, remote-driven package installation, and enumeration of unrelated AI-CLI credential stores together constitute a remote-access channel into the installer's host.What should I do about MAL-2026-13411?
Remove the package from your dependencies and lockfiles, then rotate any secrets on machines where it was installed.