高风险 — 风险评分 68/100
上次扫描:5 小时前 重新扫描
68 /100
skill-registry-unified
一体化技能注册表 - 本地优先匹配,无匹配则自动搜索ClawHub并安全安装
该技能存在未声明的远程代码执行能力:代码通过 child_process.spawn 执行 npx clawdhub search 从外部安装技能,但 SKILL.md 未声明 shell 权限和远程安装行为。
技能名称skill-registry-unified
分析耗时37.9s
引擎pi
ClawHub skill-registry-unified v1.0.2 by xuwei-stream
📥 233 📦 1
ClawHub 判定 可疑 dangerous_execllm_suspicious
不要安装此技能
必须删除未声明的远程安装功能,或在 SKILL.md 中明确声明 shell:WRITE 和 network:READ 权限,并增加安装前安全确认机制。

攻击链 4 步

入口 用户输入技能搜索请求
SKILL.md:1
提权 未声明的 shell 执行 spawn npx clawdhub search
registry_unified.js:40
提权 从 ClawHub 下载并安装未知技能
registry_unified.js:40
影响 恶意技能获得同等权限,可执行代码/窃取数据
registry_unified.js:40

安全发现 4 项

严重性 安全发现 位置
严重
未声明的远程代码执行 代码执行
代码通过 child_process.spawn 执行 npx clawdhub search 命令,该命令会从远程仓库搜索并安装技能。SKILL.md 完全未声明此 shell:WRITE 和 network:READ 能力。
const p=spawn('npx',['clawdhub','search',s,'--limit','3'],{timeout:30000,stdio:['pipe','pipe','pipe']});
→ 必须在 SKILL.md 的 allowed-tools 或 permissions 中声明 shell:WRITE 和 network:READ 权限。
registry_unified.js:40
高危
阴影功能:远程安装技能 文档欺骗
SKILL.md 声称'安全安装'但未说明实际通过 clawdhub 从外部源安装代码,存在供应链风险。
description: 一体化技能注册表 - 本地优先匹配,无匹配则自动搜索ClawHub并安全安装
→ 明确列出安装来源、验证机制和权限需求。
SKILL.md:1
中危
缺少依赖版本锁定 供应链
代码依赖 js-yaml 但无 package.json 或 requirements.txt 锁定版本。
const yaml = require('js-yaml');
→ 添加 package.json 并锁定 js-yaml 版本。
registry_unified.js, scan-all-skills.js:3
低危
有限的安全扫描 敏感访问
vetSkill() 仅检查文件名包含敏感关键字,不扫描文件内容,且发现可疑文件后仅返回 false 而非阻止安装。
const sus=['.env','credentials.json','id_rsa','password'];
→ 增强安全扫描深度,扫描文件内容,并在发现敏感文件时明确阻止安装流程。
registry_unified.js:28
资源类型声明权限推断权限状态证据
文件系统 NONE READ ✗ 越权 registry_unified.js:18, scan-all-skills.js:26
文件系统 NONE WRITE ✗ 越权 registry_unified.js:0, scan-all-skills.js:60
命令执行 NONE WRITE ✗ 越权 registry_unified.js:40 npx clawdhub search
网络访问 NONE READ ✗ 越权 registry_unified.js:40 通过npx clawdhub访问远程仓库

目录结构

3 文件 · 6.6 KB · 187 行
JavaScript 2f · 153L Markdown 1f · 34L
├─ 📜 registry_unified.js JavaScript 83L · 2.7 KB
├─ 📜 scan-all-skills.js JavaScript 70L · 3.1 KB
└─ 📝 SKILL.md Markdown 34L · 812 B

依赖分析 1 项

包名版本来源已知漏洞备注
js-yaml * require (implicit) 无 package.json,版本未知

安全亮点

✓ sanitizeInput() 对用户输入做了基础过滤
✓ vetSkill() 尝试检测敏感文件名
✓ 代码结构清晰,模块化良好