Scan Report
55 /100
search
Multi-engine web search (SearXNG default, Tavily, Multi-engine)
Skill contains hardcoded API credentials and makes undisclosed external network requests to Tavily's API, with doc-to-code mismatch on credential handling.
Use with caution
Remove hardcoded API keys from source code. Use environment variables only and require users to provide their own API keys. Document all network egress points.
Findings 5 items
| Severity | Finding | Location |
|---|---|---|
| High | Hardcoded API Credential in Source Code Credential Theft | plugin.ts:75 |
| High | Undisclosed External API Calls Data Exfil | providers/tavily.ts:20 |
| Medium | Hardcoded Key Misrepresented as Feature Doc Mismatch | SKILL.md:1 |
| Low | Hardcoded Windows Path Exposes Environment Supply Chain | plugin.ts:85 |
| Low | Undeclared Shell Execution Capability Priv Escalation | plugin.ts:84 |
| Resource | Declared | Inferred | Status | Evidence |
|---|---|---|---|---|
| Network | READ | WRITE | ✓ Aligned | plugin.ts:75, providers/tavily.ts:15 - sends data to api.tavily.com |
| Shell | NONE | WRITE | ✓ Aligned | plugin.ts:84-86 uses api.exec() for Python script execution |
5 findings
Medium External URL 外部 URL
http://127.0.0.1:8080 plugin.ts:74 Medium External URL 外部 URL
https://www.baidu.com/s?wd=$ plugin.ts:147 Medium External URL 外部 URL
https://cn.bing.com/search?q=$ plugin.ts:148 Medium External URL 外部 URL
https://www.google.com/search?q=$ plugin.ts:149 Medium External URL 外部 URL
https://api.tavily.com/search providers/tavily.ts:12 File Tree
8 files · 14.8 KB · 465 lines TypeScript 5f · 389L
YAML 1f · 46L
Markdown 1f · 25L
JSON 1f · 5L
├─
▾
providers
│ ├─
multi.ts
TypeScript
│ ├─
searxng.ts
TypeScript
│ └─
tavily.ts
TypeScript
├─
_meta.json
JSON
├─
cache.ts
TypeScript
├─
plugin.ts
TypeScript
├─
SKILL.md
Markdown
└─
skill.yaml
YAML
Dependencies 2 items
| Package | Version | Source | Known Vulns | Notes |
|---|---|---|---|---|
fetch | built-in | Node.js | No | Native fetch used for HTTP requests |
crypto | built-in | Node.js | No | Used for MD5 cache key hashing |
Security Positives
✓ Rate limiting implemented (20 calls/min) to prevent abuse
✓ In-memory caching reduces redundant API calls
✓ Local SearXNG option respects privacy by keeping searches local
✓ Graceful fallback between search engines
✓ No credential exfiltration or C2 communication detected