Browser Audio Capture

PassAudited by ClawScan on May 10, 2026.

Overview

This skill appears to do what it says—record browser-tab audio and send it to a local receiver—but it handles sensitive meeting/audio content and should only be run intentionally.

Install only if you intentionally want browser audio recorded for an AI/transcription workflow. Use a separate Chrome debug profile, keep the receiver and debugging port local, verify what tab is being captured, stop recording when done, and get appropriate consent before capturing meetings or private audio.

Findings (4)

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

If run against the wrong tab or while sensitive audio is playing, the agent could capture audio the user did not intend to record.

Why it was flagged

The CLI executes injected JavaScript inside browser tabs through Chrome DevTools Protocol. This is expected for the skill’s capture function, but it is a powerful browser-control mechanism.

Skill content
resp = await send_cdp(ws, "Runtime.evaluate", {
        "expression": expression,
        "awaitPromise": True,
        "returnByValue": True,
    }, msg_id)
Recommendation

Use a separate Chrome debug profile, keep the debugging port local, explicitly choose tabs when possible, and stop capture when finished.

What this means

Anything said or played in the captured tab may be sent to the local AI/transcription pipeline, along with page metadata.

Why it was flagged

Captured audio plus tab URL and title are posted to a local receiver. The destination is localhost by default and disclosed, but the payload can contain private meeting or media content.

Skill content
const PERCEPT_URL = "http://127.0.0.1:8900"; ... body: JSON.stringify({
      sessionId: currentSessionId,
      audio: b64,
      sampleRate: SAMPLE_RATE,
      format: "pcm16",
      source: "browser_extension",
      tabUrl: currentTabUrl,
      tabTitle: currentTabTitle,
    })
Recommendation

Run only a trusted local receiver on port 8900, be careful before changing the endpoint to an external service, and treat resulting transcripts as untrusted input to downstream agents.

NoteHigh Confidence
ASI10: Rogue Agents
What this means

Recording can continue after the visible popup is gone, so users may forget that browser audio is still being captured.

Why it was flagged

The extension is designed to keep recording after the popup is closed. This persistence is openly documented and aligned with the product purpose.

Skill content
### Chrome Extension (one-click, persistent)
...
3. Close popup — capture continues in background
Recommendation

Check the extension badge/status, use the stop control when finished, and do not use persistent capture for meetings without appropriate consent.

What this means

Users must trust the package source and their local Python environment before running the CLI.

Why it was flagged

The skill relies on a manually installed, unpinned Python dependency rather than a reviewed install spec. This is common for instruction-only skills but leaves dependency provenance to the user.

Skill content
Python 3.9+ with aiohttp: `pip install aiohttp`
Recommendation

Install dependencies from trusted package indexes, consider pinning `aiohttp`, and inspect the local files before running because the registry source is listed as unknown.