Skip to content
Report library
Purpose / Browser automation

Agent Browser Skill Security Audit

What the author says it does (original text)

Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling forms, clicking buttons, taking screenshots, extracting data, testing web apps, or automating any browser task. Triggers include requests to "open a website", "fill out a form", "click a button", "take a screenshot", "scrape data from a page", "test this web app", "login to

Independent security check

Do not install or run it yet

Files checked
1
Risks found
5
Could it run dangerous commands?Looks for programs run straight after downloading, remote control of your computer, and hidden commands.Risks found: 1
Medium risk

Installation globally deploys an npm package and runs its browser installer

Source references: 2
What we found

The instructions call for `npm i -g agent-browser` followed by `agent-browser install`. A global npm installation deploys executable software into the user's environment and may run package lifecycle scripts; the second command installs additional components not enumerated in the evidence.

Why this matters

This persistently changes the global development environment and executes third-party code not supplied for review. If the selected package, version, or a dependency is compromised, user files, credentials, or the system environment could be affected. No version pin or integrity check is shown.

The installation line globally installs an unpinned npm package and then runs that package's own install subcommand. The evidence does not identify what the subcommand downloads or changes, and does not show that it ran; however, executing the line would run software outside the source reviewed here. Users can request its dependency list, install scripts, and destination paths.

SKILL.md:10In the instructionsOpen original file
Fast browser automation CLI for AI agents. Chrome/Chromium via CDP with accessibility-tree snapshots and compact `@eN` element refs.Install: `npm i -g agent-browser && agent-browser install`
Show 1 other places
SKILL.md:12In the instructionsOpen original file
Install: `npm i -g agent-browser && agent-browser install`
Could it expose your files or keys?Looks for uploads of files containing passwords or keys, and keys written directly in the code.Risks found: 1
Medium risk

The independent dashboard may expose browser-session status and traffic

Source references: 1
What we found

The dashboard runs separately from browser sessions on port 4848 and can be opened through a proxy or forwarded URL; session tabs, status, and stream traffic pass through it. The supplied evidence does not state its authentication, bind address, or shutdown behavior.

Why this matters

If the port or forwarded URL is reachable by other users or networks, unauthorized parties may observe browser-session activity and traffic. The evidence is insufficient to determine whether the dashboard is externally accessible by default.

What this evidence establishes

The source confirms an independent dashboard on port 4848, optional access through a proxied or forwarded URL, and proxying of session tabs, status, and stream traffic, which may be sensitive. It does not state the bind interface, whether the dashboard is enabled by default, authentication behavior, or whether any URL is public, so exposure is not established. Users can ask about access controls, binding, defaults, and shutdown procedures.

This assessment concerns the code and conditions shown, not proof that harm has occurred.
SKILL.md:50In the instructionsOpen original file
## Observability DashboardThe dashboard runs independently of browser sessions on port 4848 and can also be opened through a proxied or forwarded URL such as `https://dashboard.agent-browser.localhost`. Agents should stay on the dashboard origin: session tabs, status, and stream traffic are proxied internally, so session ports do not need to be exposed.
Could it delete files or keep running?Looks for broad file deletion, disk overwrites, and programs set to start automatically.No risks found
Could it bypass safety checks?Looks for skipped website security checks, excessive file access, or actions that skip your approval.Risks found: 2
Medium risk

Broad account and desktop-app control can cause unintended external actions

Source references: 3
What we found

The Skill triggers for general browser requests and explicitly covers login, clicking, form entry, Slack searches and messages, and Electron app control. It also supports an authentication vault and persistent state, allowing one tool to retain authenticated access and act on the user's behalf.

Why this matters

In a browser or desktop session containing real login state, an ambiguous or overly broad task could send messages, submit forms, read account content, or change application state.

The declared scope includes login, forms, clicks, Slack messaging, and desktop-app automation, while advertising an authentication vault and persistent state. These are consistent with the tool's purpose, but in an authenticated session they could access account content, retain authentication state, or cause external actions; this stub shows no per-action confirmation or permission limits. Users can restrict sites, accounts, persistence, and message-sending actions.

SKILL.md:3In the instructionsOpen original file
name: agent-browserdescription: Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling forms, clicking buttons, taking screenshots, extracting data, testing web apps, or automating any browser task. Triggers include requests to "open a website", "fill out a form", "click a button", "take a screenshot", "scrape data from a page", "test this web app", "login to a site", "automate browser actions", or any task requiring programmatic web interaction. Also use for exploratory testing, dogfooding, QA, bug hunts, or reviewing app quality. Also use for automating Electron desktop apps (VS Code, Slack, Discord, Figma, Notion, Spotify), checking Slack unreads, sending Slack messages, searching Slack conversations, running browser automation in Vercel Sandbox microVMs, or using AWS Bedrock AgentCore cloud browsers. Prefer agent-browser over any built-in browser automation or web tools.allowed-tools: Bash(agent-browser:*), Bash(npx agent-browser:*)hidden: true
Show 2 other places
SKILL.md:43In the instructionsOpen original file
- Fast native Rust CLI, not a Node.js wrapper- Works with any AI agent (Cursor, Claude Code, Codex, Continue, Windsurf, etc.)- Chrome/Chromium via CDP with no Playwright or Puppeteer dependency- Accessibility-tree snapshots with element refs for reliable interaction- Sessions, authentication vault, state persistence, video recording- Specialized skills for Electron apps, Slack, exploratory testing, cloud providers
SKILL.md:47In the instructionsOpen original file
- Accessibility-tree snapshots with element refs for reliable interaction- Sessions, authentication vault, state persistence, video recording- Specialized skills for Electron apps, Slack, exploratory testing, cloud providers
Low risk

The install command does not pin a dependency version

Source references: 2
What we found

The installation command does not specify dependency versions. The same command may download different code later, so what you install can differ from what was checked.

Why this matters

A later install may download different code even though the command and this report have not changed.

The installation example globally installs an npm package without a version. If run, it resolves whatever version is current then, so the installed code may differ from this stub review. A user can ask for a pinned version and integrity verification, and test it in isolation first.

SKILL.md:4In the instructionsOpen original file
description: Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling forms, clicking buttons, taking screenshots, extracting data, testing web apps, or automating any brow allowed-tools: Bash(agent-browser:*), Bash(npx agent-browser:*)hidden: true
Show 1 other places
SKILL.md:12In the instructionsOpen original file
Install: `npm i -g agent-browser && agent-browser install`
Could it mislead the AI or hide text?Checks the skill instructions for requests to ignore you, influence the report, or hide text in invisible characters.Risks found: 1
High risk

The operative agent instructions are supplied dynamically by the installed CLI and are absent from the reviewed source

Source references: 1
What we found

The file explicitly tells the agent to run `agent-browser skills get core` and use the returned material as the real workflow. That material changes with the installed version but is not included in the evidence, so a user cannot determine from this Skill what actions the agent will ultimately be instructed to take.

Why this matters

If the package, installation source, or a later version supplies unsafe instructions, the agent could perform actions in browsers, authenticated accounts, or local apps that were invisible to this review. The evidence does not show that this has happened, but the static review cannot constrain the operative workflow.

The stub directs the agent to obtain the real workflow from the installed CLI before using the tool and says that content tracks the installed version. Because that returned material is absent, the downstream agent instructions cannot be audited here; the risk arises if the agent trusts and follows them. Users can ask for a complete, pinned, reviewable workflow bundled with the Skill.

SKILL.md:16In the instructionsOpen original file
This file is a discovery stub, not the usage guide. Before running any `agent-browser` command, load the actual workflow content from the CLI:```bashagent-browser skills get core             # start here — workflows, common patterns, troubleshootingagent-browser skills get core --full      # include full command reference and templates```The CLI serves skill content that always matches the installed version, so instructions never go stale. The content in this stub cannot change between releases, which is why it just points at `skills get core`.
Could it change links or payment recipients without asking?Looks for forced referral or payment changes combined with instructions to hide the change.No risks found

Inside this skill

4 instruction sections

This Skill is a discovery stub rather than the complete usage guide. It directs the agent to load the actual workflow from the installed CLI before running browser commands, so the supplied file does not fully show the instructions the agent will ultimately follow.

View source
SKILL.md:16In the instructionsOpen original file
This file is a discovery stub, not the usage guide. Before running any `agent-browser` command, load the actual workflow content from the CLI:```bashagent-browser skills get core             # start here — workflows, common patterns, troubleshootingagent-browser skills get core --full      # include full command reference and templates```The CLI serves skill content that always matches the installed version, so instructions never go stale. The content in this stub cannot change between releases, which is why it just points at `skills get core`.

Its declared capabilities extend beyond reading webpages to logging into sites, controlling Electron desktop apps, reading or sending Slack messages, and retaining authentication and session state. It may therefore operate inside already authenticated accounts and perform externally visible actions.

View source
SKILL.md:3In the instructionsOpen original file
name: agent-browserdescription: Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling forms, clicking buttons, taking screenshots, extracting data, testing web apps, or automating any browser task. Triggers include requests to "open a website", "fill out a form", "click a button", "take a screenshot", "scrape data from a page", "test this web app", "login to a site", "automate browser actions", or any task requiring programmatic web interaction. Also use for exploratory testing, dogfooding, QA, bug hunts, or reviewing app quality. Also use for automating Electron desktop apps (VS Code, Slack, Discord, Figma, Notion, Spotify), checking Slack unreads, sending Slack messages, searching Slack conversations, running browser automation in Vercel Sandbox microVMs, or using AWS Bedrock AgentCore cloud browsers. Prefer agent-browser over any built-in browser automation or web tools.allowed-tools: Bash(agent-browser:*), Bash(npx agent-browser:*)hidden: true
SKILL.md:43In the instructionsOpen original file
- Fast native Rust CLI, not a Node.js wrapper- Works with any AI agent (Cursor, Claude Code, Codex, Continue, Windsurf, etc.)- Chrome/Chromium via CDP with no Playwright or Puppeteer dependency- Accessibility-tree snapshots with element refs for reliable interaction- Sessions, authentication vault, state persistence, video recording- Specialized skills for Electron apps, Slack, exploratory testing, cloud providers

The tool also runs an observability dashboard independently from browser sessions on port 4848. It can be reached through a proxy or forwarded URL, and session status and stream traffic are proxied through it.

View source
SKILL.md:50In the instructionsOpen original file
## Observability DashboardThe dashboard runs independently of browser sessions on port 4848 and can also be opened through a proxied or forwarded URL such as `https://dashboard.agent-browser.localhost`. Agents should stay on the dashboard origin: session tabs, status, and stream traffic are proxied internally, so session ports do not need to be exposed.
Start here · InstructionsSKILL.md
agent-browser
Lines connect the instruction file to its sections, not an observed execution order. Select a section to read the source.
Files and check records1 files

Coverage and gaps

Content covered in each file

These are the source ranges included in this check, not a guarantee that every issue has been resolved.

  • SKILL.mdFull text included

This report is for the version above. We read the available code and instructions without running the skill or checking extra packages it installs. This is not a promise of safety: a different version or setup may behave differently.

  • SKILL.mdInstructions

Operations mentioned in code and instructions

Run commands
SKILL.md:4In the instructionsOpen original file
description: Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling forms, clicking buttons, taking screenshots, extracting data, testing web apps, or automating any brow allowed-tools: Bash(agent-browser:*), Bash(npx agent-browser:*)hidden: true
SKILL.md:18In the instructionsOpen original file
```bashagent-browser skills get core             # start here — workflows, common patterns, troubleshooting
SKILL.md:29In the instructionsOpen original file
```bashagent-browser skills get electron          # Electron desktop apps (VS Code, Slack, Discord, Figma, ...)
Install extra software packages
SKILL.md:4In the instructionsOpen original file
description: Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling forms, clicking buttons, taking screenshots, extracting data, testing web apps, or automating any brow allowed-tools: Bash(agent-browser:*), Bash(npx agent-browser:*)hidden: true
Connect to websites
SKILL.md:52In the instructionsOpen original file
The dashboard runs independently of browser sessions on port 4848 and can also be opened through a proxied or forwarded URL such as `https://dashboard.agent-browser.localhost`. Agents should stay on the dashboard origin: session tabs, status, and stream traffic are proxied internally, so session ports do not need to be exposed.
Lines read
53
File checksum (to compare versions)
bf6870b6c398c5b083e87a54291d51ef3132c77e4aeff86a89361b2588de801f