auto-skill-hunter
Skill声明仅需filesystem权限,但代码实际执行了git clone远程执行和spawnSync外部进程调用,存在明显的权限越权行为。
Why this conclusion was reached
1/4 dimensions flagged3 undeclared or violating capabilities were inferred.
6 lower-risk artifacts were extracted and still need context.
There is no explicit malicious chain in the report.
Dependencies are present but no obvious high-risk issue stands out.
What drove the risk score up
claw.json声明filesystem,但代码执行git clone和node --self-test
spawnSync调用../../feishu-evolver-wrapper/report.js无权限声明
claw.json仅声明filesystem,但代码实际发起HTTP请求获取ClawHub数据
Most important evidence
权限声明与实际能力严重不符
claw.json仅声明filesystem权限,但代码执行了git clone远程代码执行、node进程测试、外部脚本调用等多类型高危操作。
claw.json:5 未声明的Git远程克隆执行
installSkill函数使用execSync执行git clone,可从任意repoUrl克隆并执行代码。repoUrl来源于外部API响应。
src/hunt.js:401 外部报告脚本调用未声明
sendHunterReport函数调用外部脚本../../feishu-evolver-wrapper/report.js,该路径在claw.json中完全未声明。
src/hunt.js:760 安装策略存在文档-行为差异
SKILL.md描述使用--dry-run安全预览,但实际代码在git clone失败时会降级为scaffold模式自动创建文件,未经用户确认直接写入skills目录。
src/hunt.js:410 访问会话文件读取用户消息
collectRecentUserMessages读取agents/main/sessions/*.jsonl,可能包含用户敏感对话内容。
src/hunt.js:128 外部域名硬编码
所有外部请求固定为clawhub.com域名,但未在文档中声明网络依赖。
src/hunt.js:16 Declared capability vs actual capability
claw.json声明permissions:filesystem, src/hunt.js:364-384 git clone in src/hunt.js:401, node --self-test in src/hunt.js:343 fetchclawhub.com API in src/hunt.js:220-234 spawnSync调用外部report.js in src/hunt.js:760 Suspicious artifacts and egress
https://clawhub.com/api/v1/skills/trending?limit=30 src/hunt.js:16
https://clawhub.com/api/v1/skills?sort=trending&limit=30 src/hunt.js:17
https://clawhub.com/api/v1/skills?limit=30 src/hunt.js:18
https://clawhub.com/api/v1/skills/search?q= src/hunt.js:22
https://clawhub.com/api/v1/skills?q= src/hunt.js:23
https://clawhub.ai/wanng-ide/memory-mesh-core src/hunt.js:746
Dependencies and supply chain
| Package | Version | Source | Known vuln | Notes |
|---|---|---|---|---|
| node | builtin | runtime | No | 使用Node.js内置模块无外部依赖 |
File composition
src/hunt.js claw.json