High Risk →

browser_css_inject

Inject a custom stylesheet into the page.

How to control browser_css_inject ↓

What browser_css_inject does on Termux Browser Pilot

AI agents invoke browser_css_inject to trigger actions in Termux Browser Pilot. 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 browser_css_inject needs a policy

Injecting CSS into a live browser page is an active operation that modifies the rendered DOM environment. While CSS is not JavaScript, injected stylesheets can be used to manipulate page layout, hide elements, trigger CSS-based data exfiltration (via attribute selectors and external requests), or conduct UI redressing/clickjacking attacks.

From the tool's definition Inject a custom stylesheet into the page

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

How to control browser_css_inject

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

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

browser_css_inject 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 Termux Browser Pilot — 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 browser_css_inject

What does the browser_css_inject tool do? +

Inject a custom stylesheet into the page. It is categorised as a Execute tool in the Termux Browser Pilot MCP Server, which means it can trigger actions or run processes. Use rate limits and argument validation.

How do I enforce a policy on browser_css_inject? +

Register the Termux Browser Pilot MCP server in PolicyLayer and add a rule for browser_css_inject: 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 Termux Browser Pilot. Nothing to install.

What risk level is browser_css_inject? +

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

Can I rate-limit browser_css_inject? +

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

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

browser_css_inject is provided by the Termux Browser Pilot MCP server (salviz/termux-browser-pilot). PolicyLayer sits as a proxy in front of this server to enforce policies before tool calls reach the server.

Enforce policy on every Termux Browser Pilot tool call.

Start from Termux Browser Pilot, 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.

148 Termux Browser Pilot 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.