osm-ai-bridge

WarnAudited by ClawScan on May 18, 2026.

Overview

The skill’s browser-AI bridge is disclosed, but it uses stealth CDP automation and can access logged-in browser storage without tight scoping.

Install only if you are comfortable letting the skill control a browser session. Use a dedicated browser profile and AI accounts, do not connect it to your normal logged-in browser, avoid entering secrets, and consider official AI APIs instead of stealth web automation.

Findings (6)

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 the skill connects to a real browser profile, it can inspect session-related browser storage beyond just sending a prompt to Doubao or Gemini.

Why it was flagged

The code reads cookies for the connected browser context and LocalStorage from the current page without passing a domain filter, and this happens before Ask mode navigates to the intended AI site.

Skill content
cookies = await self.context.cookies() ... localStorage.getItem(key)
Recommendation

Use only a dedicated browser profile/account for this skill, avoid connecting it to a normal logged-in browser, and remove or tightly scope the storage-reading code.

What this means

If the CDP browser has a different tab open first, the skill could type and submit content into the wrong website or account context.

Why it was flagged

Discuss mode controls the first page in the first CDP context and submits text to the first textarea without checking that the page is Doubao or another intended AI service.

Skill content
page = browser.contexts[0].pages[0] ... await textarea.fill(prompt) ... await textarea.press("Enter")
Recommendation

Require an explicit target URL/domain check before typing, and prefer a dedicated browser context opened directly to the intended AI service.

What this means

Pages opened in that context can have their browser environment modified to mask automation, which may violate service expectations and makes the automation less transparent.

Why it was flagged

The skill injects JavaScript into the browser context to hide automation signals and simulate browser properties.

Skill content
await self.context.add_init_script(""" ... Object.defineProperty(navigator, 'webdriver', { get: () => undefined }); ... """)
Recommendation

Avoid anti-detection scripts unless the user explicitly accepts that behavior; prefer official APIs or transparent automation in a dedicated profile.

What this means

A dedicated browser profile may keep login state after use, and the debug browser should not be treated like an ordinary private session.

Why it was flagged

The skill can automatically start Edge with a persistent debug profile and a local debugging port. This is disclosed, but the profile can retain sessions.

Skill content
debug_profile = CONFIG_DIR / "edge_debug_profile" ... "--remote-debugging-port=9222", f"--user-data-dir={debug_profile}"
Recommendation

Close the debug browser after use and delete ~/.openclaw/ai_bridge/edge_debug_profile if you no longer want the saved session.

What this means

Users may install whatever versions are current at install time, which can affect reliability and supply-chain exposure.

Why it was flagged

The skill relies on manually installed, unpinned Python packages and has no install spec; this is purpose-aligned for Playwright automation but leaves dependency provenance to the user.

Skill content
需要 Playwright: `pip install playwright aiohttp`
Recommendation

Install dependencies in a virtual environment and pin reviewed versions where possible.

What this means

Sensitive prompt text may remain on disk in the skill’s log file.

Why it was flagged

The skill writes part of the user’s question to its persistent log file under ~/.openclaw/ai_bridge.

Skill content
logger.info(f"开始Ask流程 - AI: {self.ai_name}, 问题: {question[:50]}...")
Recommendation

Avoid sending secrets in prompts and periodically review or delete ~/.openclaw/ai_bridge/ai_bridge.log.