Back to skill

Security audit

opencli浏览器自动化

Security checks for vulnerabilities and agentic risk

Overview

This browser automation skill is purpose-related but needs review because it directs users to install an unverifiable browser extension and operate on logged-in browser sessions with broad data extraction guidance.

Install only after independently verifying the opencli extension source, version, permissions, and checksum. Use a dedicated browser profile with only the accounts needed, avoid sensitive sites, do not bulk-extract whole pages or chats unless explicitly intended, and do not use the skill to bypass platform anti-bot or verification controls.

Vulnerability Patterns
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • 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)

T08 · Insecure Dependencies

Error
Location
SKILL.md:32
Finding

Unverifiable Privileged Browser Extension Dependency

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, lines 32–36
Vulnerability Type: Untrusted third-party browser extension distribution
Risk Level: High

Vulnerable Code Snippet

markdown
1. 下载扩展包:`opencli-extension.zip`(已备份至 `D:\BaiduSyncdisk\Workbuddy\backup\`)
2. 解压到任意目录
3. 打开浏览器 `edge://extensions/` 或 `chrome://extensions/`
4. 开启右上角「开发者模式」
5. 点击「加载解压缩的扩展」,选择解压后的文件夹

Technical Analysis

The Skill directs the user to install an unpacked Chromium extension in developer mode from a private backup location. It does not identify an official distribution URL, publisher, pinned version, cryptographic checksum, digital signature, source repository, required permissions, or verification procedure.

Loading an unpacked extension bypasses the provenance and update controls normally provided by a browser extension store. The resulting component is particularly sensitive because the Skill also states that browser automation reuses the user's authenticated browser state and supports arbitrary JavaScript evaluation in visited pages. A maliciously substituted archive could therefore execute with whatever browser permissions appear in its manifest and interact with authenticated websites.

The audit did not establish that the referenced archive is malicious. The vulnerability is the absence of controls that would allow users to authenticate this privileged dependency.

Attack Path

  1. An attacker replaces or modifies opencli-extension.zip in the referenced backup location or supplies a counterfeit archive under the same name.
  2. The user follows the documented instructions, enables developer mode, and loads the unpacked extension.
  3. The browser grants the extension the permissions declared in the substituted manifest.
  4. The extension observes or manipulates pages opened in the user's existing browser profile.
  5. If its permissions permit, it reads sensitive page content, monitors browsing activity, or initiates actions through authenticate ...[truncated 852 chars]
Remediation
View remediation

Remediation Suggestions

  1. Distribute the extension only through an official browser store or a documented, authenticated project release channel.
  2. Pin the extension to a reviewed version rather than referring to an unversioned ZIP archive.
  3. Publish a SHA-256 or stronger checksum and require users to verify it before installation.
  4. Digitally sign release artifacts and document signature-verification steps.
  5. Link to the extension's source repository and identify the exact source commit used to build each release.
  6. Document and justify every requested browser permission, removing broad host permissions that are not essential.
  7. Replace the private Windows backup path with a reproducible official source.
  8. Advise users to install the extension in a dedicated browser profile containing only the accounts required for the task.
  9. Disable the extension when automation is not in use and avoid granting access to all sites by default.
  10. Add a pre-installation review step covering manifest.json, background scripts, content scripts, network destinations, and update behavior.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (6)

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The trigger description is extremely broad, covering generic browser automation, data extraction, chatbot control, and continuous dialogue tasks across many sites. That breadth makes accidental invocation more likely for ordinary user requests, potentially causing the agent to act on live browser sessions or logged-in sites when the user did not intend such automation.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The documentation promotes reuse of authenticated browser sessions and supports extracting page data and AI chat content, but does not include commensurate warnings about personal data, account access, cookies, or third-party content sensitivity. In context, this can lead operators to collect or manipulate sensitive information from logged-in websites without adequate consent boundaries or data-handling safeguards.

Content

No source excerpt is available for this finding.

Ssd 3

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The instructions explicitly extract full page/chat text from a logged-in AI session using document.body.innerText, which can capture user prompts, model responses, embedded personal data, and surrounding page content in bulk. This is a direct natural-language exfiltration pattern and is especially risky because the skill is designed to operate inside authenticated browser contexts.

Content

No source excerpt is available for this finding.

Ssd 3

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The generic guidance recommends extracting complete conversation or page contents from chat pages, normalizing wholesale data collection as a standard technique. In a skill meant to reuse real browser sessions across sites, this creates a repeatable data leakage pattern that could expose sensitive or proprietary information beyond the user's intended task scope.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The skill explicitly advises users how to avoid or reduce website anti-AI/anti-bot detection, including simulating human timing and choosing 'safest' strategies. In a browser automation skill that reuses logged-in sessions, this materially increases the likelihood of policy evasion and abusive scraping or interaction on third-party services.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
90% confidence
Finding

The screenshot example writes captured browser content to local disk without warning that screenshots may contain tokens, private messages, account details, or other sensitive page state. Because this skill targets logged-in websites and chat interfaces, silent local persistence increases the risk of unintended data exposure.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.