Skill Trust Decision

ClawSearch Ultra

ClawSearch Ultra 声称提供联合搜索能力,但主脚本 search.mjs 缺失必需的 ./lib/*.mjs 依赖文件导致完全无法运行,同时 research.py 硬编码连接非标准端口 IP 186.240.156.169,文档对此端点描述模糊。

Install decision first Source: ClawHub Scanned: 21 days ago
Files 7
Artifacts 6
Violations 3
Findings 5
Most direct threat evidence
Critical Doc Mismatch
核心脚本完全缺失依赖无法运行

search.mjs 导入了 8 个 ./lib/*.mjs 模块(cli-utils, cache, config, federated-search, health-state, output, planner, providers),但包中不存在任何 lib 目录或对应文件。所有文档声明的搜索功能(Dane/多语言搜索、联合搜索、新闻监控等)均依赖此不可运行的脚本。

scripts/search.mjs:5

Why this conclusion was reached

3/4 dimensions flagged
Block
Declared vs actual capability

3 undeclared or violating capabilities were inferred.

Block
Hidden execution and egress

1 high-risk artifacts or egress signals were extracted.

Block
Attack chain and severe findings

The report includes 0 attack-chain steps and 3 severe findings.

Review
Dependencies and supply chain hygiene

Dependency information is incomplete, so supply-chain confidence stays limited.

What drove the risk score up

核心脚本缺失依赖 +15

search.mjs 导入 ./lib/cli-utils.mjs, ./lib/cache.mjs, ./lib/config.mjs 等模块文件在包中完全不存在,基础搜索功能无法运行

硬编码非标准端口 IP +15

research.py 和 SKILL.md metadata 中硬编码 186.240.156.169:8791,端口 8791 非标准,IP 归属不明,文档仅用模糊词 '外部 API' 描述

文档-功能不符 +12

SKILL.md 列出 Danish/多语言搜索、新闻监控等特性,但所有特性依赖不可运行的 search.mjs,属于表面声明

Most important evidence

Critical Doc Mismatch

核心脚本完全缺失依赖无法运行

search.mjs 导入了 8 个 ./lib/*.mjs 模块(cli-utils, cache, config, federated-search, health-state, output, planner, providers),但包中不存在任何 lib 目录或对应文件。所有文档声明的搜索功能(Dane/多语言搜索、联合搜索、新闻监控等)均依赖此不可运行的脚本。

scripts/search.mjs:5
验证包完整性。若为有意发布的不完整包,应在 SKILL.md 中明确说明依赖外部包(web-search-pro)
High Sensitive Access

硬编码可疑 IP 地址连接非标准端口

research.py 第 10 行将 BASE 默认设为 https://186.240.156.169:8791,SKILL.md metadata.network 也声明此 IP。端口 8791 非标准 x402/HTTP 端口,IP 归属不明。文档仅以模糊词'外部 API'描述,用户无法评估真实网络目标。

scripts/research.py:10
改用域名而非硬编码 IP;明确在 SKILL.md 中声明外部端点 URL 和运营者信息
High Doc Mismatch

文档声明的功能与实际可执行能力不符

SKILL.md 用大量篇幅描述 Danish 搜索、news monitoring、answer-first 等功能,但所有这些功能都通过调用不可运行的 search.mjs 实现。answer.mjs 和 watch.mjs 只是 search.mjs 的瘦包装器,同样无法工作。

SKILL.md:1
文档应与实际可运行能力保持一致,或明确声明依赖外部包
Medium Sensitive Access

X402_API_KEY 发送至外部端点无版本控制

research.py 将用户的 X402_API_KEY(具有消费能力)通过 HTTP Header x-api-key POST 到外部 IP。SKILL.md 仅以'⚠️ PAID call'一笔带过,未披露端点细节。

scripts/research.py:24
明确告知用户数据流向;使用最小权限 API key
Low Supply Chain

缺失依赖配置文件

无 package.json、无 requirements.txt、无 lib 目录。无法验证第三方依赖来源,search.mjs 引用的外部库不可追溯。

scripts/search.mjs:5
提供依赖清单和可验证的包来源

Declared capability vs actual capability

Network Block
Declared READ
Inferred WRITE
SKILL.md:6 metadata.network 仅声明读取,但 research.py 向 186.240.156.169:8791 发送 POST 请求(含 API key + query)
Filesystem Block
Declared NONE
Inferred WRITE
watch.mjs:18 在 /tmp/clawsearch-watch 目录创建状态文件,无文档声明
Shell Block
Declared NONE
Inferred READ
answer.mjs:21, watch.mjs:35 通过 execFileSync 调用 node 执行子进程,无文档声明

Suspicious artifacts and egress

High IP Address
186.240.156.169

SKILL.md:6

Medium External URL
https://186.240.156.169:8791

SKILL.md:6

Medium External URL
https://searx.example.com

SKILL.md:60

Medium Wallet Address
0xafd1c6bC2B35152f30E3D0dBE99eE1d40E5a5CF8

SKILL.md:91

Medium External URL
https://clawhub.ai/user/mohamedabdisamed

skill-card.md:9

Medium External URL
https://clawhub.ai/mohamedabdisamed/skills/clawsearch-ultra

skill-card.md:43

Dependencies and supply chain

There are no structured dependency warnings.

File composition

7 files · 765 lines
JavaScript 3 files · 559 linesMarkdown 2 files · 157 linesPython 1 files · 44 linesJSON 1 files · 5 lines
Files of concern · 4
scripts/search.mjs JavaScript · 413 lines
核心脚本完全缺失依赖无法运行 · 缺失依赖配置文件
SKILL.md Markdown · 94 lines
文档声明的功能与实际可执行能力不符 · 186.240.156.169 · https://186.240.156.169:8791 · https://searx.example.com · 0xafd1c6bC2B35152f30E3D0dBE99eE1d40E5a5CF8
skill-card.md Markdown · 63 lines
https://clawhub.ai/user/mohamedabdisamed · https://clawhub.ai/mohamedabdisamed/skills/clawsearch-ultra
scripts/research.py Python · 44 lines
硬编码可疑 IP 地址连接非标准端口 · X402_API_KEY 发送至外部端点无版本控制
Other files · watch.mjs · answer.mjs · _meta.json

Security positives

research.py 对 paid call 有显式警告提示(⚠️ Executing PAID x402 call)
SKILL.md 有隐私警告(PRIVACY WARNING)提示不要用于敏感话题
watch.mjs 仅操作 /tmp 目录,不访问用户 home 目录
research.py 检查 HTTP vs HTTPS,阻止在敏感场景下意外明文传输 API key
skill-card.md 明确列出了已知风险(incomplete package, compiled-only cache files)