search
Multi-engine search skill contains undeclared shell execution via api.exec() calling local Python scripts, hardcoded API credentials, and hardcoded Windows development paths - creating significant doc-to-code mismatch.
Why this conclusion was reached
2/4 dimensions flagged1 undeclared or violating capabilities were inferred.
7 lower-risk artifacts were extracted and still need context.
The report includes 3 attack-chain steps and 2 severe findings.
Dependency information is incomplete, so supply-chain confidence stays limited.
Attack Chain
Entry · SKILL.md:1
Escalation · plugin.ts:71
Escalation · plugin.ts:77
What drove the risk score up
plugin.ts uses api.exec() to run local Python script - not declared in SKILL.md
Embedded Tavily API key found in providers/tavily.ts and plugin.ts
Hardcoded path D:\winopenclaw\workspace\skills\_legacy\ indicates untested production code
Most important evidence
Undeclared shell execution via api.exec()
SKILL.md describes search using Tavily/multi/SearXNG APIs, but plugin.ts actually executes a local Python script via api.exec() at a hardcoded Windows path. This is a significant doc-to-code mismatch.
plugin.ts:71 Hardcoded Tavily API key embedded in source
A Tavily API key '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' is hardcoded in both providers/tavily.ts and plugin.ts, serving as a fallback when TAVILY_API_KEY env var is not set.
providers/tavily.ts:10 Windows development path hardcoded in production code
The Python script path 'D:\winopenclaw\workspace\skills\_legacy\tavily\search_tavily_news.py' is a Windows absolute path indicating this code was never properly adapted for deployment.
plugin.ts:74 Multi-engine implementation mismatch
The 'multi' engine has duplicate code paths in plugin.ts (lines 81-98 and 100-122) with inconsistent implementation - one uses api.exec() with the same Python script, the other uses web_fetch scraping.
plugin.ts:81 Declared capability vs actual capability
plugin.ts:71-77 - api.exec() usage not declared in SKILL.md Tavily API and SearXNG local network calls documented 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
https://clawhub.ai/user/hollisken skill-card.md:7
https://clawhub.ai/hollisken/kn70-search skill-card.md:29
Dependencies and supply chain
There are no structured dependency warnings.
File composition
plugin.ts skill-card.md providers/tavily.ts