chrome_skill

PassAudited by VirusTotal on May 10, 2026.

Overview

Type: OpenClaw Skill Name: chromeskill Version: 1.0.0 The skill provides extensive browser automation capabilities via a bridge service, including cookie extraction, local storage access, arbitrary JavaScript execution (`evaluate`), and file upload/download. The `scripts/startup.js` file automatically installs a global npm package (`chrome-ai-action`) and launches a background process on port 9876. While these features are aligned with the stated goal of browser automation, the broad permissions and the automated global installation of external code represent a significant security risk and potential for data exfiltration or unauthorized system access if the agent is misused or the external package is compromised.

Findings (0)

Artifact-based informational review of SKILL.md, metadata, install specs, static scan signals, and capability signals. ClawScan does not execute the skill or run runtime probes.

What this means

A changed or compromised npm package could run local code and control Chrome outside the reviewed skill files.

Why it was flagged

First use can install a global npm package without a pinned version or included package source, and that package supplies the browser-control bridge.

Skill content
execSync('npm install -g chrome-ai-action', { stdio: 'inherit' });
Recommendation

Pin and verify the package version, provide reviewed source or a lockfile, and avoid automatic global installs; install manually in a sandbox or project-local location when possible.

What this means

Installing the skill causes commands and a local process to run on the user’s machine.

Why it was flagged

The startup flow executes local shell commands and launches a child process. This is disclosed and purpose-aligned for starting the bridge, but users should notice it.

Skill content
const { execSync, spawn } = require('child_process'); ... spawn(command, ['--port', String(BRIDGE_PORT)], {
Recommendation

Run it only as a normal user after reviewing the startup behavior, and avoid elevated privileges unless absolutely necessary.

What this means

The agent or bridge could read or alter logged-in website sessions in the controlled Chrome profile.

Why it was flagged

The bridge exposes cookie read/write operations, which can include website session tokens, without documented domain/profile scoping or approval requirements.

Skill content
### `getCookies` No params. Returns all cookies. ... ### `setCookie` / `deleteCookie`
Recommendation

Use a dedicated throwaway Chrome profile, avoid logging into sensitive accounts, and require explicit user approval before cookie or session actions.

What this means

If misused, the agent could submit forms, change account data, upload local files, or alter page behavior beyond the user’s intended task.

Why it was flagged

The API includes raw page JavaScript execution and local file upload/download operations, but the artifacts do not define safety gates or limits for high-impact browser actions.

Skill content
### `evaluate` ... {"action": "evaluate", "params": {"code": "document.querySelector('h1').textContent"}} ... `uploadFile` ... `downloadFile`
Recommendation

Add explicit confirmation requirements for account changes, file transfers, cookie/storage access, and JavaScript execution; scope actions to user-specified sites and files.

What this means

Other local processes or agents with access to the port may be able to issue browser-control requests if the bridge lacks protections.

Why it was flagged

The skill relies on a localhost HTTP bridge for powerful browser actions, but the artifacts do not document authentication, origin checks, or caller identity boundaries.

Skill content
**Endpoint**: `http://127.0.0.1:9876/` ... `POST` | `/` | Execute action(s)
Recommendation

Require an authentication token, randomize or restrict the port, document caller boundaries, and stop the bridge when it is not in use.

ConcernHigh Confidence
ASI10: Rogue Agents
What this means

Browser-control capability may remain available after the original task is finished.

Why it was flagged

The bridge is intended to keep running in the background, but no clear stop condition, cleanup command, or lifetime limit is provided.

Skill content
the script runs the bridge as a **background child process** — the agent does NOT need to manage the process separately
Recommendation

Provide explicit shutdown instructions, limit the bridge lifetime to the active task, and use an isolated Chrome profile for automation.