Back to skill

Security audit

Wayne Agent Browser

Security checks for vulnerabilities and agentic risk

Overview

This browser automation skill is coherent and user-directed, but saved auth state and cookie/storage commands should be handled like credentials.

Install only if you trust the external agent-browser CLI and need browser automation. Treat saved state files, cookies, and storage output like passwords: keep them out of repos and logs, restrict file permissions, use test or least-privilege accounts where possible, and delete saved auth files when no longer needed.

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:106
Finding
Plaintext Persistence of Browser Authentication State## Vulnerability Details **File Location**: `SKILL.md`, lines 106 and 161 **Vulnerability Type**: Plaintext storage of sensitive browser authentication data **Risk Level**: Medium ### Vulnerable Code ```bash agent-browser state save auth.json # Save cookies/storage ``` ```markdown 4. **Save auth state** - Skip login flows with `state save/load` ``` ### Technical Analysis The skill recommends saving browser cookies and storage to a predictable local file named `auth.json`. Browser state may contain reusable session cookies, access tokens, refresh tokens, and other authentication material. The instructions do not require restrictive file permissions, an isolated secret directory, encryption, automatic cleanup, or exclusion from version control. Consequently, the generated file may be exposed to other local users, repository commits, backups, build artifacts, or unrelated file-collection processes. ### Attack Path 1. An agent authenticates to a website through the browser. 2. The agent follows the documented recommendation and runs `agent-browser state save auth.json`. 3. Active cookies and browser storage are written to the predictable plaintext file. 4. The file remains on disk, is read by another local process or user, or is accidentally committed or uploaded. 5. An attacker extracts or loads the stored authentication state. 6. If the credentials remain valid and are not sufficiently device-bound, the attacker impersonates the victim and accesses the corresponding account. ### Impact Assessment Successful exploitation can disclose active browser-session credentials and permit unauthorized access with the victim's existing web-account privileges. The scope depends on the authenticated sites represented in the saved state and may include access to private account data or actions available to that user. This issue does not itself grant operating-system privilege escalation. Exploitation requires access to the generated state file through local re ...[truncated 81 chars]
Remediation
## Remediation Suggestions - Save authentication state only when strictly required. - Clearly warn users and agents that saved state must be treated as credential material. - Store state in a dedicated secret directory outside the repository rather than using a predictable project-relative filename. - Create the destination with owner-only permissions and ensure the state file is readable only by the account running the browser. - Add all browser-state filenames and directories to `.gitignore` and equivalent artifact-exclusion rules. - Prefer an operating-system-backed credential store or encryption at rest where supported. - Use a temporary, uniquely named path when persistence across runs is unnecessary. - Delete the state file immediately after its intended use and revoke affected sessions if exposure is suspected. - Avoid collecting or retaining cookies and storage unrelated to the required workflow.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
Findings (2)

Missing User Warnings

Medium
Confidence
92% confidence
Finding
The skill explicitly recommends saving and loading browser auth state but provides no warning that these files can contain reusable session cookies, tokens, and local storage data. In an agent context, this increases the chance that operators persist sensitive authentication material insecurely or reuse it across tasks, enabling account takeover if the state file is exposed.

Missing User Warnings

Medium
Confidence
94% confidence
Finding
The documented `cookies` and `storage` commands expose potentially sensitive browser data, including session identifiers, CSRF tokens, and user data, yet the skill gives no privacy or handling warning. In an AI-agent workflow, such outputs may be copied into logs, model context, or external systems, creating avoidable credential leakage and privacy exposure.

Static analysis

No suspicious patterns detected.