Significant-Gravitas / Significant-Gravitas/AutoGPT
Suggestion: add authority check before browser automation in copilot tools
- Dominant language
- Python
- Stars
- 187k
- Forks
- 46k
- Avg merge
- 3d 2h
- Merged PRs (30d)
- 299
Description
Hi team, I was testing a static-analysis scanner ([actenon-scan](https://github.com/Actenon/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.
Contributor guide
Research direction
Read copilot/tools/agent_browser.py, focusing on BrowserActTool._execute() and BaseTool's requires_auth path; trace how the agent-browser subprocess is reached and how approval is handled. Done means the project has an agreed defense-in-depth authority check, or a documented rationale for not adding one, with the resulting behavior verified.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- ai, security
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100