WeChat CC

SuspiciousAudited by ClawScan on May 13, 2026.

Overview

This skill is a coherent WeChat-to-Claude gateway, but it includes a remote auto-execution path that can run Claude with permission checks disabled.

Install only if you intentionally want WeChat to control Claude Code. Avoid --auto-exec, or remove the permission-skipping flag and add sender allowlists first; protect WeChat/OceanBus state files, verify new routes, and prefer pinned dependency installs.

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

If auto-exec is enabled, a remote message could make Claude act on the local project and send results back without the usual permission review.

Why it was flagged

In auto-exec mode, any non-self OceanBus message text is passed to Claude in the current working directory with Claude's normal permission prompts disabled; the visible code does not require the sender to match a configured gateway before execution.

Skill content
if (msg.from_openid === creds.openid) return; ... if (AUTO_EXEC && text.trim()) { ... spawn('claude', ['-p', text, '--dangerously-skip-permissions'], { cwd: process.cwd(), ... }); }
Recommendation

Do not enable --auto-exec unless you fully trust the message source; remove '--dangerously-skip-permissions', add a strict sender allowlist, and require per-message approval for file or command actions.

ConcernMedium Confidence
ASI08: Cascading Failures
What this means

In a multi-user gateway, one user's route command could affect where later messages are sent for other users or agents.

Why it was flagged

Route changes are saved to a single shared routes.json file; the visible command handler mutates routes and defaults without showing per-user route storage or an admin authorization check.

Skill content
const ROUTES_FILE = path.join(STATE_DIR, "routes.json"); ... case "/addroute": { ... rt.routes[prefix] = { openId, name, addedAt: new Date().toISOString() }; ... saveRoutes(rt); } ... case "/default": { ... rt.default = prefix; saveRoutes(rt); }
Recommendation

Scope route tables per WeChat user or require explicit administrator approval for /addroute, /removeroute, and /default changes.

What this means

Anyone who can control the linked WeChat session may be able to approve or deny Claude Code tool calls remotely.

Why it was flagged

The skill intentionally delegates Claude Code tool-approval decisions to WeChat yes/no replies, which is purpose-aligned but gives the linked WeChat account meaningful authority over local agent actions.

Skill content
权限转发:CC 工具调用审批 → 微信 → 回复 yes/no 远程授权
Recommendation

Use only a trusted WeChat account, monitor approval prompts carefully, and log out or rotate state if the account or device may be compromised.

What this means

Sharing or leaking the wxOpenId could let an unexpected agent try to register a route with the gateway.

Why it was flagged

Agent registration is designed around sending an announce message to a wxOpenId; that is central to the product, but it makes the wxOpenId and routing approval boundary sensitive.

Skill content
Agent 不需要扫码。知道 wxOpenId 后,向它发送 announce 即可自动注册。 ... Gateway 收到 → 自动添加路由 /cc-qMaP → qMaP...
Recommendation

Share wxOpenId only with trusted agents, review newly announced routes, and prefer explicit approval or allowlisting for new agent registrations.

What this means

A future dependency or repository change could affect what code runs in the remote-control gateway.

Why it was flagged

The documented standalone setup installs latest dependency versions and immediately runs the local script, which is a user-directed but less reproducible supply-chain path.

Skill content
git clone https://github.com/ryanbihai/wechat-cc.git && cd wechat-cc; fi && npm install oceanbus@latest weixin-bot-plugin@latest && node standalone.cjs
Recommendation

Prefer pinned versions, npm ci with a reviewed lockfile, and install from a trusted, verified source.