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.
If run against the wrong tab or while sensitive audio is playing, the agent could capture audio the user did not intend to record.
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.
resp = await send_cdp(ws, "Runtime.evaluate", {
"expression": expression,
"awaitPromise": True,
"returnByValue": True,
}, msg_id)Use a separate Chrome debug profile, keep the debugging port local, explicitly choose tabs when possible, and stop capture when finished.
Anything said or played in the captured tab may be sent to the local AI/transcription pipeline, along with page metadata.
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.
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,
})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.
Recording can continue after the visible popup is gone, so users may forget that browser audio is still being captured.
The extension is designed to keep recording after the popup is closed. This persistence is openly documented and aligned with the product purpose.
### Chrome Extension (one-click, persistent) ... 3. Close popup — capture continues in background
Check the extension badge/status, use the stop control when finished, and do not use persistent capture for meetings without appropriate consent.
Users must trust the package source and their local Python environment before running the CLI.
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.
Python 3.9+ with aiohttp: `pip install aiohttp`
Install dependencies from trusted package indexes, consider pinning `aiohttp`, and inspect the local files before running because the registry source is listed as unknown.
