Skill flagged — suspicious patterns detected

ClawHub Security flagged this skill as suspicious. Review the scan results before using.

wechat-mp-publisher

v1.0.0

远程微信公众号发布技能 (合规优化版)。通过 HTTP MCP 解决家用宽带 IP 变动问题,支持安全凭证隔离与依赖检查。

0· 262·0 current·0 all-time
MIT-0
Download zip
LicenseMIT-0 · Free to use, modify, and redistribute. No attribution required.
Security Scan
VirusTotalVirusTotal
Suspicious
View report →
OpenClawOpenClaw
Suspicious
medium confidence
!
Purpose & Capability
技能目标是通过远端 MCP 将 Markdown 发布到微信公众号,这与脚本中的 mcporter 调用一致 — 需要把文章和微信凭证发送给远端服务,因此功能目的本身合理。但元数据/registry 声明不一致:registry 要求未列出任何必须的环境变量或配置路径,文件也没有声明需要从 ~/.openclaw/workspace/TOOLS.md 读取凭证;同时 README/SKILL.md 提到 wenyan-cli,但 metadata 的 required bins 未列出 wenyan。总体上声明少报/漏报了实际所需的凭证与依赖。
!
Instruction Scope
runtime 指令和脚本会:1) 读取技能根目录的 wechat.env(或 publish.sh 会提取并导出 WECHAT_APP_ID/WECHAT_APP_SECRET);2) publish-remote.sh 会将文章内容和微信凭证通过 mcporter 调用上传并让远端 MCP 完成发布;3) setup.sh 会直接从全局文件 $HOME/.openclaw/workspace/TOOLS.md 提取并导出凭证。读取并解析全局 TOOLS.md 属于越界(未在元数据中声明),且将敏感凭证传给远端 MCP 是关键行为——这是功能所需但会导致凭证被远端接收,用户必须信任该远端。
Install Mechanism
安装规范通过 node/npm 安装 mcporter(包名 mcporter,生成 mcporter 可执行文件),这是与 mcporter 二进制需求一致的常见做法。没有看到来自不明 URL 的下载或压缩包提取;风险主要在于需验证 npm 包 mcporter 的来源与完整性(恶意或被劫持的 npm 包风险)。
!
Credentials
registry metadata 列出“无必需环境变量”,但运行时脚本明确需要 WECHAT_APP_ID 和 WECHAT_APP_SECRET(来自 wechat.env 或 TOOLS.md),且会把这些凭证包含在发送给远端 MCP 的请求里。setup.sh 会读取并导出位于用户主目录的 TOOLS.md 中的凭证,这可能暴露该全局文件中其它凭证或敏感条目(技能未声明需要访问该全局路径)。总体上环境/凭证访问声明不足,且读取全局配置存在过度权限/数据访问风险。
Persistence & Privilege
技能没有设置 always:true,也不修改系统或其它技能配置。安装会添加 mcporter 可执行文件(由 npm 安装),这是合理的。唯一需要注意的是技能会把凭证在运行时发送到远端 MCP;技能本身不声明长驻或修改其它技能的行为。
What to consider before installing
What to check before installing or using this skill: - Trust the remote MCP server: publish-remote.sh sends your WECHAT_APP_ID and WECHAT_APP_SECRET to the configured MCP server. Only use this if you control or fully trust the target MCP instance and its operator. - Validate where credentials come from: the skill expects wechat.env in the skill folder but also includes scripts (scripts/setup.sh) that will read $HOME/.openclaw/workspace/TOOLS.md and export credentials. If you keep other secrets in TOOLS.md, those could be read — avoid sourcing setup.sh or remove secrets from TOOLS.md. - Verify declarations vs reality: the registry metadata claims no required env vars, but the code needs WECHAT_APP_ID/SECRET. Treat that mismatch as a warning—inspect and supply credentials deliberately (prefer a local wechat.env in the skill directory). - Inspect and verify the mcporter npm package: the install uses an npm package named mcporter that will create a binary; confirm its source (package author, homepage, pinned version) before installation to avoid supply-chain risks. - Use least privilege and isolation: run the skill in an isolated environment (container or throwaway VM) if you want to test it before trusting it with real credentials or your main workstation. - If you need a safer alternative: prefer using a MCP instance you control (self-hosted), or use local publishing (wenyan-cli) if you don't want to transmit secrets off your machine. If you want, I can: (a) highlight exact lines in the scripts that read global files or transmit credentials, (b) suggest safer modifications (e.g., remove setup.sh reading TOOLS.md, require explicit wechat.env only), or (c) draft a checklist for running this in a container.

Like a lobster shell, security has layers — review code before you run it.

latestvk972b8fn4v5jxtxvzxes2mzxvh82nyse

License

MIT-0
Free to use, modify, and redistribute. No attribution required.

Runtime requirements

🚀 Clawdis
Binsmcporter, curl, jq

Install

安装 MCP 客户端 (mcporter)
Bins: mcporter
npm i -g mcporter

Comments