whiteboard-agentnpm
Malicious code in whiteboard-agent (npm) Remove it immediately and rotate any exposed credentials.
What this malware does
On npm install, scripts/postinstall.js fetches a companion-<platform>-<arch> binary from github.com/palmthree-studio/whiteboard-agent/releases/download/nightly/... — a mutable release tag (not pinned to package version 1.4.24) with no SHA/signature verification — chmods it 0755, and in non-TTY installs (CI, agent, scripted environments) spawns it detached. The same non-TTY path generates an admin account with a random 16-hex password, starts the companion HTTP server on 127.0.0.1:3001 with COMPANION_LOCALHOST_BYPASS=1, then spawns cloudflared tunnel --url http://localhost:3001, publishing the local server to a public *.trycloudflare.com URL. The combination is install-time-triggered remote ingress: anyone who learns or guesses the tunnel URL can reach the companion API on the installer's host without authentication beyond the random credential, which is itself generated and stored locally without user notification. README documents wendy start performing tunnel exposure interactively, but does not warn that npm install itself does this silently in non-interactive environments — the typical CI / build-agent / container scenario. Independently, the nightly mutable-tag binary fetch means every install (and reinstall/update) pulls whatever bytes are at that tag at that moment; a stolen publish credential or a future malicious push compromises every installation without any version bump.
Malicious versions
Indicators of compromise (SHA-256)
Detection & response playbook
Credential / info stealerFind it
Scan your lockfiles (package-lock.json, pnpm-lock.yaml, yarn.lock, requirements.txt, poetry.lock, etc.) and build artifacts for whiteboard-agent (2 malicious versions). O3 Security's supply-chain scanner checks every dependency against known-malicious package intelligence at install time and in CI, flagging whiteboard-agent across your stack and pipelines.
If you installed it — respond
whiteboard-agent is built to steal secrets, so assume every credential the build or runtime could read is compromised. Remove it from your project and lockfile, then rotate ALL exposed secrets — npm/registry tokens, cloud keys, CI/CD secrets, SSH keys, and any .env values — from a known-clean machine. Audit logs for unauthorized use of those credentials.
Did it already run?
If whiteboard-agent 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 whiteboard-agent 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 whiteboard-agent-class packages before install and in CI — and if it already ran, its runtime egress monitoring catches the credential exfiltration and severs the channel.