search
Skill contains hardcoded API credentials and makes undisclosed external network requests to Tavily's API, with doc-to-code mismatch on credential handling.
A Tavily API key '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' is hardcoded in plugin.ts and providers/tavily.ts. This is a developer/testing key exposed in plaintext that could be harvested and abused.
plugin.ts:75 Why this conclusion was reached
1/4 dimensions flaggedDeclared resources and inferred behavior are broadly aligned.
5 lower-risk artifacts were extracted and still need context.
The report includes 0 attack-chain steps and 2 severe findings.
Dependencies are present but no obvious high-risk issue stands out.
What drove the risk score up
Tavily API key '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' embedded in source code at plugin.ts:75 and providers/tavily.ts:15
SKILL.md does not mention Tavily API calls; user queries sent to api.tavily.com
Documentation presents Tavily as 'Free (dev)' feature without revealing hardcoded key usage
Most important evidence
Hardcoded API Credential in Source Code
A Tavily API key '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' is hardcoded in plugin.ts and providers/tavily.ts. This is a developer/testing key exposed in plaintext that could be harvested and abused.
plugin.ts:75 Undisclosed External API Calls
User search queries are sent to api.tavily.com without clear disclosure in SKILL.md. This means user search behavior data is logged by Tavily's service.
providers/tavily.ts:20 Hardcoded Key Misrepresented as Feature
SKILL.md presents Tavily integration as a 'Free (dev)' feature without disclosing that it relies on a hardcoded development API key rather than user-provided credentials.
SKILL.md:1 Hardcoded Windows Path Exposes Environment
References to absolute Windows path 'D:\winopenclaw\workspace\skills\_legacy\tavily\search_tavily_news.py' suggest development on a specific machine with specific directory structure.
plugin.ts:85 Undeclared Shell Execution Capability
Code uses api.exec() for Python script execution, implying shell:WRITE capability that is not declared in SKILL.md.
plugin.ts:84 Declared capability vs actual capability
plugin.ts:75, providers/tavily.ts:15 - sends data to api.tavily.com plugin.ts:84-86 uses api.exec() for Python script execution Suspicious artifacts and egress
http://127.0.0.1:8080 plugin.ts:74
https://www.baidu.com/s?wd=$ plugin.ts:147
https://cn.bing.com/search?q=$ plugin.ts:148
https://www.google.com/search?q=$ plugin.ts:149
https://api.tavily.com/search providers/tavily.ts:12
Dependencies and supply chain
| Package | Version | Source | Known vuln | 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 |
File composition
plugin.ts providers/tavily.ts SKILL.md