Skip to content

Suggestion: add authority check before browser automation in copilot tools #13635

Description

@rossbuckley1990-hash

Hi team, I was testing a static-analysis scanner (actenon-scan) that looks for "execution gaps" in AI-agent code: places where a consequential action is reachable from an agent tool boundary without a preceding authority check.

The scanner flagged BrowserActTool._execute() in copilot/tools/agent_browser.py because it executes arbitrary browser actions (navigate, click, fill, type) via the agent-browser subprocess, and there's no explicit authority/permission check on the path from the agent to the subprocess call.

To be clear: this may be intentional, the tool already has an auth gate (requires_auth property on BaseTool) and the Claude Agent SDK handles approval at a higher level. But the scanner can't see that from the code path alone, and it raised a fair question about defense-in-depth.

If you're interested, the pattern we've been working on (and what the scanner recommends as a fix) is a proof-bound authority check before the consequential call:

Before the subprocess call:

from actenon import verify_proof
verify_proof(action="browser_navigate", target=url)

This is not a vulnerability report, I'm sharing this as the author of actenon-scan, dogfooding the tool on real agent codebases. Happy to discuss if useful.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    Priority

    None yet

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions