低风险 — 风险评分 15/100
上次扫描:10 小时前 重新扫描
15 /100
config-diagnose
智能配置诊断工具,帮助排查配置问题、环境变量、服务状态、文件搜索等
配置诊断工具,代码行为与文档声明基本一致,存在轻微权限范围过宽问题但有合理解释
技能名称config-diagnose
分析耗时60.7s
引擎pi
可以安装
建议限制文件搜索范围到 workspace 目录;API Key 检查应增加隐私提示

安全发现 3 项

严重性 安全发现 位置
低危
文件搜索权限范围过宽 权限提升
diagnose_file() 函数使用 find /root 遍历整个 root 目录,可能访问用户未预期访问的文件
local results=$(find /root -name "*$filename*" 2>/dev/null | head -10)
→ 限制搜索范围到 /root/.openclaw/workspace 或用户明确授权的目录
scripts/diagnose.sh:165
低危
API Key 检查可能超出用户预期 文档欺骗
代码检查 5 种平台 API Key (OpenAI, Anthropic, Baidu, Google, GitHub),用户可能只期望检查一种
local apis=("OPENAI_API_KEY" "ANTHROPIC_API_KEY" "BAIDU_API_KEY" "GOOGLE_API_KEY" "GITHUB_TOKEN")
→ 在 SKILL.md 中明确声明将检查多种平台 API Key
scripts/diagnose.sh:78
提示
检查敏感环境变量 敏感访问
代码检查 EMAIL_PASSWORD 等敏感配置,存在潜在凭证读取行为
if [ -n "$EMAIL_PASSWORD" ]; then echo -e "${GREEN}✓ 已设置${NC}"
→ 仅检查配置状态,不显示任何敏感信息(代码已做到)
scripts/diagnose.sh:40
资源类型声明权限推断权限状态证据
文件系统 READ READ ✓ 一致 scripts/diagnose.sh:165 - find命令读取
命令执行 WRITE WRITE ✓ 一致 脚本执行 lsof, pgrep, nc 等系统命令
网络访问 READ READ ✓ 一致 scripts/diagnose.sh:53 - IMAP连接测试
环境变量 READ READ ✓ 一致 scripts/diagnose.sh:33-51 - 检查EMAIL_*变量
1 高危 2 项发现
🔑
高危 API 密钥 疑似硬编码凭证
PASSWORD='your_app_password'
scripts/diagnose.sh:75
📧
提示 邮箱 邮箱地址
[email protected]
SKILL.md:139

目录结构

5 文件 · 22.5 KB · 848 行
Shell 3f · 530L Markdown 2f · 318L
├─ 📁 scripts
│ ├─ 🔧 diagnose.sh Shell 250L · 6.9 KB
│ ├─ 🔧 full-diagnose.sh Shell 186L · 5.9 KB
│ └─ 🔧 heartbeat-check.sh Shell 94L · 2.3 KB
├─ 📁 templates
│ └─ 📝 report.md Markdown 30L · 344 B
└─ 📝 SKILL.md Markdown 288L · 7.1 KB

安全亮点

✓ 文档完整,声称的功能与实际代码行为一致
✓ 敏感信息(API Key)只显示前10字符,无完整泄露
✓ 使用 timeout 限制网络连接测试时间,防止阻塞
✓ heartbeat-check.sh 使用 safe eval 模式,避免注入风险
✓ 代码结构清晰,无混淆或隐蔽行为
✓ 无外部网络请求发送敏感数据
✓ 无持久化后门或计划任务
✓ 预扫描 IOC your_app_password 为占位符,非真实凭证