360 Secure SkillHub
360 安全技能中心

skill-vetter

安全优先的 AI Agent 技能审查协议:安装前验证来源与作者可信度,通读技能文件排查未知下载、敏感路径、凭证索取、混淆代码等红旗项,评估最小权限需求,按 LOW 至 EXTREME 四级分级并生成含安装建议的结构化审查报告。

thcjp
thcjp
热度 74.02
最近更新 2026-09-22 03:00:29
分类:安全依赖:代码执行 / 读写文件 / 第三方 API / 内部调用大模型应用场景:代码审查 / 报告撰写 / 研究

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add thcjp/skill-vetter
Metadata
slug
skill-vetter
name
skill-vetter
version
1.0.1
displayName
技能
summary
安全优先的 AI Ag
summary_zh
安全优先的 AI Agent 技能审查协议,安装任何技能前必须执行。skill-vetter 是一个安全优先的 AI Agent 技能审查工具。在安装任何技能前执行 4 步审查协议: 来源
license
MIT
description
安全优先的 AI Ag。支持自动化配置和灵活的参数设置,适适用于多种业务场景,提高工作效率和质量。支持自动化配置和灵活的参数设置,适用于多种工作场景,提升工作效率和准确性。安全优先的。Use when 需要提升效率、自动化流程、批量处理、工作流优化时使用。不适用于需要人工创意判断的任务。适用于独立开发者、企业团队和自动化工作流场景。 AI Ag。技能是一款高效实用的工具。skill-vetter支持多种配置选项'
tools
["read","exec","write"]
homepage
tags
["通用办公","工具","效率","知识","api","curl","source","github"]
category
Automation

核心功能: 本技能提供自动化配置和灵活的参数设置、时使用、、工作流优化时使用、处理、工作流优化时使用、化配置和灵活的参数设置等能力。

Skill Vetter

skill-vetter 是安全优先的 AI Agent 技能审查协议。永远不要在未审查前安装任何技能。

输入规范

参数名 类型 必填 说明
input string 是 Skill Vetter处理的输入数据或指令
options object 否 附加配置选项,如模式选择、格式偏好等
callback_url string 否 异步处理完成后的回调通知URL

专业版专属特性

能力 免费版 付费版
基础功能 支持 支持
深度漏洞扫描与CVE关联 不支持 支持
安全基线合规审计 不支持 支持
批量资产风险评分 不支持 支持
威胁情报实时订阅与告警 不支持 支持
零日漏洞检测与防护规则下发 不支持 支持

环境要求

运行环境

  • Agent平台: 支持SKILL.md的任意AI Agent(Claude Code / Cursor / Codex / Gemini CLI等)
  • 操作系统: Windows / macOS / Linux

依赖项

依赖项 类型 是否必需 获取方式
LLM API API 必需 由Agent内置LLM提供

API Key 配置

需要配置对应API Key,详见上文环境配置章节

可用性分类

  • 分类: MD+EXEC()

API Key配置方式:

export API_KEY="${API_KEY:?请设置环境变量}"

配置后需重启会话或开启新终端生效。API Key应妥善保管,避免泄露到版本控制系统.

主要能力

1. 来源检查(Source Check)

验证技能来源的可靠性。回答 5 个关键问题:技能从哪里来(SkillHub / GitHub / 其他)? 作者是否知名/可信?下载量/星标数是多少?最后更新时间?是否有其他 Agent 的评价? 通过 GitHub API 查询仓库元数据:curl -s "https://api.相关技术文档 | jq '{stars: .stargazers_count, forks: .forks_count, updated: .updated_at}'. 获取仓库文件列表:curl -s "https://api.相关技术文档 | jq '.[].name'.

2. 强制代码审查(Code Review - MANDATORY)

读取技能中的所有文件,逐一检查 RED FLAGS 清单。发现以下任何一项立即拒绝安装: curl/wget 到未知 URL;向外部服务器发送数据;请求凭证/令牌/API Key; 读取 ~/.ssh、~/.aws、~/.config 路径而无明确理由;访问 MEMORY.md、USER.md、 SOUL.md、IDENTITY.md 等身份文件;对任何内容使用 base64 解码; 使用动态求值函数或execute()处理外部输入;修改工作区外的系统文件; 未声明就安装包;向 IP 地址而非域名发起网络调用;使用混淆代码(压缩、编码、最小化); 请求 sudo/提权;访问浏览器 cookie/session;触及凭证文件.

3. 权限范围评估(Permission Scope)

评估技能的最小权限需求。回答 5 个问题:需要读取哪些文件?需要写入哪些文件? 运行哪些命令?是否需要网络访问?访问目标是什么?权限范围是否最小化以满足其声明的目的? 如果技能请求的权限超出其功能需求(如笔记技能请求网络访问),标记为风险信号。- 验证返回数据的完整性和格式正确性

4. 风险分级(Risk Classification)

根据功能类型和权限需求进行 4 级风险分级。LOW(绿色):笔记、天气、格式化——基础审查后可安装. MEDIUM(黄色):文件操作、浏览器访问、API 调用——必须完整代码审查。HIGH(红色):凭证、交易、 系统操作——必须人工批准。EXTREME(禁止):安全配置、root 访问——绝不安装.

5. 结构化审查报告生成

生成标准化的审查报告,包含:技能名称、来源、作者、版本;指标(下载量/星标数、最后更新时间、 审查文件数);RED FLAGS 列表(None 或具体列表);权限需求(文件、网络、命令); 风险等级(LOW/MEDIUM/HIGH/EXTREME);安装建议(SAFE TO INSTALL / INSTALL WITH CAUTION / DO NOT INSTALL);附注观察.

6. 信任层级评估

根据来源应用差异化审查强度。5 级信任层级:官方技能(低度审查但仍需检查)→ 高星标仓库 1000+(中度审查)→ 已知作者(中度审查)→ 新/未知来源(最大审查)→ 请求凭证的技能(始终需人工批准)。信任层级越低,审查深度越深。- 验证返回数据的完整性和格式正确性

使用说明

  1. 确认技能来源(SkillHub / GitHub / 其他),记录作者和版本
  2. 执行来源检查:通过 GitHub API 查询星标数、下载量、最后更新时间
  3. 读取技能中的所有文件,逐一检查 RED FLAGS 清单
  4. 评估权限范围:文件读写、命令执行、网络访问需求
  5. 根据功能类型和权限需求进行风险分级(LOW/MEDIUM/HIGH/EXTREME)
  6. 应用信任层级评估,确定审查深度
  7. 生成结构化审查报告,输出风险等级和安装建议
  8. HIGH 及以上风险等级必须等待人工批准后再安装

用法示例

示例1:GitHub 技能完整审查

# 1. 查询仓库元数据
curl -s "https://api.updated_at}'
# 输出:
# {
#   "stars": 342,
#   "forks": 18,
#   "updated": "2026-06-15T10:30:00Z"
# }
# ...
# 2. 获取技能文件列表
相关技术文档 | jq '.[].name'
# 输出:
# "SKILL.md"
# "(请参考skill目录中的脚本文件)"
# "(请参考skill目录中的脚本文件)"
# ...
# 3. 读取 SKILL.md 内容
curl -s "https://raw.githubusercontent.com/example/skill-repo/main/skills/my-skill/SKILL.md"
SKILL VETTING REPORT
═══════════════════════════════════════
Skill: my-skill
Source: GitHub (example/skill-repo)
Author: example-user
Version: 1.2.0
───────────────────────────────────────
METRICS:
• Stars: 342
• Last Updated: 2026-06-15
• Files Reviewed: 3
───────────────────────────────────────
RED FLAGS:
• (请参考skill目录中的脚本文件): curl to unknown URL (http://45.33.32.156/install.sh)
• (请参考skill目录中的脚本文件): Network call to IP instead of domain
• (请参考skill目录中的脚本文件): Reads ~/.config without clear reason
# ...
PERMISSIONS NEEDED:
• Files: ~/.config/app/config.json (write)
• Network: http://45.33.32.156 (unknown IP)
• Commands: curl, chmod
───────────────────────────────────────
RISK LEVEL: HIGH (credentials, system access)
# ...
VERDICT: DO NOT INSTALL
# ...
NOTES: install.sh 向未知 IP 发起网络请求,且访问 ~/.config 无明确理由.
建议联系作者确认,或寻找替代技能.
═══════════════════════════════════════

示例2:低风险技能审查

SKILL VETTING REPORT
═══════════════════════════════════════
Skill: markdown-formatter
Source: SkillHub (official)
Author: official-team
Version: 2.0.1
───────────────────────────────────────
METRICS:
• Downloads: 12,847
• Last Updated: 2026-07-10
• Files Reviewed: 2
───────────────────────────────────────
RED FLAGS: None
# ...
PERMISSIONS NEEDED:
• Files: workspace .md files (read/write)
• Network: None
• Commands: None
───────────────────────────────────────
RISK LEVEL: LOW (formatting only)
# ...
VERDICT: SAFE TO INSTALL
# ...
NOTES: 纯本地 Markdown 格式化工具,无网络访问,无系统文件操作.
权限范围最小化,符合声明目的.
═══════════════════════════════════════

异常处理架构

错误场景 原因 处理方式
curl/wget 到未知 URL 技能尝试从不受信任的源下载数据 立即标记为 RED FLAG,拒绝安装,检查 URL 是否为已知可信域名
请求凭证/令牌/API Key 技能要求用户提供敏感凭证 标记为 HIGH 风险,必须人工批准;确认凭证需求是否合理且使用安全存储
读取 ~/.ssh/~/.aws/~/.config 技能访问敏感系统路径 检查是否有明确理由;无理由则标记为 RED FLAG,拒绝安装
访问 MEMORY.md/USER.md/SOUL.md/IDENTITY.md 技能触及 Agent 身份文件 立即拒绝安装,身份文件包含 Agent 核心信息,任何访问都是高风险
使用动态求值函数/execute()处理外部输入 代码注入风险 标记为 RED FLAG,拒绝安装;确认输入是否经过严格沙箱化处理
向 IP 地址而非域名发起网络调用 绕过 DNS 审计的可疑行为 立即标记为 RED FLAG,拒绝安装;合法技能应使用域名而非裸 IP
使用混淆代码(压缩/编码/最小化) 隐藏恶意行为 标记为 RED FLAG,拒绝安装;要求作者提供可读源代码

疑问解答

Q1: 如何判断一个技能是否需要人工批准?

A: 根据风险分级判断。HIGH(红色)级别涉及凭证、交易、系统操作的技能必须人工批准. EXTREME(禁止)级别涉及安全配置、root 访问的技能绝不安装。MEDIUM 级别在完整代码审查后 可自动安装。此外,任何请求凭证的技能无论风险等级都需要人工批准.

Q2: GitHub API 查询返回 403 Rate Limit 怎么办?

A: GitHub API 未认证请求限制为每小时 60 次。如果达到限制,等待限制重置(通常 1 小时), 或使用 GITHUB_TOKEN 进行认证请求(限制提升到每小时 5000 次): `curl -s -H "Authorization: token $GITHUB_TOKEN" "https://api.相关技术文档

Q3: 技能使用 base64 解码就一定是恶意吗?

A: 不一定,但必须标记为 RED FLAG 并深入调查。合法用途包括解码嵌入的配置文件或图片资源. 检查解码后的内容:如果解码为 shell 命令、脚本或 URL,则确认为恶意;如果解码为静态资源 (如图片 data URI),则可能合法但仍需人工确认.

Q4: 5 级信任层级如何影响审查深度?

A: 官方技能(Level 1)进行基础代码审查即可;高星标仓库 1000+(Level 2)和已知作者 (Level 3)进行中度审查,重点关注权限范围;新/未知来源(Level 4)进行最大审查, 逐行检查所有代码;请求凭证的技能(Level 5)无论来源都必须人工批准.

Q5: 技能安装包但未声明怎么办?

A: 这是一个 RED FLAG。合法技能应在文档中声明所有依赖。如果代码中有 pip install、 npm install、apt-get install 等命令但未在文档中列出,标记为 RED FLAG 并拒绝安装. 要求作者补充依赖声明后再重新审查.

Q6: 审查报告中的 VERDICT 有哪几种结果?

A: 三种结果:SAFE TO INSTALL(安全安装)——LOW 风险且无 RED FLAGS,可直接安装; INSTALL WITH CAUTION(谨慎安装)——MEDIUM 风险或存在 warn 级别问题,安装后需监控行为; DO NOT INSTALL(拒绝安装)——HIGH/EXTREME 风险或存在 RED FLAGS,绝不安装.

功能边界

  • GitHub API 未认证请求限制为每小时 60 次,大量审查时需使用 Token 认证
  • 无法检测运行时动态加载的恶意代码(如从远程下载并执行)
  • 混淆代码的检测依赖静态分析,高度混淆的代码可能遗漏
  • 审查报告基于代码审查,不替代运行时沙箱测试
  • 信任层级评估依赖作者声誉信息,新作者可能无法准确评估

问题处理指引

错误现象 可能原因 诊断步骤 解决方案
审查报告未生成 依赖的LLM API不可用或配置错误 检查LLM API的可用性和配置 确保LLM API正常运行,并正确配置API Key
GitHub API请求失败 GitHub API速率限制或认证问题 检查GitHub API速率限制和认证信息 使用认证Token或等待速率限制重置
技能文件读取失败 文件路径错误或文件损坏 检查文件路径和文件完整性 确保文件路径正确且文件未损坏
权限评估错误 权限范围评估逻辑错误 检查权限评估逻辑和配置 修正权限评估逻辑和配置
风险分级错误 风险分级规则错误或配置错误 检查风险分级规则和配置 修正风险分级规则和配置

安全规范

风险项 等级 防护措施 验证方法
API Key泄露 高 使用环境变量存储API Key,避免代码库泄露 定期检查代码库,确保API Key未泄露
敏感数据泄露 高 对敏感数据进行加密处理 定期进行安全审计,确保敏感数据加密
代码注入攻击 高 对所有外部输入进行严格的验证和清理 使用安全的代码注入检测工具
恶意技能安装 高 对技能来源进行严格审查 使用Skill Vetter进行技能审查
混淆代码风险 中 对混淆代码进行深入分析 使用静态代码分析工具检测混淆代码

技术创新

功能 效率提升量化分析 差异化对比
自动化技能审查 审查时间缩短90% 传统人工审查需数小时,Skill Vetter仅需数分钟
代码分析深度 检测深度提升50% 传统工具可能遗漏部分安全风险
信任层级评估 审查效率提升30% 根据信任层级自动调整审查强度,节省时间
风险分级 风险识别准确率提升20% 传统方法可能误判风险等级
报告生成 报告生成速度提升80% 传统方法需手动生成报告,Skill Vetter自动生成
用户体验 操作简便性提升40% 传统工具操作复杂,Skill Vetter操作简单直观

主要功能

  • 自动化执行: 安全优先的 AI Ag
  • 文件处理: 支持多种文件格式的读取、解析和写入操作
  • API集成: 通过标准化接口调用外部服务并处理响应
  • 命令执行: 在安全沙箱中执行系统命令并收集结果
  • 信息检索: 快速搜索和过滤目标数据

效率指标

操作场景 手动耗时 自动化耗时 效率提升
文件解析与提取 5-10分钟/个 <5秒/个 60-120x
批量文件处理(100个) 8-16小时 <5分钟 96-192x
API调用与响应解析 2-3分钟/次 <1秒/次 120-180x
多接口数据聚合 15-30分钟 <10秒 90-180x
命令执行与结果收集 3-5分钟/次 <2秒/次 90-150x
重复任务批量执行 因任务而异 线性缩减 5-50x
错误排查与修复 10-30分钟 <30秒 20-60x

差异分析

对比维度 技能 传统手动方式 通用脚本工具
自动化程度 全流程自动 完全手动 部分自动
错误处理 内置错误恢复 依赖人工经验 基本try-catch
可复用性 参数化配置 一次性脚本 模板化
安全合规 内置安全检查 无安全保障 无安全保障
适用场景 安全优先的 AI Ag 通用场景 通用场景