High Risk →

debug_attach

Attach to a running target without resetting or downloading firmware. Uses launch.json config with request=

How to control debug_attach ↓

What debug_attach does on Openocd

AI agents invoke debug_attach to trigger actions in Openocd. What it does depends on the arguments the agent supplies, and its effects often reach beyond the immediate call — builds kicked off, notifications sent, workflows started.

High Risk

Why debug_attach needs a policy

This tool attaches a debugger to a running embedded target process. It triggers an external operation (GDB/OpenOCD debug session attachment) without modifying or deleting data, but it does interact with and gain control over a running system, which constitutes executing an external operation. Misuse could allow inspection or manipulation of a live embedded system.

From the tool's definition Attach to a running target without resetting or downloading firmware. Uses launch.json config with request=

Documented attack patterns abuse exactly the kind of access debug_attach gives an agent:

How to control debug_attach

PolicyLayer is an MCP gateway — it sits between your AI agents and Openocd, and nothing reaches the server without passing your rules. This is the rule we recommend for debug_attach:

policy.json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "debug_attach": {
      "limits": [
        {
          "counter": "debug_attach_rate",
          "window": "minute",
          "max": 10,
          "scope": "grant"
        }
      ]
    }
  }
}

debug_attach stays usable, but rate-capped — a runaway agent can't fire it dozens of times a minute. Everything else on the server is denied unless you say otherwise.

  1. Create a free account and register Openocd — nothing to install.
  2. Add this policy — paste it, or build it visually.
  3. Point your MCP client (Claude, Cursor, anything) at your gateway URL.
RATE-LIMIT THIS TOOL →

Free to start. No card required.

Related tools and policies

Go deeper

Questions about debug_attach

What does the debug_attach tool do? +

Attach to a running target without resetting or downloading firmware. Uses launch.json config with request=. It is categorised as a Execute tool in the Openocd MCP Server, which means it can trigger actions or run processes. Use rate limits and argument validation.

How do I enforce a policy on debug_attach? +

Register the Openocd MCP server in PolicyLayer and add a rule for debug_attach: allow, deny, rate-limit, or require approval. Point your MCP client at the PolicyLayer proxy URL and the rule is enforced on every call, before it reaches Openocd. Nothing to install.

What risk level is debug_attach? +

debug_attach is a Execute tool with high risk. Execute tools should be rate-limited and have argument validation enabled.

Can I rate-limit debug_attach? +

Yes. Add a rate_limit block to the debug_attach rule in your PolicyLayer policy. For example, setting max: 10 and window: 60 limits the tool to 10 calls per minute. Rate limits are tracked per agent session and reset automatically.

How do I block debug_attach completely? +

Set action: deny in the PolicyLayer policy for debug_attach. The AI agent will receive a policy violation error and cannot call the tool. You can also include a reason field to explain why the tool is blocked.

What MCP server provides debug_attach? +

debug_attach is provided by the Openocd MCP server (luiox/openocd-mcp). PolicyLayer sits as a proxy in front of this server to enforce policies before tool calls reach the server.

Enforce policy on every Openocd tool call.

Start from Openocd, add the rest of your stack, and see everything your agents can call. Then put policy on all of it.

Free to start. No card required.

14 Openocd tools catalogued and risk-classified — across an index of 43,000+ MCP servers.

// GET IN TOUCH

Have a question or want to learn more? Send us a message.

Message sent.

We'll get back to you soon.