关于 skill-vetter
Skill Vetter 是一套面向 AI Agent 技能的安全审查流程,供安装或运行前评估使用。它涵盖来源核查、临时目录预览、文件审阅、权限评估和风险分类。
主要功能
- 01核查技能来源与作者
- 02在临时目录预览安装
- 03审阅技能的全部文件
- 04评估权限与访问范围
- 05划分风险并升级决策
适用场景
- 01安装前评估技能
- 02检查来自市场或代码仓库的技能
- 03判断技能是否需要人工批准
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ dtyq/ magic --skill skill-vetter安装后在 Claude Code 中输入/skill-vetter确认已加载。
详细介绍
Skill 审查
面向 AI Agent 技能的安全优先审查协议。未经审查,绝不安装技能。
适用场景
- 从平台技能市场安装任何技能之前
- 从 skillhub 安装外部技能之前
- 运行 GitHub 仓库中的技能之前
- 评估其他 Agent 分享的技能时
- 任何有人要求安装未知代码的情况
审查协议
步骤 1:来源检查
需要回答的问题:
- 这个技能来自哪里?(平台市场/skillhub/GitHub/其他)
- 作者是否知名或信誉良好?
- 有多少下载量或星标?
- 上次更新时间是什么时候?
- 其他 Agent 是否有评价?
步骤 2:先预览安装到临时目录,再读取所有文件
暂时不要安装到实际的技能目录。先安装到临时目录进行检查。
根据来源选择预览方式:
skillhub 来源(支持使用 --dir 指定临时目录):
skillhub --dir /tmp/skillhub-preview/ install <slug>
安装后,使用 shell_exec 列出并读取所有文件:
# List all files
shell_exec(command="find /tmp/skillhub-preview/<skill-name> -type f | sort")
# Read each file
shell_exec(command="cat /tmp/skillhub-preview/<skill-name>/SKILL.md")
shell_exec(command="cat /tmp/skillhub-preview/<skill-name>/scripts/<file>.py")
# ... read all scripts, configs, and reference files
如果审核通过,正常运行安装命令,不带 --dir。无论结果如何,都要清理临时目录:
shell_exec(command="rm -rf /tmp/skillhub-preview/")
平台市场/我的技能库来源(同样支持使用 --dir 指定临时目录):
shell_exec(command="skillhub install-platform-me <code> --dir /tmp/skillhub-preview/")
# or
shell_exec(command="skillhub install-platform-market <code> --dir /tmp/skillhub-preview/")
安装后,使用 shell_exec 列出并读取所有文件:
# List all files
shell_exec(command="find /tmp/skillhub-preview/<skill-name> -type f | sort")
# Read each file
shell_exec(command="cat /tmp/skillhub-preview/<skill-name>/SKILL.md")
shell_exec(command="cat /tmp/skillhub-preview/<skill-name>/scripts/<file>.py")
# ... read all files
如果审核通过,正常运行安装命令,不带 --dir。无论结果如何,都要清理临时目录:
shell_exec(command="rm -rf /tmp/skillhub-preview/")
步骤 3:代码审查(必须执行)
读取技能中的所有文件。如果发现以下任何内容,立即拒绝:
REJECT IMMEDIATELY IF YOU SEE:
─────────────────────────────────────────
- curl/wget to unknown URLs
- Sends data to external servers
- Requests credentials, tokens, or API keys
- Reads ~/.ssh, ~/.aws, ~/.config without clear reason
- Accesses MEMORY.md, USER.md, SOUL.md, IDENTITY.md
- Uses base64 decode on anything
- Uses eval() or exec() with external input
- Modifies system files outside the workspace
- Installs packages without listing them explicitly
- Network calls to raw IP addresses instead of domains
- Obfuscated code (compressed, encoded, or minified)
- Requests elevated or sudo permissions
- Accesses browser cookies or sessions
- Touches credential files
─────────────────────────────────────────
步骤 4:权限范围
评估:
- 它需要读取哪些文件?
- 它需要写入哪些文件?
- 它会运行哪些命令?
- 它是否需要网络访问?访问哪些地址?
- 其权限范围是否符合其声明用途所需的最小范围?
步骤 5:风险分类
| 风险级别 | 示例 | 操作 |
|---|---|---|
| 低 | 笔记、天气、格式化 | 基本审查,通过后可安装 |
| 中 | 文件操作、浏览器、外部 API | 必须进行全面代码审查 |
| 高 | 凭据、交易、系统命令 | 必须获得人工批准 |
| 极高 | 安全配置、根权限 | 切勿安装 |
输出格式
审查完成后,生成以下报告:
SKILL VETTING REPORT
=======================================
Skill: [name]
Source: [platform market / skillhub / GitHub / other]
Author: [username]
Version: [version]
---------------------------------------
METRICS:
- Downloads/Stars: [count]
- Last Updated: [date]
- Files Reviewed: [count]
---------------------------------------
RED FLAGS: [None / list them]
PERMISSIONS NEEDED:
- Files: [list or "None"]
- Network: [list or "None"]
- Commands: [list or "None"]
---------------------------------------
RISK LEVEL: [LOW / MEDIUM / HIGH / EXTREME]
VERDICT: [SAFE TO INSTALL / INSTALL WITH CAUTION / DO NOT INSTALL]
NOTES: [Any observations]
=======================================
信任层级
- 官方平台技能(通过平台市场发布)——审查要求较低(仍需审查)
- 高星标仓库(1000+)——审查要求中等
- 已知作者——审查要求中等
- 新来源或未知来源——审查要求最高
- 要求提供凭据的技能——始终需要人工批准
原则
- 任何技能都不值得以牺牲安全为代价
- 有疑虑时,不要安装
- 将高风险决策上报给用户
- 记录已审查的内容,以供日后参考
评论
支持 Markdown