可信 — 风险评分 10/100
上次扫描:5 小时前 重新扫描
10 /100
zhy-wechat-publish
微信公众号草稿箱发布技能,将 HTML 文章发布到微信公众号草稿箱
合法的微信公众号草稿发布技能,代码行为与文档声明一致,无恶意行为。存在轻微瑕疵(权限声明宽泛、调用外部脚本未显式声明),但不影响安全。
技能名称zhy-wechat-publish
分析耗时42.8s
引擎pi
ClawHub Zhy Wechat Publish v0.1.0 by zhylq
📥 150 📦 1
ClawHub 判定 可疑 dangerous_execvt_suspicious
可以安装
可安全使用。建议在 SKILL.md 中补充声明会调用外部 bun 生图脚本,以及 .env 加载路径的完整说明。

安全发现 2 项

严重性 安全发现 位置
低危
外部脚本调用未完全声明 文档欺骗
SKILL.md 提到'自动封面生成步骤会复用现有 bun 生图脚本',但未明确说明调用路径 (zhy-article-illustrator/scripts/image-gen.ts) 和执行方式。实际代码通过 spawnSync('bun', [...]) 执行,存在调用外部项目的能力。
runCommand('bun', [imageGenScript, '--prompt', prompt, '--output', coverPath, '--ar', aspectRatio], {...})
→ 建议在 SKILL.md 核心能力部分明确说明:'自动生成封面时调用 zhy-article-illustrator 项目的 image-gen.ts 脚本'
scripts/publish_with_cover.js:122
低危
.env 加载路径与文档不完全一致 文档欺骗
SKILL.md 说明'.env 至少包含 WECHAT_APP_ID',代码实际从三个路径加载 .env(技能目录、工作目录、项目根目录向上三级),文档仅提到'本地 skill 目录'。
const candidates = [path.resolve(skillDir, '.env'), path.resolve(process.cwd(), '.env'), path.resolve(skillDir, '..', '..', '..', '.env')]
→ 文档化 .env 搜索路径顺序
scripts/upload_image.js:13
资源类型声明权限推断权限状态证据
文件系统 READ READ ✓ 一致 所有脚本均读取 HTML/图片文件
网络访问 WRITE WRITE ✓ 一致 所有脚本均向 api.weixin.qq.com 发送请求
命令执行 NONE WRITE ✓ 一致 scripts/publish_with_cover.js:122 使用 spawnSync 执行 bun 命令,但未在 SKILL.md 显式声明
环境变量 READ READ ✓ 一致 所有脚本通过 loadEnv() 读取 .env 中的 WECHAT_APP_ID/WECHAT_APP_SECRET
4 项发现
🔗
中危 外部 URL 外部 URL
https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=$
scripts/upload_image.js:70
🔗
中危 外部 URL 外部 URL
https://api.weixin.qq.com/cgi-bin/material/add_material?access_token=$
scripts/upload_image.js:79
🔗
中危 外部 URL 外部 URL
https://api.weixin.qq.com/cgi-bin/draft/add?access_token=$
scripts/wechat_draft.js:135
🔗
中危 外部 URL 外部 URL
https://api.weixin.qq.com/cgi-bin/media/uploadimg?access_token=$
scripts/wechat_draft.js:316

目录结构

5 文件 · 39.7 KB · 1208 行
JavaScript 3f · 963L Markdown 2f · 245L
├─ 📁 scripts
│ ├─ 📜 publish_with_cover.js JavaScript 297L · 9.8 KB
│ ├─ 📜 upload_image.js JavaScript 201L · 6.9 KB
│ └─ 📜 wechat_draft.js JavaScript 465L · 16.0 KB
├─ 📝 README.md Markdown 111L · 2.0 KB
└─ 📝 SKILL.md Markdown 134L · 4.8 KB

安全亮点

✓ 零外部依赖,仅使用 Node.js 内置模块 (fs, path, https, http, child_process)
✓ 所有网络请求均为微信官方 API (api.weixin.qq.com),无第三方或可疑端点
✓ 凭证仅用于获取 access_token,不外传任何敏感信息
✓ spawnSync 使用 shell:false 配置,防止注入攻击
✓ 支持 --write-env 回写 .env 功能,文档已声明
✓ 代码结构清晰,错误处理完善