High Risk →

wait_for_selector

Waits for an element to appear in the DOM.

How to control wait_for_selector ↓

What wait_for_selector does on Chrome MCP Docker

AI agents invoke wait_for_selector to trigger actions in Chrome MCP Docker. 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 wait_for_selector needs a policy

This tool executes a wait operation in a Chrome browser, making it Execute rather than Read. While it doesn't delete data (not Destructive) or move money (not Financial), it actively manipulates browser execution flow by polling the DOM state. If an attacker instructs an AI agent to wait for selectors on a phishing page or during unauthorized session hijacking, they could facilitate credential theft or fraud.

From the tool's definition Tool controls Chrome browser through DevTools Protocol and 'waits for an element to appear in the DOM'—this is a blocking/polling operation that triggers external browser-side effects and interacts with live page state.

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

How to control wait_for_selector

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

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

wait_for_selector 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 Chrome MCP Docker — 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 wait_for_selector

What does the wait_for_selector tool do? +

Waits for an element to appear in the DOM. It is categorised as a Execute tool in the Chrome MCP Docker MCP Server, which means it can trigger actions or run processes. Use rate limits and argument validation.

How do I enforce a policy on wait_for_selector? +

Register the Chrome MCP Docker MCP server in PolicyLayer and add a rule for wait_for_selector: 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 Chrome MCP Docker. Nothing to install.

What risk level is wait_for_selector? +

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

Can I rate-limit wait_for_selector? +

Yes. Add a rate_limit block to the wait_for_selector 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 wait_for_selector completely? +

Set action: deny in the PolicyLayer policy for wait_for_selector. 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 wait_for_selector? +

wait_for_selector is provided by the Chrome MCP Docker MCP server (null-runner/chrome-mcp-docker). PolicyLayer sits as a proxy in front of this server to enforce policies before tool calls reach the server.

Enforce policy on every Chrome MCP Docker tool call.

Start from Chrome MCP Docker, 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.

10 Chrome MCP Docker 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.