Low Risk — Risk Score 15/100
Last scan:8 hr ago Rescan
15 /100
config-diagnose
智能配置诊断工具,帮助排查配置问题、环境变量、服务状态、文件搜索等
配置诊断工具,代码行为与文档声明基本一致,存在轻微权限范围过宽问题但有合理解释
Skill Nameconfig-diagnose
Duration60.7s
Enginepi
Safe to install
建议限制文件搜索范围到 workspace 目录;API Key 检查应增加隐私提示

Findings 3 items

Severity Finding Location
Low
文件搜索权限范围过宽 Priv Escalation
diagnose_file() 函数使用 find /root 遍历整个 root 目录,可能访问用户未预期访问的文件
local results=$(find /root -name "*$filename*" 2>/dev/null | head -10)
→ 限制搜索范围到 /root/.openclaw/workspace 或用户明确授权的目录
scripts/diagnose.sh:165
Low
API Key 检查可能超出用户预期 Doc Mismatch
代码检查 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
Info
检查敏感环境变量 Sensitive Access
代码检查 EMAIL_PASSWORD 等敏感配置,存在潜在凭证读取行为
if [ -n "$EMAIL_PASSWORD" ]; then echo -e "${GREEN}✓ 已设置${NC}"
→ 仅检查配置状态,不显示任何敏感信息(代码已做到)
scripts/diagnose.sh:40
ResourceDeclaredInferredStatusEvidence
Filesystem READ READ ✓ Aligned scripts/diagnose.sh:165 - find命令读取
Shell WRITE WRITE ✓ Aligned 脚本执行 lsof, pgrep, nc 等系统命令
Network READ READ ✓ Aligned scripts/diagnose.sh:53 - IMAP连接测试
Environment READ READ ✓ Aligned scripts/diagnose.sh:33-51 - 检查EMAIL_*变量
1 High 2 findings
🔑
High API Key 疑似硬编码凭证
PASSWORD='your_app_password'
scripts/diagnose.sh:75
📧
Info Email 邮箱地址
[email protected]
SKILL.md:139

File Tree

5 files · 22.5 KB · 848 lines
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

Security Positives

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