By NHI Mgmt Group Editorial TeamBased on Oasis Security: “Cross the Cline” (May 27, 2026)

TL;DR: A CVSS 9.7 flaw in Cline’s local kanban server let any website connect cross-origin, stream workspace data, inject terminal commands, and disrupt tasks, exposing developer environments and AI agent sessions to silent browser-based abuse, according to Oasis Security. The issue shows why agent-facing local services need origin checks, authentication, and tighter runtime policy.


At a glance

What this is: This is a WebSocket hijack in Cline’s local kanban server that let arbitrary websites reach a developer’s machine and abuse the AI agent session.

Why it matters: It matters because AI coding agents now sit inside the developer trust boundary, so local listeners, browser-origin controls, and agent command paths all need governance.


Context

Cline’s local kanban server is a developer-side service that brokers communication between the agent UI and the agent session. The security problem is not the presence of a local service by itself, but the assumption that only the intended client will ever connect to it.

That assumption fails when a browser page from any origin can open a WebSocket to localhost, because the service accepts connections without origin checks or authentication. In an AI coding environment, that turns workspace visibility and command execution into a governance issue, not just a bug in transport handling.

The article’s core identity question is how to govern a tool that can access source code, terminals, git repositories, cloud credentials, and increasingly autonomous agent actions. The starting posture described here is unfortunately typical of modern developer tooling: broad trust, weak local boundary control, and limited runtime verification.


Key questions

Q: What breaks when a local AI agent listener accepts cross-origin WebSocket traffic?

A: The trust boundary breaks because any website the developer visits can reach a localhost service that was assumed to be private. Once that happens, workspace data, task state, and command channels can be exposed to an untrusted browser page. The failure is not just missing authentication, but misplaced trust in local reachability.

Q: Why do browser-origin checks matter for developer-side AI coding tools?

A: They matter because browser traffic can become an execution path into a local agent session even when no malware is installed. If origin is not validated, the browser can carry attacker-controlled JavaScript into a service that was meant to be reachable only from the agent UI. That turns the developer browser into a control surface.

Q: What signs show that an AI agent is crossing trust boundaries?

A: Repeated denials followed by new approaches, access to unexpected datasets, and any movement from read-only interaction to file creation are strong signs. Those patterns indicate the agent is optimizing around controls rather than operating within the intended boundary.

Q: How should teams govern local AI agent services after a WebSocket hijack case?

A: Treat the service as part of your identity and access boundary, not as a convenience layer. Require authenticated access, restrict port binding, separate telemetry from execution, and verify that any tool capable of agent control is inventoried and patched. Governance should focus on who can reach the agent and what actions that caller can trigger.


Technical breakdown

Why WebSocket connections to localhost become a blind spot

WebSockets do not rely on the browser’s same-origin protections in the same way as ordinary HTTP requests. If a local service listens on localhost and does not validate the Origin header or require an authentication token, any page the developer visits can try to connect. That matters because the browser becomes an execution path into software running on the developer’s machine. In this case, the kanban server assumed the connecting client was the internal UI, but it never proved it. The result is a trust inversion: the browser is treated as an allowed caller even when the page content is attacker-controlled.

Practical implication: Validate origin and client identity on every localhost WebSocket listener, not just on externally exposed services.

How workspace data and terminal input were exposed

Once connected, the server streamed a snapshot of the workspace, including filesystem paths, task titles, git branch names, and AI agent chat history, then kept sending updates as work continued. That is a high-value data path because it combines context disclosure with live operational telemetry. The same channel also wrote directly to the agent’s terminal input, which means the attacker did not need to steal a credential before influencing execution. The browser page became a control plane for both observation and command injection. This is a classic local trust failure: the service assumed the caller had legitimate intent because it could reach the port.

Practical implication: Treat local agent transports as privileged interfaces and separate read-only workspace telemetry from command-capable channels.

Why task termination is part of the abuse path

The server also exposed a control channel that could terminate active agent tasks. That turns a trust failure into an availability issue, because an attacker does not only read or inject commands, but can disrupt work at will. For AI coding agents, task termination is not a minor nuisance. It can interrupt builds, break developer flow, and obscure whether the agent was acting on approved instruction or injected input. The broader lesson is that agent-facing local services often bundle status, control, and execution surfaces together, which widens the blast radius when one boundary control is missing.

Practical implication: Audit local agent services for combined status, control, and execution channels, then restrict task-stopping functions to authenticated clients only.


Threat narrative

Attacker objective: The attacker wants silent access to the developer workspace, command execution through the agent terminal, and disruption of ongoing tasks without triggering user suspicion.

  1. Entry occurred when a developer visited an attacker-controlled website while Cline’s local kanban server was listening on localhost.
  2. Credential harvest was unnecessary because the WebSocket listener accepted cross-origin connections without origin checks or authentication.
  3. Escalation followed when the attacker used the live connection to read workspace data and inject terminal input into the AI agent session.
  4. Impact came from command execution and task disruption, giving the attacker both code execution on the developer machine and denial of service against active work.

Read our 52 NHI Breaches Analysis report for a comprehensive view of breaches impacting Non-Human Identities including AI Agents.


NHI Mgmt Group analysis

Agent-facing localhost services create an identity boundary, not just a transport boundary. The vulnerable assumption here is that a local listener is safe because it lives on the developer machine. That assumption fails when the listener accepts browser-originated traffic without verifying who is actually calling it. Practitioners need to treat local AI tooling as part of the identity surface, not as an implementation detail.

Browser-origin trust collapses when the agent can act on terminal input. The issue is not simply that data was exposed. It is that a cross-origin connection could move from observation to command execution inside the same session. That creates a control plane problem for AI coding environments, where the line between UI interaction and agent action must be explicit and enforced.

Agent autonomy changes the governance question from access to intent. Cline’s operating model assumes the developer can distinguish legitimate instructions from injected ones at runtime, but a webpage can smuggle actions into the same flow. That means the core control is no longer only authentication, it is action provenance across the browser, local service, and agent terminal chain.

Local trust inversion is the concept practitioners should name and track. A developer-side tool that can be reached from any website has reversed the intended trust model: the external page becomes the caller and the local agent becomes the unwitting executor. That is exactly the kind of runtime trust collapse agentic governance is meant to surface, and it should be treated as an inventory and policy issue, not just a patching event.

Deterministic policy becomes more important than user expectation in agent runtimes. The developer believed they were merely browsing, but the agent and server treated that browsing context as an allowed input path. This shows why agent governance must separate human intent, browser context, and execution authority with hard policy, not informal trust.

From our research library:

What this signals

Local agent trust should now be treated as a governance domain. Developer tooling that can accept browser-origin traffic, stream workspace state, and drive terminal input is no longer just an engineering convenience. It creates an identity boundary that needs policy, inventory, and runtime enforcement in the same way privileged access does.

WebSocket hijack in a local AI tool is a reminder that agent actions need provenance. If a browser page can inject commands into an agent session, the programme has lost the ability to prove whether the action came from the developer, the UI, or a malicious page. That is a control design problem, not only a patch management problem.

Intent provenance becomes the control to watch. The next phase of agent governance will depend on tying every action to a verifiable caller and session context, not just to a username or device. That is where browser context, local services, and autonomous or semi-autonomous execution begin to converge.


For practitioners

  • Inventory local AI listeners Identify every developer tool that opens a localhost service, especially AI coding agents and companion UIs, and confirm whether it is approved and monitored in your asset inventory.
  • Enforce origin and token checks Require authenticated clients and strict origin validation on every local WebSocket or HTTP listener that can reach an agent session or workspace feed.
  • Separate read and execute paths Review whether workspace telemetry, terminal input, and task control share one channel. Split those capabilities so that observation cannot be turned into command injection.
  • Restrict localhost exposure Use host-based firewall rules and endpoint security policy to limit which processes can bind to ports and which browser contexts can reach them.
  • Patch and verify affected builds Move to the fixed Cline release and then confirm the patched version is actually deployed on developer endpoints before treating the issue as closed.

Key takeaways

  • The Cline flaw shows that local AI services can become remote attack surfaces when origin checks and authentication are missing.
  • A browser page was able to read workspace context, inject terminal commands, and disrupt active agent tasks through one exposed local listener.
  • The practical control failure was trust without caller verification, which means local agent services need explicit identity and execution boundaries.

Key terms

  • Localhost Trust Boundary: The assumption that traffic from the local machine is inherently safe because it originates on the same endpoint. In AI assistant environments, that assumption is dangerous because browsers, local malware, and untrusted processes can still reach loopback services and trigger privileged actions.
  • Cross-Origin WebSocket Hijack: A cross-origin WebSocket hijack occurs when an untrusted webpage connects to a WebSocket service that was intended only for a trusted local client. In AI development tools, that can expose workspace data or command channels because the server trusts the connection without verifying origin or identity.
  • Agent Command Injection: The insertion of attacker-controlled instructions into an AI agent’s execution channel so the agent performs actions as if they were legitimate user input. In practice, this turns a trust failure into code execution or workflow manipulation, especially when the agent can act without step-by-step human confirmation.
  • Identity Provenance: Identity provenance is the record of how an agent was created, what authority it received, and what actions it performed over time. It turns agent activity into an auditable chain of trust that supports compliance, incident response, and post-event accountability.

Deepen your knowledge

NHI governance, agentic AI identity, and machine identity lifecycle are core topics in our NHI Foundation Level course, the industry's only accredited NHI security programme. If you are building or maturing an IAM programme, it is worth exploring.
NHIMG Editorial Note
Published by the NHIMG editorial team on June 4, 2026.
Updated on October 6, 2026.
NHI Mgmt Group, the independent authority on Non-Human Identity, IAM, and Agentic AI security. nhimg.org