Suspicious — Risk Score 35/100
Last scan:2 days ago Rescan
35 /100
openclaw-free-search
免 API Key 的 DuckDuckGo 网页搜索工具
代码实现了声称的搜索功能,但存在未声明的 shell 执行能力(curl fallback),存在文档-行为差异。
Skill Nameopenclaw-free-search
Duration20.6s
Enginepi
Use with caution
建议在 SKILL.md 中补充说明网络请求方式和 curl fallback 机制。若不需要 curl fallback,可移除该功能。

Findings 2 items

Severity Finding Location
Medium
未声明的 shell 执行能力
代码在 fetch 失败时会使用 execFileSync 执行 curl 命令,这是 shell:WRITE 操作,但 SKILL.md 完全没有提及
const out = execFileSync('curl', ['-s', '-L', '--max-time', '15', url], {...});
→ 在 SKILL.md 中补充说明网络请求方式,包括 fetch 和 curl fallback 两种机制
search.js:27-31
Low
缺少错误处理详情
错误信息中暴露了'DuckDuckGo'等实现细节,可能泄漏工具内部信息
console.error('搜索失败: 无法访问 DuckDuckGo...')
→ 使用更通用的错误信息
search.js:32
ResourceDeclaredInferredStatusEvidence
Network READ READ ✓ Aligned SKILL.md:14 'search the web'
Shell NONE WRITE ✗ Violation search.js:27-31 execFileSync('curl', ...)
2 findings
🔗
Medium External URL 外部 URL
https://yang1002378395-cmyk.github.io/openclaw-install-service/
SKILL.md:45
🔗
Medium External URL 外部 URL
https://api.duckduckgo.com/?q=$
search.js:18

File Tree

3 files · 3.6 KB · 129 lines
JavaScript 1f · 75L Markdown 1f · 49L JSON 1f · 5L
├─ 📋 _meta.json JSON 5L · 139 B
├─ 📜 search.js JavaScript 75L · 2.3 KB
└─ 📝 SKILL.md Markdown 49L · 1.2 KB

Security Positives

✓ 功能相对简单,无复杂的攻击链
✓ 无凭证收割、环境变量遍历等敏感操作
✓ 无外部数据传输行为
✓ 使用标准 DuckDuckGo API,无隐蔽通信