mcpField
S
skill-vetter

skill-vetter

github.com/dtyq安全5.1k79 次安装6 天前更新
代码仓库

关于 skill-vetter

Skill Vetter 是一套面向 AI Agent 技能的安全审查流程,供安装或运行前评估使用。它涵盖来源核查、临时目录预览、文件审阅、权限评估和风险分类。

主要功能

  1. 01核查技能来源与作者
  2. 02在临时目录预览安装
  3. 03审阅技能的全部文件
  4. 04评估权限与访问范围
  5. 05划分风险并升级决策

适用场景

  1. 01安装前评估技能
  2. 02检查来自市场或代码仓库的技能
  3. 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]
=======================================

信任层级

  1. 官方平台技能(通过平台市场发布)——审查要求较低(仍需审查)
  2. 高星标仓库(1000+)——审查要求中等
  3. 已知作者——审查要求中等
  4. 新来源或未知来源——审查要求最高
  5. 要求提供凭据的技能——始终需要人工批准

原则

  • 任何技能都不值得以牺牲安全为代价
  • 有疑虑时,不要安装
  • 将高风险决策上报给用户
  • 记录已审查的内容,以供日后参考

评论

支持 Markdown