Back to skill

Security audit

Cdp Browser Pilot Free

Security checks for vulnerabilities and agentic risk

Overview

This skill is a browser automation helper, but it gives an agent broad control over logged-in browser sessions with weak scoping and risky cookie/process instructions.

Install only if you are comfortable giving the agent control of a browser profile that may already be logged into websites. Use a separate low-privilege browser profile, bind debugging to local access only, avoid financial/admin/personal accounts, do not extract cookies, and manually approve any action that submits forms, changes data, posts content, purchases items, or deletes information.

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 (2)

T09 · Insecure Skill Coding Practices

Error
Location
SKILL.md:48
Finding

Authenticated browser sessions are exposed through an insufficiently restricted CDP endpoint

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, lines 48–61 and 107–130
Vulnerability Type: Unrestricted browser remote-debugging interface
Risk Level: High

powershell
taskkill /F /IM msedge.exe /T
Start-Sleep 3

Start-Process "C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe" --remote-debugging-port=9222

Start-Process "C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe" --remote-debugging-port=9222 --user-data-dir="C:\BrowserAutomation\Edge"

Start-Process "C:\Program Files\Google\Chrome\Application\chrome.exe" --remote-debugging-port=9223
javascript
const r = await edge.evaluate(`document.title`);
console.log(r.result.value);

const r = await edge.evaluate(`
    JSON.stringify(
        Array.from(document.querySelectorAll('.item-card')).slice(0,5).map(c => ({
            title: c.querySelector('.title')?.innerText,
            price: c.querySelector('.price')?.innerText
        }))
    )
`);
const items = JSON.parse(r.result.value);

Technical Analysis

The Skill directs users to enable the Chrome DevTools Protocol on fixed ports while explicitly promoting reuse of an authenticated browser session. It does not require an isolated, low-privilege browser profile, verify that the debugging endpoint is restricted to the local host, establish endpoint authentication, configure firewall restrictions, or require confirmation before performing sensitive browser actions.

CDP provides extensive browser control, including page enumeration, navigation, arbitrary JavaScript evaluation, screenshots, and interaction with authenticated pages. The JavaScript evaluation feature is necessary for the declared browser-automation functionality, but exposing a user's general-purpose authenticated profile is broader than the minimum privilege required. A dedicated automation profile would provide the needed functionality with substantially less access.

Attack Pat

...[truncated 1397 chars]

Remediation
View remediation

Remediation Suggestions

  1. Require a dedicated automation profile through a unique temporary --user-data-dir; do not reuse the user's primary browser profile.
  2. State explicitly that the automation profile must contain only the accounts and permissions required for the current task.
  3. Require the debugging endpoint to bind exclusively to loopback and verify its listening address before automation begins.
  4. Add host firewall rules that reject non-local access to the debugging port.
  5. Avoid predictable fixed ports where practical, and verify that the selected endpoint belongs to the newly launched browser instance.
  6. Require explicit user confirmation before submitting forms, publishing content, changing account settings, making purchases, deleting information, or performing other state-changing actions.
  7. Restrict JavaScript evaluation to the intended origin and validate navigation targets against a user-approved allowlist.
  8. Close the debugging browser and remove temporary profile data when the task finishes.
  9. Warn users that CDP is effectively a privileged control interface and must not be exposed on an untrusted network.

T09 · Insecure Skill Coding Practices

Warning
Location
SKILL.md:46
Finding

Forced process termination can cause data loss or terminate unrelated processes

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, lines 46–49 and 280–286
Vulnerability Type: Unsafe destructive process management
Risk Level: Medium

powershell
taskkill /F /IM msedge.exe /T
Start-Sleep 3
powershell
netstat -ano | findstr :9222

taskkill /F /PID <pid>

Technical Analysis

The Skill recommends forcibly terminating all Edge process trees before starting remote debugging. It also advises killing whichever process owns port 9222 during troubleshooting. The instructions do not require confirmation, check for unsaved browser work, verify process ownership or executable identity, or attempt graceful termination first.

The /F option forces termination, while /T also terminates child processes. Selecting a PID solely because it owns a port is not sufficient evidence that the process is safe to terminate. This is an unsafe operational pattern rather than an intentional persistence or malicious execution mechanism.

Attack Path

  1. The user or Agent follows the startup or troubleshooting instructions.
  2. Existing Edge windows contain unsaved forms, downloads, debugging sessions, or other active work, or port 9222 belongs to an unrelated application.
  3. The forced taskkill command is executed without process identity validation or user confirmation.
  4. Edge and its child processes, or the unrelated port-owning process, are immediately terminated.
  5. Unsaved state is lost, active operations are interrupted, or an unrelated service becomes unavailable.

Impact Assessment

The primary impact is loss of availability and unsaved user data. Killing all Edge process trees can disrupt every active browser window and profile. Killing an arbitrary PID can interrupt an unrelated local application or service.

The command executes with the privileges of the invoking user. If the Agent is already running with elevated rights, the affected process scope may be broader. ...[truncated 79 chars]

Remediation
View remediation

Remediation Suggestions

  1. Remove unconditional forced process termination from the default startup workflow.
  2. Ask the user to close browser windows normally and confirm that important work has been saved.
  3. Attempt graceful shutdown before considering forced termination.
  4. Before terminating a port owner, verify its executable path, process name, owner, command line, and relationship to the automation session.
  5. Refuse to terminate a PID that cannot be positively identified as the browser instance launched for the current task.
  6. Prefer selecting another available debugging port instead of killing an unrelated process.
  7. Require explicit user confirmation immediately before any forced termination.
  8. Avoid /T unless child-process termination is demonstrably required and the complete process tree has been verified.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (10)

Missing User Warnings

High
Category
Not specified by scanner
Confidence
98% confidence
Finding

The document suggests reading complete cookies directly from browser storage files when HttpOnly access is blocked, but does not warn that cookies are authentication secrets that can enable session hijacking. In the context of a skill specifically designed to reuse logged-in browser state, this omission is especially dangerous because it normalizes credential extraction.

Content

No source excerpt is available for this finding.

Ssd 3

High
Category
Not specified by scanner
Confidence
99% confidence
Finding

The document describes bypassing normal in-browser restrictions by directly reading browser cookie storage files to obtain complete cookies. That crosses from normal browser automation into credential extraction territory, and if performed successfully can enable session theft, persistence, and impersonation across authenticated services.

Content

No source excerpt is available for this finding.

Ssd 3

High
Category
Not specified by scanner
Confidence
99% confidence
Finding

The documentation openly states that the agent can act 'as your identity' by reusing the browser login state. That is a high-risk delegated-authority model: if misused, the agent can perform any action available to the current user account, including viewing sensitive data or triggering destructive account operations.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The skill connects to a browser that is already authenticated and then performs navigation, clicks, JS execution, and extraction in that security context, but it does not present a prominent warning about acting with the user's live session. That omission materially increases the risk of users authorizing sensitive account actions or data access without informed consent.

Content

No source excerpt is available for this finding.

Ssd 3

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

This skill is explicitly designed to operate through an already logged-in browser and extract rendered content from sites as the user. In security terms, that grants the agent powerful access to authenticated data and actions; in this context, the capability is inherently sensitive and can be abused for account data harvesting or unauthorized workflow execution if not tightly constrained.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The instructions tell users to force-kill all Edge processes with taskkill /F /IM msedge.exe /T, which is a destructive action that can terminate unrelated browsing sessions, discard unsaved work, and disrupt other applications tied to the browser. Presenting this without a clear warning or safer alternative creates avoidable operational risk.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The screenshot guidance encourages capturing and saving page images from authenticated sessions without warning that screenshots may contain personal data, tokens, account details, or confidential business information. This increases the chance of sensitive data being stored insecurely or shared unintentionally.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

L290-L292 明确说明如需完整 cookie 可“从浏览器文件直接读取SQLite”,这属于对高级 Cookie 处理能力的主动说明与指导。可是在 L388-L395 又声明免费版限制了“Cookie高级处理(HttpOnly cookie读取、SQLite解析)”;这不是单纯遗漏,而是文档对是否提供该能力出现了直接冲突。

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Low
Category
Not specified by scanner
Confidence
84% confidence
Finding

L195-L217 将“标签页管理(tabs)”列为功能六,并展示获取全部标签页、查找目标标签页的使用方式;但 L395 又称免费版限制“多标签页高级管理(跨标签页操作、标签页切换)”。虽然可解释为基础与高级能力区分,但当前文档没有清楚划界,容易让读者误解免费版是否具备标签页相关能力,属于意图表述与能力说明冲突。

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
81% confidence
Finding

The natural-language documentation emphasizes complete Chinese localization and adaptation for Chinese users, but does not indicate any user language choice or opt-in. This can be read as enforcing a specific language/locale by default rather than offering multilingual flexibility.

Content

No source excerpt is available for this finding.