Back to skill

Security audit

Browser Use Api

Security checks for vulnerabilities and agentic risk

Overview

This skill is a small, disclosed Browser Use cloud API wrapper, but users should treat tasks and browser artifacts as data sent to a third party.

Install only if you intend to use Browser Use's cloud service. Do not send secrets, credentials, regulated data, private internal URLs, or irreversible account actions unless you have reviewed Browser Use's policies and are comfortable with remote processing of task text, visited pages, outputs, steps, and screenshots.

Vulnerability Patterns
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
Findings (14)

External Script Fetching

High
Category
Supply Chain
Confidence
90% confidence
Finding

Remote code is downloaded and executed. This bypasses code review and could introduce malicious code.

Content

Scanner excerpt · scripts/browser-use.sh (reported line 29)May include surrounding context.

sh
fi

# Submit task
RESPONSE=$(curl -s -X POST "$API_URL/tasks" \
  -H "X-Browser-Use-API-Key: $BROWSER_USE_API_KEY" \
  -H "Content-Type: application/json" \
  -d "{\"task\": $(echo "$TASK" | python3 -c 'import json,sys; print(json.dumps(sys.stdin.read().strip()))')}")

External Script Fetching

High
Category
Supply Chain
Confidence
90% confidence
Finding

Remote code is downloaded and executed. This bypasses code review and could introduce malicious code.

Content

Scanner excerpt · scripts/browser-use.sh (reported line 51)May include surrounding context.

sh
# Poll for completion
ELAPSED=0
while [[ $ELAPSED -lt $MAX_WAIT ]]; do
  RESULT=$(curl -s "$API_URL/tasks/$TASK_ID" \
    -H "X-Browser-Use-API-Key: $BROWSER_USE_API_KEY")
  
  STATUS=$(echo "$RESULT" | python3 -c "import sys,json; print(json.load(sys.stdin).get('status',''))" 2>/dev/null || echo "")

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
88% confidence
Finding

The skill documents shell-based execution (curl and helper scripts) but does not declare an explicit tool scope such as allowed tools or permissions. That can lead to unintended shell access during invocation and weakens policy enforcement and review, especially for a skill that transmits user tasks to an external service.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The trigger phrases are broad (scrape website, automate web task, cloud browser) and may cause the skill to activate in situations where a safer local or lower-privilege option would be more appropriate. Because this skill sends tasks to a third-party browser automation service, accidental invocation can expose user instructions and browsing targets without clear intent.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

The skill describes sending plain-English browsing tasks and retrieving outputs, steps, and screenshots from a cloud service, but it does not warn users that their instructions, visited pages, and interaction artifacts may be transmitted to and stored by a third party. This creates a meaningful privacy and data-handling risk, especially if users provide credentials, sensitive URLs, or internal data.

Content

No source excerpt is available for this finding.

External Transmission

Medium
Category
Data Exfiltration
Confidence
96% confidence
Finding

This example performs a POST request to a third-party API and includes a user-supplied task payload for remote execution. In this skill's context, that means browsing instructions and potentially sensitive targets or content are transmitted off-platform, with additional risk from API-key use and remote processing.

Content

Scanner excerpt · SKILL.md (reported line 16)May include surrounding context.

bash
# Submit task
curl -s -X POST https://api.browser-use.com/api/v2/tasks \
  -H "X-Browser-Use-API-Key: $BROWSER_USE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"task": "Go to example.com and extract the main heading"}'

External Transmission

Medium
Category
Data Exfiltration
Confidence
96% confidence
Finding

This example performs a POST request to a third-party API and includes a user-supplied task payload for remote execution. In this skill's context, that means browsing instructions and potentially sensitive targets or content are transmitted off-platform, with additional risk from API-key use and remote processing.

Content

Scanner excerpt · SKILL.md (reported line 16)May include surrounding context.

bash
# Submit task
curl -s -X POST https://api.browser-use.com/api/v2/tasks \
  -H "X-Browser-Use-API-Key: $BROWSER_USE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"task": "Go to example.com and extract the main heading"}'

External Transmission

Medium
Category
Data Exfiltration
Confidence
87% confidence
Finding

Polling task status from the external service retrieves remote execution results and may expose outputs, step traces, and screenshots generated from prior browsing activity. While expected for the product, it still represents ongoing interaction with a third-party service that may surface sensitive content to systems outside the local environment.

Content

Scanner excerpt · SKILL.md (reported line 22)May include surrounding context.

-d '{"task": "Go to example.com and extract the main heading"}'

Poll for result (replace TASK_ID)

curl -s "https://api.browser-use.com/api/v2/tasks/TASK_ID"
-H "X-Browser-Use-API-Key: $BROWSER_USE_API_KEY"

text

External Transmission

Medium
Category
Data Exfiltration
Confidence
72% confidence
Finding

The balance-check example transmits the API key to the external service. Although routine, it reinforces that the skill depends on shell commands making authenticated outbound requests and should therefore clearly communicate credential handling and restrict where such commands can run.

Content

Scanner excerpt · SKILL.md (reported line 82)May include surrounding context.

~$0.01-0.05 per task depending on complexity. Check balance:

bash
curl -s https://api.browser-use.com/api/v2/credits \
  -H "X-Browser-Use-API-Key: $BROWSER_USE_API_KEY"

External Transmission

Medium
Category
Data Exfiltration
Confidence
60% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

Scanner excerpt · SKILL.md (reported line 42)May include surrounding context.

md
set -euo pipefail

API_URL="https://api.browser-use.com/api/v2"
POLL_INTERVAL=5
MAX_WAIT=300

External Transmission

Medium
Category
Data Exfiltration
Confidence
60% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

Scanner excerpt · SKILL.md (reported line 63)May include surrounding context.

md
set -euo pipefail

API_URL="https://api.browser-use.com/api/v2"
POLL_INTERVAL=5
MAX_WAIT=300

External Transmission

Medium
Category
Data Exfiltration
Confidence
60% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

Scanner excerpt · SKILL.md (reported line 75)May include surrounding context.

md
set -euo pipefail

API_URL="https://api.browser-use.com/api/v2"
POLL_INTERVAL=5
MAX_WAIT=300

External Transmission

Medium
Category
Data Exfiltration
Confidence
60% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

Scanner excerpt · scripts/browser-use.sh (reported line 7)May include surrounding context.

sh
set -euo pipefail

API_URL="https://api.browser-use.com/api/v2"
POLL_INTERVAL=5
MAX_WAIT=300

External Transmission

Medium
Category
Data Exfiltration
Confidence
95% confidence
Finding

The script sends the user-provided task string to a third-party cloud API along with an API key. In this skill's context, that means potentially sensitive prompts, URLs, credentials, or scraped data may leave the local environment and be processed remotely, which is a real data-exposure risk even though it is core to the tool's stated purpose.

Content

Scanner excerpt · scripts/browser-use.sh (reported line 29)May include surrounding context.

sh
fi

# Submit task
RESPONSE=$(curl -s -X POST "$API_URL/tasks" \
  -H "X-Browser-Use-API-Key: $BROWSER_USE_API_KEY" \
  -H "Content-Type: application/json" \
  -d "{\"task\": $(echo "$TASK" | python3 -c 'import json,sys; print(json.dumps(sys.stdin.read().strip()))')}")

Static analysis

No suspicious patterns detected.