安全扫描
OpenClaw
可疑
high confidence技能总体功能与描述一致,但存在不一致的声明(未在元数据列出所需凭证)并会将公众号凭证发送到远程 MCP 服务;还包含会读取用户全局文件 (TOOLS.md) 的脚本,需谨慎信任远端与存放凭证的位置。
评估建议
简明建议(安装前请考虑):
- 信任边界:此技能会把你的 WECHAT_APP_ID 与 WECHAT_APP_SECRET 作为字段传送到远程 wenyan-mcp 服务(通过 mcporter)。只有在你信任并控制该远端 MCP 服务或确认对方是受信任部署时才应提供真实凭证。
- 元数据不一致:技能注册信息未声明必需的环境变量,但脚本确实需要 WECHAT_APP_ID/WECHAT_APP_SECRET。不要盲目把凭证放入全局文件。
- 避免集中凭证泄露:scripts/setup.sh 会从 $HOME/.openclaw/workspace/TOOLS.md 读取凭证。若你把其他敏感密钥放在 TOOLS.md,安装/使用此脚本可能会无意中暴露或读取这些密钥。建议不要把真实凭证放在公用/全局文件中;优先使用技能根目录下的 wechat.env,并把它设置为仅限技能访问的受限文件。
- 代码与包审查:在安装 mcporter npm 包前,查看该包的源(GitHub 仓库或 npm 页面)以确认其来源和维护者;审阅 mcporter 的实现或使用受信任版本。
- 最小化测试:先...详细分析 ▾
ℹ 用途与能力
技能名与描述匹配其实现:通过远程 wenyan-mcp 发布微信文章,所需二进制 (mcporter, curl, jq) 与功能相符。但注册表元数据没有声明任何必需的环境变量或主凭证,尽管脚本在运行时明确需要 WECHAT_APP_ID 和 WECHAT_APP_SECRET —— 这是声明与实际所需不一致。
⚠ 指令范围
运行时说明与脚本会:读取技能根目录的 wechat.env(包含 AppID/Secret)、检查本地依赖、读取 $HOME/.openclaw/mcp.json 并将凭证随发布请求通过 mcporter 转发给远程 MCP 服务。这在功能上合理但会把敏感凭证传给远端,需要信任远端。更令人担忧的是 scripts/setup.sh 会从 $HOME/.openclaw/workspace/TOOLS.md 提取并导出凭证——这会访问一个全局/集中存放的文件,可能包含其他敏感信息,且与 SKILL.md 中“凭证隔离”的表述矛盾。
ℹ 安装机制
安装通过 Node 包 (mcporter) 提供 mcporter 二进制:这是常见做法但属于第三方 npm 包安装(中等风险)。没有看到从不可信 URL 下载或解压任意归档的高风险行为。建议在安装前核验 mcporter 包的来源与版本。
⚠ 凭证需求
技能在元数据未声明任何 required env,但脚本明确需要 WECHAT_APP_ID 和 WECHAT_APP_SECRET(必需)。此外 scripts/setup.sh 会读取并导出 TOOLS.md 中的凭证,这意味技能能访问并依赖一个可能含有多种密钥的全局文件。技能还允许在 mcp.json 中配置可选 X-API-Key,但这些凭证与注册信息未对应列出。总体上请求/访问的凭证与声明不一致,可能导致凭证意外暴露。
✓ 持久化与权限
技能没有设置 always:true,也不会修改其他技能或系统级设置。脚本仅在运行时读取/导出变量(setup.sh 导出仅当前 shell 会话有效)。须注意:因技能可被代理自主调用(默认允许),把敏感凭证发送到远端会放大风险——尤其是在远端未被充分信任时。
安全有层次,运行前请审查代码。
运行时依赖
无特殊依赖
版本
latestv2.0.22026/2/13
合规性优化:移除不安全的全局凭证读取,改为专用配置 wechat.env;增加依赖检查与本地回退机制。
● 可疑
安装命令 点击复制
官方npx clawhub@latest install wechat-mp-publisher
镜像加速npx clawhub@latest install wechat-mp-publisher --registry https://cn.clawhub-mirror.com
技能文档
核心痛点解决:家用宽带 IP 频繁变动,无法固定添加到公众号白名单?
本技能通过远程 wenyan-mcp 服务中转,让你的本地 OpenClaw 也能稳定发布文章,无需本地 IP 权限!
🌟 架构优势
- IP 漫游无忧:仅需将远程 MCP 服务器 IP 加入白名单,无论你在家里、咖啡厅还是 4G 热点,都能随时发布。
- 合规隔离:凭证与系统配置分离,避免污染全局
TOOLS.md。 - 依赖自检:脚本运行时自动检查
jq、mcporter和wenyan-cli。 - 灵活配置:支持自定义 MCP 配置文件路径。
⚙️ 快速配置
1. 准备凭证 (wechat.env)
在技能根目录下复制 wechat.env.example 为 wechat.env 并填入公众号凭证:
cp wechat.env.example wechat.env
nano wechat.env
内容示例:
export WECHAT_APP_ID="wx..."
export WECHAT_APP_SECRET="cx..."
# Optional: 指定 MCP 配置文件 (默认 $HOME/.openclaw/mcp.json)
# export MCP_CONFIG_FILE="/path/to/your/mcp.json"
2. 连接远程服务 (mcp.json)
确保你的 mcp.json 指向远程 MCP 实例:
{
"mcpServers": {
"wenyan-mcp": {
"name": "公众号远程助手",
"transport": "sse",
"url": "http://:3000/sse",
"headers": {
"X-API-Key": ""
}
}
}
}
🚀 使用指南
方式 A: 智能助手 (推荐)
直接对我说:
"帮我把 path/to/article.md 发布到公众号,使用默认主题。"我会自动:
- 读取
wechat.env获取凭证 - 检查本地环境 (
mcporter,jq) - 调用远程 MCP 完成发布
方式 B: 命令行脚本 (高级)
我们提供了封装好的脚本 scripts/publish-remote.sh,体验与本地 CLI 一致:
# 赋予执行权限
chmod +x scripts/publish-remote.sh# 发布文章 (自动加载 wechat.env)
./scripts/publish-remote.sh ./my-post.md
# 指定主题 (lapis)
./scripts/publish-remote.sh ./my-post.md lapis
📝 Markdown 规范
与标准 wenyan-cli 一致,头部必须包含元数据:
---
title: 我的精彩文章
cover: https://example.com/cover.jpg
# 正文开始
...
提示:cover 推荐使用图床链接,以确保远程服务器能正确下载封面。
🛠️ 故障排查
| 现象 | 原因 | 解决方案 |
|---|---|---|
| Dependencies Missing | 缺少 jq 或 mcporter | 请确保系统已安装这些工具 |
| Config Not Found | 未找到 wechat.env | 请按照步骤 1 创建并配置 |
| IP not in whitelist | 远程服务器 IP 未加白 | 登录公众号后台 -> 基本配置 -> IP 白名单,添加 MCP 服务器的公网 IP |
数据来源:ClawHub ↗ · 中文优化:龙虾技能库
OpenClaw 技能定制 / 插件定制 / 私有工作流定制
免费技能或插件可能存在安全风险,如需更匹配、更安全的方案,建议联系付费定制