Scan Report
5 /100
smart-search
Intelligent web search routing across Gemini and Brave APIs with quota management, circuit breaker, and web_fetch fallback
Well-architected search routing skill with robust security controls including SSRF protection, prompt injection defense, proper API key handling, and clear documentation matching implementation.
Safe to install
This skill is safe to deploy. The only flagged IOC (169.254.0.0) is a legitimate security feature - the isSafeUrl() function correctly blocks APIPA addresses as part of SSRF protection.
Findings 1 items
| Severity | Finding | Location |
|---|---|---|
| Low | Dependency version not strictly pinned | package.json:7 |
| Resource | Declared | Inferred | Status | Evidence |
|---|---|---|---|---|
| Filesystem | READ | READ | ✓ Aligned | index.js:29 - reads openclaw.json and quota JSON |
| Network | READ | READ | ✓ Aligned | index.js:461-522 - API calls to Gemini/Brave; index.js:537 - web_fetch via tool … |
| Shell | NONE | NONE | — | No subprocess/spawn calls found in index.js |
| Environment | READ | READ | ✓ Aligned | index.js:29,419 - reads SEARCH_QUOTA_PATH and OPENCLAW_CONFIG_PATH |
| Skill Invoke | NONE | NONE | — | No skill_invoke capability used |
| Clipboard | NONE | NONE | — | No clipboard access found |
| Browser | NONE | NONE | — | Web fetch via harness tool protocol, not direct browser control |
| Database | NONE | NONE | — | JSON file used for quota, not a database |
1 High 6 findings
High IP Address 硬编码 IP 地址
169.254.0.0 index.js:54 Medium External URL 外部 URL
https://clawhub.ai .clawhub/origin.json:3 Medium External URL 外部 URL
https://api.search.brave.com/res/v1/web/search?q=$ index.js:512 Medium External URL 外部 URL
https://www.google.com/search?q=$ index.js:560 Medium External URL 外部 URL
https://www.bing.com/search?q=$ index.js:561 Medium External URL 外部 URL
https://duckduckgo.com/html/?q=$ index.js:562 File Tree
12 files · 64.9 KB · 1728 lines JavaScript 1f · 1006L
Markdown 6f · 581L
Shell 2f · 116L
JSON 3f · 25L
├─
▾
.clawhub
│ └─
origin.json
JSON
├─
▾
.learnings
│ ├─
ERRORS.md
Markdown
│ ├─
FEATURE_REQUESTS.md
Markdown
│ └─
LEARNINGS.md
Markdown
├─
▾
references
│ ├─
openclaw-config.md
Markdown
│ └─
quota-system.md
Markdown
├─
▾
scripts
│ ├─
reset-quota.sh
Shell
│ └─
setup.sh
Shell
├─
_meta.json
JSON
├─
index.js
JavaScript
├─
package.json
JSON
└─
SKILL.md
Markdown
Dependencies 1 items
| Package | Version | Source | Known Vulns | Notes |
|---|---|---|---|---|
proper-lockfile | ^4.1.2 | npm | No | Version not strictly pinned; no known vulnerabilities |
Security Positives
✓ Comprehensive SSRF protection via isSafeUrl() checking all RFC-1918, loopback, link-local, and ULA ranges
✓ Prompt injection defense via INJECTION_PATTERN regex stripping common jailbreak attempts
✓ API keys held in memory only, never logged or written to disk
✓ Circuit breaker pattern prevents hammering failed APIs
✓ File locking (proper-lockfile) prevents quota file corruption from concurrent writes
✓ Input validation with regex sanitization for agent_id and query parameters
✓ 31-line SKILL.md with detailed documentation matching implementation
✓ No base64-encoded payloads, eval(), or dynamic code generation
✓ No credential harvesting patterns - only reads keys for legitimate API calls
✓ No curl|bash or wget|sh remote execution patterns
✓ Log injection protection via MAX_PROVIDER_LENGTH capping before logging