Your RSA-2048 keys break in 2030. Find every one of them before attackers do.
Malicious package

@agent-link/agentnpm

@agent-link/agent is a confirmed malicious npm package (MAL-2026-10705) that executes malicious code on install (malicious versions 0.1.269, 0.1.270, 0.1.271…). Do not install it — remove it immediately and rotate any exposed credentials.

Malicious code in @agent-link/agent (npm)

MAL-2026-10705
Immediate action
Remove the package, then rotate any secrets the build/runtime could reach.
npm uninstall @agent-link/agent

What this malware does

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.

Malicious versions

41 flagged
0.1.2690.1.2700.1.2710.1.2720.1.2730.1.2740.1.2750.1.2770.1.2780.1.2790.1.2800.1.2810.1.2820.1.2830.1.2840.1.2850.1.2870.1.2890.1.2920.1.2930.1.2940.1.2960.1.2980.1.2990.1.3020.1.3030.1.3040.1.3070.1.3080.1.3100.1.3110.1.3120.1.3140.1.3160.1.3180.1.3190.1.3200.1.3220.1.3230.1.3240.1.325

Indicators of compromise (SHA-256)

b3a178213d6597e731a313e9ec92f5b2afb8b955e3205500fa67ff6dc1ca989c
d482435ee79a0a7d632e1059787cde8173eab9c01ce75854e786a4da31d125db
4278037c2425e8f4a45b96bdf5dc9f4fb18a8fa705d52600d313da4c30b4b1cc
8f58784e1cea34de7ee3fc4f8489e32931659524b24c64051783210f0cd4cade
947b4ed25a2191b8b712002a627f9573695fad823d760c3812f2459958ed13fc
bb903bf72dbf94360d4b59f147bd7eaa8ade44f249c472334dd87d16558db5fc
cfe1b0819afde0fd8ed370cc911ecb60f7e8de1d277cba4c4f40dc4da2b0e66d
23b248d2d132e1a620eadaab2ef2d74f0bdf3920e679c40fcba55c18fb67d80c
33a35f5fa1e44dfcc26236fe2a10d7d3fe3c62a079dad7d1880f60a0e4f5a5bc
4bcbde2d0f6c5a4b81a86c25475d7e4a460887d9ba60c11b433e13a04d322f2a
a7f119f7622c8874ef779e15bed666f0659a7a85b1f6a4cac5648264d8d2deb7
10f60ac8ac68b9ea34e1f0147a4675a283561910df3a8bcd48c91a6af7acd7f5
3afbdda9662510b9bc36c58767b424e1ba47838b50783dbd7b977490ed2119cf
aa37dc54b80236fe0d1bf7eca73200bd31762e207d0e64c9d90a9690a6c21c8c
dd3fefbf53f93e3bbe09b9f03c6f7c73e259775c48aa3ebd8ead653afc411faf
08f8c8942bfdf12a4b8e00b4306ec0b629024a6d39bf1d378824b439ba724356
1de63a0d2014350f180994ab39b5b7cd004ec85cec18dead9906d970e20ed6fc
6044506d0bb6c1093350c48a802db939c8d8926e6c35c64f68ea7cf1b00beab9
629d3769a58cc71939ce3ceb9b8034ca9f51f7789c84a92d6580e3090251b0a7
7e2ee45ea00f90911f0ff5b59d9e467009d1f4b226d1dedab0e5f60fb00ea6a7
90f7f274748137bc2bba20582fcba672d868fdf172de49c93f43028610b0a43a
a54ab78ab4051000c97688fa8ba82c80a76dd421c40b80ef9dfec2932d91a360
a65773f09ae0629d99d6e77e6b3162a0ecc032d49f4d1f1e80accd654c1a935a
26fec2ed49b27382954612c21ee577ed4505e1723692f0728db846047da60bad
9c5ba8cbffba24b651538873b170c5513151be1fe8aea22f99edf927325988e3
5d6dfe55a8f420dbe3f483f20e0e464b344914749be12ae0b9d91893bf7be93e
6e6ead7b2d42dbf14db5f762261808c904c1c3651fe7c64ef62239ef9bcb307a
76927680c892820a7356d7a2a7d8067a3bab8c185ae5292da5936ea40b1ce969
d6eda73a24dcaadefafc9d5c51ce68a38af3a0bb3567f19edbcb0487159c0558
1e1631888c5e02e2079bba55868e5c11e5a060386d7e326c9ddc5694f153ccc1
4c2b8df370a7e139cdbe7add6b6245c8237d2c85f6c4135e2d25f6d4100522db
6442aa18e474535f8d89b662a82d7a024bc85b81ba746d324edfaaa8343b6a99
a7018626958a160ab35a17b31ddd130ba9b6046b870f115b0fa83622b66bd912
0599cf46b13d8e49970defa6efcab5c3c5c443b69e23410c5b6ea39f9de9e771
6f4c497a94bb043382fd02a3a770121074908c2b33ba44466c342bfd9f9b0422
738c5859cfa0d45ec880a457799d477dac5ae128f340b7499b742438d0bafdd6
f31aebf266e0b372b02ce60a45d3e526a979434f5c9eab63559cd62e30439471
ffedf56aa5c1a180796cb8b10399aba76e466238dfe46240c13dd4711c92f295
0c2db810c52cb641ba0eadab0e0312d9a2f98eff6d34cee160f8fe44acdfd7a4
0d69969cfdb50817d375081008c9f006ffdf855f1abece639a87166298ec9f68
3a308c26270ade143293f2b3364bec9a377b369dd93bee6ebdca0566a1dfff51

Detection & response playbook

Malicious package
  1. Find it

    Scan your lockfiles (package-lock.json, pnpm-lock.yaml, yarn.lock, requirements.txt, poetry.lock, etc.) and build artifacts for @agent-link/agent (41 malicious versions). O3 Security's supply-chain scanner checks every dependency against known-malicious package intelligence at install time and in CI, flagging @agent-link/agent across your stack and pipelines.

  2. If you installed it — respond

    Remove @agent-link/agent 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.

  3. Did it already run?

    If @agent-link/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.

  4. How O3 protects you

    O3 blocks @agent-link/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

No. @agent-link/agent on npm has been identified as a malicious package (versions 0.1.269, 0.1.270, 0.1.271, 0.1.272, 0.1.273, 0.1.274, 0.1.275, 0.1.277, and 33 more flagged). It should be removed immediately — do not install or keep it in your dependency tree.

Campaign

IN-MAL-2026-010745IN-MAL-2026-016050IN-MAL-2026-016431IN-MAL-2026-016426IN-MAL-2026-016443IN-MAL-2026-016446IN-MAL-2026-016411IN-MAL-2026-016439IN-MAL-2026-016440IN-MAL-2026-016422IN-MAL-2026-016424IN-MAL-2026-016436IN-MAL-2026-016437IN-MAL-2026-016442IN-MAL-2026-016423IN-MAL-2026-016429IN-MAL-2026-016428IN-MAL-2026-016448IN-MAL-2026-016425IN-MAL-2026-016432IN-MAL-2026-016430IN-MAL-2026-016412IN-MAL-2026-016417IN-MAL-2026-016413IN-MAL-2026-016435IN-MAL-2026-016419IN-MAL-2026-016427IN-MAL-2026-016415IN-MAL-2026-016410IN-MAL-2026-016416IN-MAL-2026-016434IN-MAL-2026-016420IN-MAL-2026-016421IN-MAL-2026-016445IN-MAL-2026-016441IN-MAL-2026-016438IN-MAL-2026-016433IN-MAL-2026-016444IN-MAL-2026-016447IN-MAL-2026-016414IN-MAL-2026-016418

References

Credits

  • Amazon Inspector · finder

Detect & block this

O3 blocks @agent-link/agent-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.

Explore

@agent-link/agent (npm) malicious package — MAL-2026-10705 | O3 Security