Back to skill

Security audit

Browser Agent Pro Free

Security checks for vulnerabilities and agentic risk

Overview

This browser automation skill is not clearly malicious, but it needs review because it can persist screenshots, scraped data, operation logs, and private browsing context while using broad command/browser authority.

Install only if you are comfortable with the agent saving browser screenshots, scraped files, and activity logs under ~/workspace/browser. Avoid using it on passwords, payment pages, account recovery links, health/legal/financial forms, or URLs containing tokens unless you explicitly want those artifacts retained and can delete or protect them afterward.

Vulnerability Patterns
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • 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
Findings (1)

T09 · Insecure Skill Coding Practices

Warning
Location
SKILL.md:153
Finding

Sensitive Form Data and URL Secrets May Be Persisted in Plaintext Artifacts

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, lines 153–193
Vulnerability Type: Sensitive data exposure through screenshots and operation logs
Risk Level: Medium

Vulnerable Code Snippet

The following is an English rendering of the relevant instructions:

text
Form-filling rules:
- Display the field list and request confirmation before every fill operation
- Save a screenshot after filling for retrospective review
- Do not submit forms automatically by default; require confirmation again
- Do not record password fields in logs; display them as ***

All operations are recorded in:
~/workspace/browser/logs/YYYY-MM-DD.jsonl

{"ts":"2026-07-18T14:30:22+08:00","op":"open","url":"https://example.com","status":"success","id":"op_001"}
{"ts":"2026-07-18T14:32:10+08:00","op":"fill_form","url":"https://example.com/form","fields":["name","phone","address"],"confirmed":true,"id":"op_002"}
{"ts":"2026-07-18T14:35:00+08:00","op":"scrape","url":"https://example.com/data","records":25,"format":"csv","id":"op_003"}

The related retention configuration at lines 260–271 only recommends cleanup and supplies a retention_days setting:

json
{
  "browser_path": "/usr/bin/google-chrome",
  "default_timeout_seconds": 30,
  "screenshot_format": "png",
  "retention_days": 30
}

Technical Analysis

The skill directs the agent to save a screenshot after a form is populated. A populated page can visibly contain personal information, addresses, telephone numbers, account identifiers, payment information, password values revealed by page controls, authentication recovery data, or other confidential content.

Although the instructions mask password fields in operation logs, no equivalent redaction requirement is defined for screenshots. The protection therefore covers only one logging channel and does not prevent visual disclosure through image artifacts.

Operation logs also retain complete U ...[truncated 2166 chars]

Remediation
View remediation

Remediation Suggestions

  1. Disable post-fill screenshots by default when a page contains password, payment, identity, authentication, health, or other sensitive fields.
  2. Require separate, explicit consent before capturing a populated form; ordinary consent to fill the form should not imply consent to persist its contents.
  3. Redact or mask sensitive input regions before capture. Include password fields, payment fields, security answers, tokens, government identifiers, and user-designated confidential fields.
  4. Sanitize logged URLs by removing user information, query strings, and fragments. If diagnostic context is required, log only the scheme, normalized host, and path, with an explicit allowlist for safe parameters.
  5. Create directories and files with owner-only permissions, such as 0700 for directories and 0600 for files, subject to platform support.
  6. Encrypt sensitive artifacts at rest using platform-managed keys and avoid synchronizing them to shared or untrusted storage.
  7. Implement and test retention enforcement rather than merely documenting retention_days. Apply short default retention periods and provide immediate secure deletion.
  8. Do not include raw field values in logs. Continue recording only non-sensitive field names and operational metadata.
  9. Add automated tests verifying screenshot redaction, URL sanitization, file permissions, and expiration of retained artifacts.
  10. Clearly warn users when screenshots or logs will persist beyond the current session and provide a command to review and delete them.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (7)

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The skill repeatedly claims concrete safety controls such as confirmation gates, robots.txt enforcement, auditability, and non-storage of credentials, but this file is only descriptive Markdown and does not implement or bind those controls to actual tool behavior. In a browser-automation skill, users and downstream agents may rely on these assurances and perform sensitive actions under a false sense of safety, leading to unreviewed submissions, noncompliant scraping, or accidental exposure of secrets.

Content

No source excerpt is available for this finding.

Ssd 3

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The prescribed storage model requires screenshots, scraped data, and operation logs to be retained under a workspace path, which can capture personal data, visited pages, and user-supplied content in plaintext artifacts. Because the skill centers on browser interaction and form handling, these retained files can easily become a secondary disclosure source if other tools, users, or processes can access the workspace.

Content

No source excerpt is available for this finding.

Ssd 3

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

The form-filling workflow explicitly instructs the agent to archive screenshots after entering user data, creating a direct persistence path for visible personal information such as names, phone numbers, addresses, emails, or other sensitive fields. Screenshots are difficult to selectively redact after capture and may expose more data than the text fields alone, including account context, autofill hints, or unrelated page content.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The document asserts operational limits and restrictions such as max-record caps, no login-content access, frequency limiting, and browser compatibility, but nothing in the skill file enforces those boundaries. In practice, an agent with exec/read access could ignore these stated limits, causing over-collection, access to authenticated content, or behavior that violates user expectations and site policies.

Content

No source excerpt is available for this finding.

Ssd 3

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The global logging requirement covers broad browser actions and ties them to URLs, fields, status, and timestamps, which can reveal user behavior, private destinations, and sensitive workflow context. Even if passwords are masked, metadata about visited pages and form operations can still leak confidential information and create an audit trail that exceeds data-minimization needs.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The trigger and capability scope is described in very broad language, making it easy for an orchestrating agent to invoke this skill for loosely related tasks without clear exclusions. For a browser automation skill with exec access, ambiguous routing increases the chance of unintended navigation, form interaction, scraping, or handling of sensitive user content outside an explicitly approved use case.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
90% confidence
Finding

L307 明确写明“完全中文化表达”,而文档中未见提供多语言选项、用户偏好选择或将该限制说明为特定地区/合规要求。根据语言/locale 政策,这会构成未获用户选择的语言约束。

Content

No source excerpt is available for this finding.