Wechat Connect
Analysis
The WeChat pairing purpose is coherent, but the skill automatically runs an unpinned installer, changes OpenClaw messaging settings, and exposes sensitive login state through a local HTTP/status flow.
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.
Checks for instructions or behavior that redirect the agent, misuse tools, execute unexpected code, cascade across systems, exploit user trust, or continue outside the intended task.
未安装 → 自动执行安装 ... npx -y @tencent-weixin/openclaw-weixin-cli@latest install
The skill documents automatic execution of a remote npm installer using @latest, so the code that runs at install time is not pinned to the reviewed skill version.
openclaw config set channels.openclaw-weixin.enabled=true ... dmPolicy=allowlist ... allowFrom=[<userId>] ... Gateway 在后台自动重启
The skill changes OpenClaw channel configuration and restarts the gateway as part of the automatic pairing flow, without documenting a separate approval, rollback, or containment step.
WARNING: Plugin "openclaw-weixin" contains dangerous code patterns ... 安装完成后警告可忽略,插件正常运行。
The security note tells users to ignore a dangerous-code warning for the plugin while the skill also auto-installs an unpinned external package.
Checks whether tool use, credentials, dependencies, identity, account access, or inter-agent boundaries are broader than the stated purpose.
写入 ~/.openclaw/openclaw-weixin/accounts/{id}.json ... 账号 token 必须与 ilink_bot_id 匹配The skill necessarily pairs and persists a WeChat account token for the integration, which is purpose-aligned but sensitive account authority.
Checks for exposed credentials, poisoned memory or context, unclear communication boundaries, or sensitive data that could leave the user's control.
server.listen(HTTP_PORT, () => { ... }); ... 'Access-Control-Allow-Origin': '*'; res.end(JSON.stringify(readStatus())); ... updated.botToken = data.bot_token;The status API returns the full status object with permissive CORS, while the login flow places sensitive WeChat login material such as botToken into that status object after confirmation.
