Gecho Bridge

ReviewAudited by ClawScan on May 13, 2026.

Overview

Gecho Bridge appears purpose-built for TikTok scraping, but it auto-starts a detached local browser-bridge service and includes under-scoped local connection and file-write behavior that should be reviewed before use.

Install only if you are comfortable letting an AI-controlled local service automate TikTok through your logged-in browser. Prefer a separate browser profile, pin the package version, verify the Chrome extension source, and look for documented controls to stop the background service.

Findings (5)

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

Your assistant may use your active TikTok/browser session to run searches and collect data.

Why it was flagged

The skill relies on the user's logged-in browser and extension state to perform TikTok automation.

Skill content
TikTok is open in Chrome and the account is logged in... The Gecho extension is logged in and online
Recommendation

Use a dedicated browser profile/account if possible and confirm what searches or scraping tasks the assistant is asked to run.

What this means

A local bridge service may keep running in the background after the immediate MCP request/client process ends.

Why it was flagged

The MCP client starts a service as a detached, silent child process that can continue independently of the invoking client.

Skill content
spawn("node", [SERVICE_PATH], { detached: true, stdio: "ignore" });
child.unref();
Recommendation

Provide and document explicit start/stop/status controls, make the background process visible to users, and avoid silent detached operation unless the user has opted in.

What this means

A malicious or accidental query containing path separators could cause result files to be written outside the intended data folder.

Why it was flagged

A tool-supplied search query is used directly in a filename and joined into a write path without the sanitization claimed in the README.

Skill content
const fixedFilename = `${query}_search_results.json`;
const fixedPath = path.join(dataDir, fixedFilename);
fs.writeFileSync(fixedPath, JSON.stringify(result, null, 2), "utf8");
Recommendation

Sanitize query-derived filenames with path.basename or a strict allowlist, reject path separators and traversal strings, and verify the resolved path remains inside the intended data directory.

What this means

Another local process or browser page may be able to impersonate the extension, receive search requests, or inject fake results.

Why it was flagged

The shown bridge accepts any localhost WebSocket connection as the extension socket without visible token, origin, or extension identity checks.

Skill content
wss = new WebSocketServer({ port: WS_PORT, host: "127.0.0.1" });
wss.on("connection", (ws) => {
  ...
  extensionSocket = ws;
Recommendation

Authenticate the browser extension connection with a per-install secret, validate expected origins, and reject unauthenticated local WebSocket clients.

What this means

A future package update could change the code that runs locally without matching this review.

Why it was flagged

The documented setup can execute the latest npm package version rather than a pinned version matching the reviewed artifact.

Skill content
openclaw mcp set gecho-bridge '{"command":"npx","args":["-y","@gecho-ai/gecho-bridge@latest"]}'
Recommendation

Pin the npm package to a reviewed version and install the Chrome extension only from a trusted source.