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.
Your assistant may use your active TikTok/browser session to run searches and collect data.
The skill relies on the user's logged-in browser and extension state to perform TikTok automation.
TikTok is open in Chrome and the account is logged in... The Gecho extension is logged in and online
Use a dedicated browser profile/account if possible and confirm what searches or scraping tasks the assistant is asked to run.
A local bridge service may keep running in the background after the immediate MCP request/client process ends.
The MCP client starts a service as a detached, silent child process that can continue independently of the invoking client.
spawn("node", [SERVICE_PATH], { detached: true, stdio: "ignore" });
child.unref();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.
A malicious or accidental query containing path separators could cause result files to be written outside the intended data folder.
A tool-supplied search query is used directly in a filename and joined into a write path without the sanitization claimed in the README.
const fixedFilename = `${query}_search_results.json`;
const fixedPath = path.join(dataDir, fixedFilename);
fs.writeFileSync(fixedPath, JSON.stringify(result, null, 2), "utf8");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.
Another local process or browser page may be able to impersonate the extension, receive search requests, or inject fake results.
The shown bridge accepts any localhost WebSocket connection as the extension socket without visible token, origin, or extension identity checks.
wss = new WebSocketServer({ port: WS_PORT, host: "127.0.0.1" });
wss.on("connection", (ws) => {
...
extensionSocket = ws;Authenticate the browser extension connection with a per-install secret, validate expected origins, and reject unauthenticated local WebSocket clients.
A future package update could change the code that runs locally without matching this review.
The documented setup can execute the latest npm package version rather than a pinned version matching the reviewed artifact.
openclaw mcp set gecho-bridge '{"command":"npx","args":["-y","@gecho-ai/gecho-bridge@latest"]}'Pin the npm package to a reviewed version and install the Chrome extension only from a trusted source.
