低风险 — 风险评分 20/100
上次扫描:4 小时前 重新扫描
20 /100
wechat-md-publisher
发布 Markdown 文章到微信公众号,支持草稿管理、多主题、智能图片处理、自动封面图
合法的微信公众号 Markdown 发布工具,通过 npx 动态执行外部 npm 包,存在供应链风险但已明确声明并提供源码审计指引
技能名称wechat-md-publisher
分析耗时42.0s
引擎pi
ClawHub Wechat Md Publisher Skill v1.0.2 by sipingme
📥 591 📦 2
ClawHub 判定 可疑 dangerous_execllm_suspiciousvt_suspicious
可以安装
可使用。使用前建议审计 wechat-md-publisher 包的源码(特别是 account.ts 凭证处理部分),确认凭证加密实现符合预期

安全发现 3 项

严重性 安全发现 位置
低危
npx 动态拉取第三方 npm 包存在供应链风险 供应链
SKILL.md 和 config.json 均声明使用 `npx --yes wechat-md-publisher@^1.0.2` 动态拉取执行。版本 ^1.0.2 允许次要版本自动更新,可能引入恶意代码。
npx --yes wechat-md-publisher@^1.0.2
→ 建议使用固定版本号(如 1.0.2)而非 ^1.0.2,并在使用前审计源码
SKILL.md:54
低危
凭证加密处理依赖外部包 凭证窃取
SKILL.md 声明凭证(WECHAT_APP_SECRET)由 wechat-md-publisher npm 包使用 AES-256 加密存储到 ~/.config/,但未强制验证加密实现。
credentials.encryption: AES-256, handler: wechat-md-publisher npm 包
→ 建议用户在使用前审计 https://github.com/sipingme/wechat-md-publisher/blob/main/src/services/account.ts
SKILL.md:78
提示
可选的远程主题端点可能外传数据 供应链
remote-theme-api 功能在用户使用 `theme add-remote` 时访问第三方端点,可能发送文章内容。SKILL.md 已标注警告。
remote-theme-api: 仅当用户使用 theme add-remote 命令时才会访问
→ 仅使用可信任的主题源
SKILL.md:72
资源类型声明权限推断权限状态证据
文件系统 READ/WRITE READ/WRITE ✓ 一致 SKILL.md:filesystem 声明读取 *.md/*.jpg/*.png/*.gif,写入 ~/.config/wechat-md-publisher…
网络访问 READ READ ✓ 一致 SKILL.md 声明访问 api.weixin.qq.com、mp.weixin.qq.com
命令执行 NONE WRITE ✗ 越权 scripts/run.js:12 使用 spawnSync 执行 npx 命令,属于间接 shell 执行
15 项发现
🔗
中危 外部 URL 外部 URL
https://mp.weixin.qq.com/
README.md:54
🔗
中危 外部 URL 外部 URL
https://www.toutiao.com/article/123
README.md:142
🔗
中危 外部 URL 外部 URL
https://api.md2wechat.cn
README.md:209
🔗
中危 外部 URL 外部 URL
https://mp.we...
SKILL.md:386
🔗
中危 外部 URL 外部 URL
https://developers.weixin.qq.com/doc/offiaccount/Getting_Started/Overview.html
SKILL.md:626
🔗
中危 外部 URL 外部 URL
https://mp.weixin.qq.com/s/abc
SKILL.md:716
🔗
中危 外部 URL 外部 URL
https://www.xiaohongshu.com/explore/xyz
SKILL.md:717
🔗
中危 外部 URL 外部 URL
https://www.toutiao.com/article/7000000000000000000/
SKILL.md:807
🔗
中危 外部 URL 外部 URL
https://www.toutiao.com/article/...
SKILL.md:813
🔗
中危 外部 URL 外部 URL
https://www.ip.cn/
references/ip-whitelist-guide.md:29
🔗
中危 外部 URL 外部 URL
https://ipinfo.io/
references/ip-whitelist-guide.md:30
🔗
中危 外部 URL 外部 URL
https://ifconfig.me/
references/ip-whitelist-guide.md:31
🔗
中危 外部 URL 外部 URL
https://developers.weixin.qq.com/doc/offiaccount/Getting_Started/Getting_Started_Guide.html
references/ip-whitelist-guide.md:285
🔗
中危 外部 URL 外部 URL
https://developers.weixin.qq.com/doc/offiaccount/Basic_Information/Get_access_token.html
references/ip-whitelist-guide.md:286
📧
提示 邮箱 邮箱地址
[email protected]
README.md:305

目录结构

8 文件 · 52.2 KB · 2131 行
Markdown 5f · 1848L JavaScript 2f · 177L JSON 1f · 106L
├─ 📁 references
│ ├─ 📝 ip-whitelist-guide.md Markdown 290L · 6.6 KB
│ ├─ 📝 quick-start.md Markdown 93L · 1.6 KB
│ └─ 📝 themes.md Markdown 284L · 4.7 KB
├─ 📁 scripts
│ ├─ 📜 postinstall.js JavaScript 75L · 2.5 KB
│ └─ 📜 run.js JavaScript 102L · 2.5 KB
├─ 🔑 config.json JSON 106L · 3.1 KB
├─ 📝 README.md Markdown 317L · 7.6 KB
└─ 📝 SKILL.md Markdown 864L · 23.6 KB

依赖分析 1 项

包名版本来源已知漏洞备注
wechat-md-publisher ^1.0.2 npm (npx) 通过 npx 动态拉取,版本允许次要版本更新,存在供应链风险

安全亮点

✓ SKILL.md 文档完整,声明了供应链风险并提供源码审计链接
✓ 权限声明与实际功能匹配(除间接 shell 执行外)
✓ 明确标注凭证敏感性(WECHAT_APP_SECRET 为 sensitive:true)
✓ 提供多层次安全提示和使用指引
✓ 凭证存储使用 AES-256 加密(依赖上游实现)
✓ 脚本代码简洁,无复杂或可疑逻辑