MAL-2026-10705
Malicious code in @agent-link/agent (npm)
Details
--- _-= Per source details. Do not edit below this line.=-_
## Source: amazon-inspector (a7018626958a160ab35a17b31ddd130ba9b6046b870f115b0fa83622b66bd912) The package's runtime connects to a hardcoded WebSocket relay (default wss://msclaude.ai) and dispatches messages received from that relay directly into a locally spawned PTY. terminal.js spawns the user's default shell (or powershell.exe on Windows) via node-pty and exposes a write() method that pipes network-received bytes straight into the shell (`ptyProcess?.write(data)`); connection.js routes `terminal_open` / `terminal_input` events from the WebSocket's `on('message')` handler to that PTY. This grants whoever controls the relay endpoint, or anyone holding a session URL, interactive command execution on the host running the agent, including via a `ping`/`GET`/`POST`/`http.request` command path in dist/local-control-client.js, dist/local-control-http.js, dist/tunnel.js, dist/upgrade-operations.js, and worker/worker.cjs. Publisher provenance for the relay is unclear: package.json homepage points at github.com/yilee/agentlink, the README's Related link points at a different GitHub owner (kailunshi_microsoft/AgenticWorker), and the branding plus hardcoded relay domain is msclaude.ai, which is not tied to a verifiable publisher identity. In addition, emergency-upgrade.js fetches a release manifest from https://msclaude.ai/files/agent/latest.json (and beta.json) and downloads a replacement tarball from the same origin, verifying only hash/size/name against a manifest served by that same origin — so control of msclaude.ai also grants signed-by-manifest package replacement.
Are you affected?
Enter the version of the package you're using.
Affected packages
No fixed version published yet for @agent-link/agent (npm). Pin to a known-safe version or switch to an alternative.
References
- https://www.npmjs.com/package/@agent-link/agent/v/0.1.269 [PACKAGE]
- https://www.npmjs.com/package/@agent-link/agent/v/0.1.325 [PACKAGE]
- https://www.npmjs.com/package/@agent-link/agent/v/0.1.319 [PACKAGE]
- https://www.npmjs.com/package/@agent-link/agent/v/0.1.285 [PACKAGE]
- https://www.npmjs.com/package/@agent-link/agent/v/0.1.280 [PACKAGE]
- https://www.npmjs.com/package/@agent-link/agent/v/0.1.272 [PACKAGE]
- https://www.npmjs.com/package/@agent-link/agent/v/0.1.310 [PACKAGE]
- https://www.npmjs.com/package/@agent-link/agent/v/0.1.293 [PACKAGE]
- https://www.npmjs.com/package/@agent-link/agent/v/0.1.283 [PACKAGE]
- https://www.npmjs.com/package/@agent-link/agent/v/0.1.299 [PACKAGE]
- https://www.npmjs.com/package/@agent-link/agent/v/0.1.279 [PACKAGE]
- https://www.npmjs.com/package/@agent-link/agent/v/0.1.308 [PACKAGE]
- https://www.npmjs.com/package/@agent-link/agent/v/0.1.294 [PACKAGE]
- https://www.npmjs.com/package/@agent-link/agent/v/0.1.281 [PACKAGE]
- https://www.npmjs.com/package/@agent-link/agent/v/0.1.287 [PACKAGE]
- https://www.npmjs.com/package/@agent-link/agent/v/0.1.320 [PACKAGE]
- https://www.npmjs.com/package/@agent-link/agent/v/0.1.323 [PACKAGE]
- https://www.npmjs.com/package/@agent-link/agent/v/0.1.270 [PACKAGE]
- https://www.npmjs.com/package/@agent-link/agent/v/0.1.303 [PACKAGE]
- https://www.npmjs.com/package/@agent-link/agent/v/0.1.316 [PACKAGE]
- https://www.npmjs.com/package/@agent-link/agent/v/0.1.322 [PACKAGE]
- https://www.npmjs.com/package/@agent-link/agent/v/0.1.277 [PACKAGE]
- https://www.npmjs.com/package/@agent-link/agent/v/0.1.278 [PACKAGE]
- https://www.npmjs.com/package/@agent-link/agent/v/0.1.284 [PACKAGE]
- https://www.npmjs.com/package/@agent-link/agent/v/0.1.311 [PACKAGE]
- https://www.npmjs.com/package/@agent-link/agent/v/0.1.296 [PACKAGE]
- https://www.npmjs.com/package/@agent-link/agent/v/0.1.324 [PACKAGE]
- https://www.npmjs.com/package/@agent-link/agent/v/0.1.275 [PACKAGE]
- https://www.npmjs.com/package/@agent-link/agent/v/0.1.318 [PACKAGE]
- https://www.npmjs.com/package/@agent-link/agent/v/0.1.274 [PACKAGE]
- https://www.npmjs.com/package/@agent-link/agent/v/0.1.312 [PACKAGE]
- https://www.npmjs.com/package/@agent-link/agent/v/0.1.298 [PACKAGE]
- https://www.npmjs.com/package/@agent-link/agent/v/0.1.302 [PACKAGE]
- https://www.npmjs.com/package/@agent-link/agent/v/0.1.292 [PACKAGE]
- https://www.npmjs.com/package/@agent-link/agent/v/0.1.282 [PACKAGE]
- https://www.npmjs.com/package/@agent-link/agent/v/0.1.304 [PACKAGE]
- https://www.npmjs.com/package/@agent-link/agent/v/0.1.314 [PACKAGE]
- https://www.npmjs.com/package/@agent-link/agent/v/0.1.273 [PACKAGE]
- https://www.npmjs.com/package/@agent-link/agent/v/0.1.271 [PACKAGE]
- https://www.npmjs.com/package/@agent-link/agent/v/0.1.289 [PACKAGE]
- https://www.npmjs.com/package/@agent-link/agent/v/0.1.307 [PACKAGE]