OpenSSF/OSV advisory MAL-2026-13445 confirms this npm version as malicious. server.js starts an Express + WebSocket server via app.listen(PORT,...) with no host argument, defaulting the bind to 0.0.0.0, with fully open CORS (Access-Control-Allow-Origin: *) and no authentication. A WebSocket route /terminal-stream and HTTP POST /api/v1/workspace-terminal-command each spawn a bash or powershell.exe PTY and pipe network-received bytes directly into ptySession.write(...), giving any peer that...
Source
OpenSSF Malicious Packages via OSV
Summary
Malicious code in elephant-tusk-runner (npm)
Details
server.js starts an Express + WebSocket server via app.listen(PORT,...) with no host argument, defaulting the bind to 0.0.0.0, with fully open CORS (Access-Control-Allow-Origin: *) and no authentication. A WebSocket route /terminal-stream and HTTP POST /api/v1/workspace-terminal-command each spawn a bash or powershell.exe PTY and pipe network-received bytes directly into ptySession.write(...), giving any peer that can reach port 4201 an interactive shell on the host running the tool. Additional endpoints on the same listener call child_process.exec with attacker-controllable arguments, including `git clone --depth=1 ${targetGitUrl}...`, `composer install && php artisan key:generate`, `npm install`, `php "${terminalFile}"`, and taskkill/kill on arbitrary PIDs, plus a fetch-proxy that forwards arbitrary target URLs. The listener is started by `npm start` and by the `tusk`/`elephant` CLI shipped in the package's bin entries. On any developer or build machine on a shared or reachable network, this exposes a full remote-shell and remote-code-execution surface for the duration the tool runs.
Decision reason
OpenSSF Malicious Packages via OSV confirms elephant-tusk-runner@1.0.0 as malicious (MAL-2026-13445): Malicious code in elephant-tusk-runner (npm)