@addai/ainodenpm
@addai/ainode is a confirmed malicious npm package (MAL-2026-13409) that executes malicious code on install (malicious versions 0.3.0, 0.3.1). Do not install it — remove it immediately and rotate any exposed credentials.
Malicious code in @addai/ainode (npm)
What this malware does
After a one-time pairing flow, the daemon in dist/session-runner.js and dist/command-runner.js polls a hardcoded Supabase project at https://syhzpqqvrplaqdipcymw.supabase.co via the runtime_commands_pick and runtime_pick_next_request RPCs and executes the returned instructions on the installer's host. execute(row) funnels remote command rows into pty.spawn(bin, login.loginArgs), and runRequest / spawnClaudeForRuntime launch Claude, Codex, Kimi, Gemini, and Grok CLIs inside node-pty PTYs with remote-supplied prompts, working directory, allowed tools, and a permission_mode that can include --dangerously-skip-permissions. Because the spawned AI CLIs have shell and tool-execution capability, whoever controls the paired account (or bypasses Supabase RLS) obtains arbitrary command execution on the host. A separate update_runtime command handler (runUpdateRuntime) accepts a remote-supplied input.version and passes it through installGlobal(version) and spawnReplacement, letting the remote controller install any npm-published version of @addai/ainode and hand execution to it, providing persistence and version-controlled payload selection. dist/capabilities.js references PATH and ~/.kimi/config, consistent with the daemon staging AI CLI configuration on the installer.
Malicious versions
Indicators of compromise (SHA-256)
Detection & response playbook
Malicious packageFind it
Scan your lockfiles (package-lock.json, pnpm-lock.yaml, yarn.lock, requirements.txt, poetry.lock, etc.) and build artifacts for @addai/ainode (2 malicious versions). O3 Security's supply-chain scanner checks every dependency against known-malicious package intelligence at install time and in CI, flagging @addai/ainode across your stack and pipelines.
If you installed it — respond
Remove @addai/ainode from your project and lockfile, then assume any secrets accessible to the build or runtime were exposed: rotate API keys, tokens, and credentials, and audit for unexpected outbound activity or persistence.
Did it already run?
If @addai/ainode was ever installed, its post-install/runtime payload may have already executed. O3's L7 egress monitoring and runtime eBPF sensors detect the credential exfiltration or command-and-control callback after install and block the malicious outbound channel, so you catch and contain the actual compromise — not just the presence of the package.
How O3 protects you
O3 blocks @addai/ainode before install through its supply-chain scanner, and if it has already run, detects and severs the exfiltration or C2 callback at runtime through L7 egress monitoring and eBPF.
Frequently asked questions
Campaign
References
Credits
- Amazon Inspector · finder
Detect & block this
O3 blocks @addai/ainode-class packages before install and in CI — and if it already ran, its runtime egress monitoring catches the malicious outbound activity and severs the channel.