
别让你的 AI 助手悄悄“投毒”:SkillSpector 专查技能包安全
在 GitHub 的海洋里,每天都有让人眼前一亮的新项目诞生。
SkillSpector
AI 编程助手越来越依赖“技能”(skills)——就是那些你随手安装的 Claude Code、Codex CLI 或 Gemini CLI 扩展包。它们拿到的往往就是你的文件读写权限,却没经过什么审查。研究发现,26.1% 的技能包存在安全漏洞,5.2% 带有明显的恶意意图。如果你也喜欢从网上直接拖一个 SKILL.md 就用,那早晚得问一句:这玩意儿安不安全?
SkillSpector 就是 NVIDIA 专门为这个场景打造的安全扫描器,定位很明确:帮你判断一个 AI 代理技能到底能不能放心装。
它不光能扫本地目录,还支持直接怼 Git 仓库、URL、ZIP 包甚至单个文件。内部嵌了 64 种漏洞模式,覆盖了你会担心的主要风险面:提示注入、数据外泄、权限提升、供应链攻击、输出劫持、系统提示泄露、内存污染、工具滥用、危险代码(通过 AST 检测)、触发滥用等。分析过程分两步走,先跑一轮快速的静态规则扫描,如果你愿意,还能接上 LLM 做更深的语义推断。静态分析阶段,它还会实时去 OSV.dev 查最新的 CVE 数据,离线环境也不怕,有自动降级方案。
扫完给出打分和报告。0 到 100 的风险分加上严重等级标签,直接告诉你这个技能是“可以上车”还是“赶紧扔”。报告可以输出成终端美化表格、JSON、Markdown,也可以选 SARIF,方便嵌进 CI/CD 或者安全流水线里。
安装和上手几乎没门槛。先建好虚拟环境,用 uv 或 pip 装就行。源码方式:
bash
# Clone the repositorygit clone https://github.com/NVIDIA/skillspector.gitcd skillspector# Create and activate virtual environmentuv venv .venv && source .venv/bin/activate# or: python3 -m venv .venv && source .venv/bin/activate# Install for production usemake install# Or install with development dependenciesmake install-dev如果你不想折腾 Python 环境,官方也给了 Docker 方案,真的一行 Python 都不用装。构建镜像:
bash
make docker-build# or: docker build -t skillspector .然后挂载本地目录直接扫:
bash
docker run --rm -v "$PWD:/scan" skillspector scan ./my-skill/ --no-llm扫描对象可以五花八门:
bash
# 扫本地目录skillspector scan ./my-skill/# 单文件skillspector scan ./SKILL.md# Git 仓库skillspector scan https://github.com/user/my-skill# 压缩包skillspector scan ./my-skill.zip输出你想怎么要就怎么给,Markdown 留档、SARIF 连 CI 都行:
bash
# 终端美化版(默认)skillspector scan ./my-skill/# 机器可读的 JSONskillspector scan ./my-skill/ --format json --output report.json# 文档用的 Markdownskillspector scan ./my-skill/ --format markdown --output report.md# 给安全流水线吃的 SARIFskillspector scan ./my-skill/ --format sarif --output report.sarif如果你有 LLM 密钥,打开语义分析能拿到更细致的判定。支持 OpenAI、Anthropic,也能连本地 Ollama 或任何 OpenAI 兼容的推理服务。比如连本地 Llama3.1:
bash
export SKILLSPECTOR_PROVIDER=openaiexport OPENAI_API_KEY=ollamaexport OPENAI_BASE_URL=http://localhost:11434/v1export SKILLSPECTOR_MODEL=llama3.1:8bskillspector scan ./my-skill/不想走 LLM 也能用 --no-llm 直接跳过,单靠静态规则很多问题已经挖得出来。
谁适合用它?所有会从网络获取 AI 技能包的个人开发者、团队和平台维护者。往 CI 里一放,就能在技能合并前自动拦住有问题的版本。目前在技能商店还没形成统一安全审查习惯的阶段,SkillSpector 算是一个务实的第一道防线。它不负责替你决策,但能把你从一堆 yaml 和 markdown 里自己肉眼翻找的体力活里解放出来。
拆解AI,遇见下一个十年。
夜雨聆风