安全决策报告

skill-registry-unified

该技能存在未声明的远程代码执行能力:代码通过 child_process.spawn 执行 npx clawdhub search 从外部安装技能,但 SKILL.md 未声明 shell 权限和远程安装行为。

安装决策优先 来源: ClawHub 扫描时间: 2026/4/6
文件 3
IOC 0
越权项 4
发现 4
最直接的威胁证据
严重 代码执行
未声明的远程代码执行

代码通过 child_process.spawn 执行 npx clawdhub search 命令,该命令会从远程仓库搜索并安装技能。SKILL.md 完全未声明此 shell:WRITE 和 network:READ 能力。

registry_unified.js:40

为什么得出这个结论

2/4 个维度触发
阻止
声明与实际能力

发现 4 项声明之外的能力或越权行为。

通过
隐藏执行与外联

当前没有明显的高危外联或执行信号。

阻止
攻击链与高危发现

报告包含 4 步攻击链,另有 2 项高危或严重发现。

复核
依赖与供应链卫生

发现 1 项需要关注的依赖或供应链线索。

攻击链

01
用户输入技能搜索请求

初始入口 · SKILL.md:1

02
未声明的 shell 执行 spawn npx clawdhub search

权限提升 · registry_unified.js:40

03
从 ClawHub 下载并安装未知技能

权限提升 · registry_unified.js:40

04
恶意技能获得同等权限,可执行代码/窃取数据

最终危害 · registry_unified.js:40

风险分是怎么被拉高的

未声明的远程执行 +35

SKILL.md未声明但代码通过spawn执行npx clawdhub search安装远程技能

阴影功能 +20

代码实际执行远程安装,但文档完全未提及

安装来源不透明 +15

从clawdhub安装的技能未经过严格安全验证

最关键的证据

严重 代码执行

未声明的远程代码执行

代码通过 child_process.spawn 执行 npx clawdhub search 命令,该命令会从远程仓库搜索并安装技能。SKILL.md 完全未声明此 shell:WRITE 和 network:READ 能力。

registry_unified.js:40
必须在 SKILL.md 的 allowed-tools 或 permissions 中声明 shell:WRITE 和 network:READ 权限。
高危 文档欺骗

阴影功能:远程安装技能

SKILL.md 声称'安全安装'但未说明实际通过 clawdhub 从外部源安装代码,存在供应链风险。

SKILL.md:1
明确列出安装来源、验证机制和权限需求。
中危 供应链

缺少依赖版本锁定

代码依赖 js-yaml 但无 package.json 或 requirements.txt 锁定版本。

registry_unified.js, scan-all-skills.js:3
添加 package.json 并锁定 js-yaml 版本。
低危 敏感访问

有限的安全扫描

vetSkill() 仅检查文件名包含敏感关键字,不扫描文件内容,且发现可疑文件后仅返回 false 而非阻止安装。

registry_unified.js:28
增强安全扫描深度,扫描文件内容,并在发现敏感文件时明确阻止安装流程。

声明能力 vs 实际能力

文件系统 阻止
声明 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访问远程仓库

可疑产物与外联

没有提取到明显 IOC。

依赖与供应链

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

文件构成

3 个文件 · 187 行
JavaScript 2 个文件 · 153 行Markdown 1 个文件 · 34 行
需关注文件 · 2
registry_unified.js JavaScript · 83 行
未声明的远程代码执行 · 有限的安全扫描
SKILL.md Markdown · 34 行
阴影功能:远程安装技能
其他文件 · scan-all-skills.js

安全亮点

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