Skill 越装越多,谁来判断它到底安不安全?

AI Agent 时代,一个很明显的趋势正在出现:

大家不再只是使用一个“裸模型”,而是开始给自己的智能体安装各种各样的 Skill。

写代码有 Skill,查资料有 Skill,生成图片有 Skill,操作浏览器有 Skill,调用 MCP 工具有 Skill,甚至连某些工作流、团队规范、项目记忆,也都开始被封装成 Skill。

这当然是好事。

Skill 让智能体变得更专业,也让 AI 从“会聊天”进一步变成“会干活”。

但问题也随之出现了:

Skill 越来越多,到底哪些值得安装?哪些会消耗大量 Token?哪些权限过大?哪些存在安全风险?普通用户怎么判断?

Skill 不是越多越好

很多人安装 Skill 的时候,往往只看两点:

一个是名字看起来厉害。

另一个是 README 写得很诱人。

比如:

  • 一键增强智能体能力
  • 自动完成所有任务
  • 支持读取本地文件
  • 支持自动执行命令
  • 支持联网检索
  • 支持调用各种外部工具

这些描述听起来很强,但从安全角度看,也可能意味着更多风险。

一个 Skill 如果要求读取 .env、SSH key、浏览器 Cookie,或者包含 curl xxx | sh 这类远程脚本执行逻辑,那它就不只是“能力增强”,也可能变成一个安全隐患。

更现实的问题是:
很多 Skill 写得很长、依赖很多、权限边界不清晰。安装以后,不仅可能带来安全风险,还可能让智能体每次启动都消耗更多 Token,变慢、变重、变不可控。

所以我们需要一个工具,在安装 Skill 之前先帮它做一次“体检”。

一个 Skill 安装前评分工具:SkillPreflight

SkillPreflight 是一个开源工具,可以理解成:

给 AI Agent Skill 做安装前安全评分和质量体检的工具。

如果说鲁大师是给电脑做性能检测,那么 SkillPreflight 更像是给 Skill 做一次安装前检测:

  • 这个 Skill 安不安全?
  • 是否存在危险命令?
  • 是否请求了过大的权限?
  • 是否容易浪费 Token?
  • 文件结构是否过重?
  • 维护性怎么样?
  • 是否适合安装到自己的智能体里?

它不会简单告诉你“能不能装”,而是给出一个更具体的评分报告。

它会从哪些维度评分?

SkillPreflight 当前主要从这些维度进行分析:

  1. 安全性

    检查是否存在远程脚本执行、敏感文件读取、可疑 webhook、危险删除命令、提示词注入等风险。

  2. 权限边界

    分析 Skill 是否要求访问过多本地文件、环境变量、密钥、浏览器数据或外部服务。

  3. Token 经济性

    Skill 内容过长,会增加智能体激活成本。工具会估算 Skill 激活时可能带来的 Token 消耗。

  4. 轻量程度

    检查文件数量、依赖规模、资源文件体积,判断它是不是一个“重 Skill”。

  5. 可维护性

    是否有清晰说明、README、示例、许可证、测试文件等。

  6. 可靠性

    是否包含容易失败的脚本、未固定版本的依赖、模糊的执行逻辑。

  7. 兼容性

    检查 Skill 是否更容易在不同智能体环境中使用,例如 Codex、Claude、MCP 相关生态等。

最终它会生成一个评分,比如:

87/100 B - Good, review minor findings

或者:

25/100 F - High risk, do not install blindly

怎么使用?

普通用户不需要克隆项目,也不需要安装全局命令。

直接用 npx 就可以:

npx skill-preflight@latest scan ./my-skill

也可以直接扫描 GitHub 仓库:

npx skill-preflight@latest scan https://github.com/owner/repo.git

如果想生成 JSON 报告:

npx skill-preflight@latest scan ./my-skill --format json --out report.json

如果想生成 SARIF,用于 GitHub Code Scanning:

npx skill-preflight@latest scan ./my-skill --format sarif --out skill-preflight.sarif

不只是 CLI,也支持 GitHub Action

SkillPreflight 也已经发布为 GitHub Action。

这意味着 Skill 作者可以在自己的仓库里配置 CI,让每次提交都自动扫描 Skill 风险。

示例:

- uses: agent-contracts/skill-preflight@v1
  with:
    target: "."
    format: "sarif"
    out: "skill-preflight.sarif"

这样做的好处是:

  • 开源 Skill 项目可以公开展示自己的安全质量
  • 团队内部 Skill 可以在合并前自动检查
  • 用户安装之前可以看到更透明的评分报告

它适合哪些人?

SkillPreflight 适合三类人:

第一类是普通 AI Agent 用户。
你想安装别人写的 Skill,但不确定它是否安全,可以先扫一遍。

第二类是 Skill 开发者。
你写了一个 Skill,希望用户更放心安装,可以用评分报告证明它足够轻量、清晰、低风险。

第三类是团队和企业。
如果团队内部开始沉淀 Agent Skill,就更需要一个统一的安装前审查工具,避免“谁写的都能装、装完没人管”的混乱状态。

为什么这个方向值得做?

因为 Skill 生态接下来一定会越来越繁荣。

但只要生态繁荣,就一定会出现质量参差不齐的问题。

浏览器插件有权限提示,npm 包有依赖审计,Docker 镜像有漏洞扫描,那么 AI Agent Skill 也应该有自己的安装前检查机制。

SkillPreflight 想解决的就是这个问题:

让用户在安装 Skill 之前,多一个客观参考。

它不是要取代人工判断,也不会承诺“扫过就绝对安全”。但它可以把很多原本隐藏在文件里的风险点,用评分和报告的方式展示出来。

这对普通用户、开发者和整个 Skill 生态,都是有价值的。

项目地址

GitHub:

https://github.com/agent-contracts/skill-preflight

npm:

https://www.npmjs.com/package/skill-preflight

使用方式:

npx skill-preflight@latest scan ./my-skill

最后

AI Agent 的能力边界,正在被 Skill 不断扩展。

但能力越强,越需要安全边界。

在 Skill 越来越多的时代,我们不应该盲目安装,也不应该只凭 README 判断好坏。

安装之前,先做一次 Preflight Check。

这就是 SkillPreflight 想做的事情。

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐