> status: mostly fine. patch anyway.practical AI security · est. 2026

Brief · Builders

Fixed in September. Your scanner still doesn't know.

By alkizz ·

In a report dated Oct 19, Pillar Security showed that opencode, on Windows and WSL, could run an attacker's code just because you connected to a remote MCP server. No prompt injection. No click.

Here's how it worked. During the automatic OAuth handshake, opencode took the MCP server's authorization_endpoint and handed it to the open package. On Windows, open@10.x routes that through PowerShell without escaping. So a server that advertises https://evil.test/$(...) gets its $(...) executed on your machine. macOS and Linux aren't affected.

Affected: opencode-ai 1.0.137 through 1.18.32, on Windows or WSL, with remote MCP servers configured. Pillar proposes a CVSS of 9.8, and puts opencode at about 3 million weekly npm downloads and 211K GitHub stars. Those are Pillar's numbers. There's no CVE and no advisory. Per Pillar, the maintainers consider malicious MCP servers outside their threat model, and the fix shipped as a refactor in 1.18.33, published to npm on Sep 28. No in-the-wild exploitation has been reported.

CVE-based scanners and dependency alerts key on CVEs. This one doesn't have one, so they won't flag it. Your own version inventory still can.

(Not to be confused with the separate OpenCode Console key breach, which we covered here.)

Sidebar: the plumbing is the target

Two more agent servers shipped with "everyone, everything" defaults:

No exploitation has been reported for either. The pattern: the connections between agents (OAuth handshakes, enrollment endpoints, session APIs) are now where the bugs live.

My take: "out of our threat model" is a fine sentence for a design doc and a terrible one for a release note. If the fix matters enough to ship, it matters enough to tell people.

What to do:

Sources

← All briefs