text
用户:帮我检查这个技能是否安全
助手:运行预检检查流程,生成报告
text
用户:检查我准备安装的 5 个技能
助手:逐个检查,汇总报告
bash
# 查看作者信息
npm view package-name author
# 查看下载量
npm view package-name downloads
# 查看星标
npm view package-name stargazers_count
bash
# 读取 package.json
jq '.scripts' package.json
# 检查可疑脚本
grep -E "postinstall|preinstall" package.json
bash
# 搜索网络调用
grep -r "curl\|wget\|axios\|request" node_modules/
# 搜索危险函数
grep -r "eval\|exec\|spawn" node_modules/
# 搜索敏感文件访问
grep -r "\.ssh\|\.env\|credentials" node_modules/
bash
# 在 Docker 中安装测试
docker run --rm -v $(pwd):/app node:alpine npm install package-name
# 监控文件变化
docker run --rm -v $(pwd):/app node:alpine ls -la
立即拒绝安装的信号:
红旗说明风险等级postinstall 脚本安装时自动执行代码🔴 高危网络调用安装时访问外部服务器🔴 高危读取敏感文件访问 ~/.ssh, ~/.env, 凭证文件🔴 高危使用 eval/exec动态执行代码🔴 高危未知作者首次发布,无历史记录🟡 中危代码混淆压缩、编码、混淆🔴 高危请求提权需要 sudo/管理员权限🔴 高危访问浏览器读取 cookie、session🔴 高危
等级标志操作🟢 低风险无红旗,作者可信可以直接安装🟡 中风险有警告但可解释需要人工审查🔴 高风险有严重红旗拒绝安装⛔ 极高风险多个严重红旗举报给社区
text
SKILL PREFLIGHT REPORT
═══════════════════════════
技能:[技能名称]
来源:[ClawHub / GitHub / npm]
作者:[作者名]
版本:[版本号]
───────────────────────────
指标:
• 下载量:[数字]
• 星标数:[数字]
• 最后更新:[日期]
• 文件审查:[数字] 个
───────────────────────────
红旗警告:[无 / 列表]
权限需求:
• 文件:[列表或"无"]
• 网络:[列表或"无"]
• 命令:[列表或"无"]
───────────────────────────
风险等级:[🟢 LOW / 🟡 MEDIUM / 🔴 HIGH / ⛔ EXTREME]
建议:[✅ 安全 / ⚠️ 谨慎 / ❌ 拒绝]
备注:[任何观察]
═══════════════════════════
bash
#!/bin/bash
SKILL_NAME=$1
echo "🔍 Preflight Check: $SKILL_NAME"
echo "═══════════════════════"
# 1. Check author
echo "1. Checking author..."
npm view $SKILL_NAME author
# 2. Check scripts
echo "2. Checking scripts..."
npm view $SKILL_NAME scripts
# 3. Download and scan
echo "3. Scanning for red flags..."
npm pack $SKILL_NAME
tar -xzf *.tgz
grep -r "curl\|wget\|eval" package/
# 4. Clean up
rm -rf package *.tgz
echo "═══════════════════════"
echo "✅ Preflight complete"
text
用户:clawhub install xxx-skill
助手:
1. 暂停安装
2. 运行预检检查
3. 生成报告
4. 如果安全,继续安装
5. 如果有红旗,警告用户
text
用户:从 GitHub 安装技能
助手:
1. 检查仓库星标和 fork 数
2. 检查作者其他项目
3. 审查 SKILL.md 和代码
4. 生成报告
5. 给出建议
text
用户:我要安装这 10 个技能
助手:
1. 逐个检查
2. 汇总报告
3. 分类(安全/谨慎/拒绝)
4. 给出优先级建议
问题解决方案无法获取作者信息手动检查 GitHub/npm 页面容器测试失败检查 Docker 配置和网络误报红旗调整检查规则,添加白名单检查时间太长优化脚本,缓存结果
scripts/preflight_check.sh - 预检脚本scripts/scan_package.py - 包扫描脚本references/red-flags.md - 红旗模式库references/trusted-authors.md - 可信作者白名单references/checklist-template.md - 检查清单模板