惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

H
Help Net Security
V
V2EX
月光博客
月光博客
博客园 - 【当耐特】
WordPress大学
WordPress大学
小众软件
小众软件
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
MyScale Blog
MyScale Blog
大猫的无限游戏
大猫的无限游戏
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
量子位
Vercel News
Vercel News
F
Fortinet All Blogs
J
Java Code Geeks
N
Netflix TechBlog - Medium
S
SegmentFault 最新的问题
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
L
LangChain Blog
Microsoft Azure Blog
Microsoft Azure Blog
人人都是产品经理
人人都是产品经理
I
InfoQ
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Recorded Future
Recorded Future
D
DataBreaches.Net
阮一峰的网络日志
阮一峰的网络日志
T
The Blog of Author Tim Ferriss
博客园 - 聂微东
美团技术团队
有赞技术团队
有赞技术团队
云风的 BLOG
云风的 BLOG
V
Visual Studio Blog
G
Google Developers Blog
MongoDB | Blog
MongoDB | Blog
宝玉的分享
宝玉的分享
酷 壳 – CoolShell
酷 壳 – CoolShell
博客园_首页
爱范儿
爱范儿
Recent Announcements
Recent Announcements
Apple Machine Learning Research
Apple Machine Learning Research
C
Check Point Blog
Last Week in AI
Last Week in AI
Hugging Face - Blog
Hugging Face - Blog
罗磊的独立博客
T
Tailwind CSS Blog
A
About on SuperTechFans
IT之家
IT之家
博客园 - 司徒正美
Jina AI
Jina AI
U
Unit 42
腾讯CDC

BlogFinder

日常漫步 Vol.24 之漫步前山河 - 雅余 周报 #1-聊聊本周的收获 - Edwin's Blog 我的OpenCode必装插件与Skill Write Something 掌中之物未必在掌握之中 · CRIVU PiliNara,一个更顺手的 PiliPlus 分支 「NekoEcho」:做一个必有回响的猫娘主题博客 2026-05 书影音总结 简化博客主题 - 安迪 你要加油呐 我第一次发布 npm 包 拾花小记#45:中考前的二三事 – 小改学习志 黛西花园5月游 #18 枇杷又熟了的五月月报 一些奇奇怪怪的需求?word仿方正书版的几个小操作 - Xiobb's Blog 0419 御温泉之旅 修复了一些bug,网站基本上趋于稳定了 - 新锐博客 又回到四十年前 如何定义成功 迷鹿屋2026已重新上线 科技冰火两重天+一周回顾 ${title} 热度退了,我反而用得更深了-咕咚同学 我到底该不该换个域名? 随身WIFI折腾记 - 安迪 博客撰写体验提升——hexo pro插件 为什么不用相机把屏幕上的接关密码拍下来? 国清寺与天台山 – Ouroboros ★★★★☆《挽救计划》——久违的经济上行感 - Davidの3号基地 删除右键“打开方式”里多余选项 第三周刊_No.53|一切都会被支付两次 安卓APP通话记录与录音上传踩坑记录 - 子舒的博客 天量下跌 inBox 笔记 2.3.8,把工具栏交给了你-咕咚同学 我把小龙虾搬到了微信-咕咚同学 安好 - 响石潭 Compound Engineering Plugin:让每个工程单元都比上一个更容易 MOSS-TTS Family:开源高质量语音与声音生成模型家族深度解析 Crawl4AI:专为 LLM 设计的开源 Web 爬虫与数据抓取工具 Build Your Own X:从零实现你最喜欢的技术——程序员进阶的终极资源清单 Anthropic Skills:用文件夹教 Claude 专业技能的开源框架 1年的去月球(下) - 梅之夏 欢迎回来。 简单讲讲 ASN.1 与 OID DTV - 直播聚合客户端 5.22-5.27 – 不兴江 还没去过鸭川 – 不兴江 张晶晶同学三刷林志颖 关于我 – 不兴江 爱与嫉妒 – 不兴江 港股被持续做空 备案码花了四百块-咕咚同学 一句话生成封面:我给公众号做了4种风格的AI封面生成技能 「官」方認證 再谈费曼学习法 2026-05-28T00:34:11+08:00 2026-05-28T00:28:45+08:00 离谱的英语学习指南:基于AI的英语进阶系统方法论 iii:零集成架构的后端统一运行时 Claude Code Harness:让 Claude Code 工作有迹可循的工程化框架 Heretic:全自动移除大语言模型审查机制的开源工具 MarkItDown:微软开源的万能文档转 Markdown 利器 Harness:让 Claude Code 秒变多智能体协作工厂 这段时间尽折腾AI Agent了,确实极大地提高了效率 近期动态:两个新站点正式上线啦 误判解除!zhouayuan.com 腾讯安全申诉成功 - 周阿源|玩具设计・插画日常・生活随笔 Ralph:让 AI 编码工具自主循环跑完所有 PRD 任务的量产神器 全都违法 – 个人工作记录 关于zhouayuan.com被误判 “含违规信息” 的说明与申诉记录 - 周阿源|玩具设计・插画日常・生活随笔 小米 MiMo v2.5 Pro 白嫖 最大的人间清醒,兜里有钱,但是不花。 夜晚靓歌(12):于文文现场solo - 王志勇的Blog 今日插画:风扬起的倔强 - 周阿源|玩具设计・插画日常・生活随笔 回门习俗 独立网卡 - 忘记了回忆 500亿入股人工智能企业 从命令行到桌面智能体-咕咚同学 第一性原理读书笔记 行者微评论223-加班の守株待兔-博客|政治与时事-风雨行者 ZOZO开源物理接触求解器:GPU加速的可扩展仿真引擎 OpenStock:开源股票市场交易平台技术深度解析 MoneyPrinterTurbo:基于AI的全自动短视频生成工具深度解析 Claude-Mem:为 Claude Code 构建的持久化记忆压缩系统 Twenty:可代码化定制的企业级开源 CRM 平台技术深度解析 2026-05-26T22:59:17+08:00 企业级开源大模型部署平台 GPUStack 实战教程 1年的去月球(上) - 梅之夏 Sevalla - 静态网站托管服务 不用翻墙、不用注册、不用月费,普通人也能用上 Claude Code 装修灯具要注意⚠️ 黄梅天先锋 - 游子微博 公安备案顺利办结,站点备案全部完成 - 周阿源|玩具设计・插画日常・生活随笔 第三次兑换天猫超市卡了宗宗酱-三维狐少儿编程 Don't think, feel. - Rolen's Blog 人这一辈子,到底图个什么 博客迁移 - Edwin's Blog 情感赛道写作模板 再现本轮行情的典型特征 裁员与平常心-咕咚同学 别让“偷懒”,成为隐私泄露的破绽
SkillSpector:NVIDIA 开源 AI Agent 技能安全扫描工具
Cheman · 2026-06-14 · via BlogFinder

今天在 GitHub Trending 上看到一个有意思的项目:SkillSpector,来自 NVIDIA 的官方开源安全扫描工具,专门解决 AI Agent 技能的安全隐患问题。

一、项目概述

AI Agent 技能(Claude Code、Codex CLI、Cursor 使用的 SKILL.md)以隐式信任的方式执行,缺乏充分的安全审查。研究数据显示,26.1% 的技能存在安全漏洞,5.2% 表现出明显的恶意意图,而包含可执行脚本的技能漏洞率更是高达 2.12 倍。

SkillSpector 正是为回答"这个技能安全吗?“而生的工具。

核心特性:

  • 支持 Git 仓库、URL、ZIP 文件、本地目录、单文件多种输入格式
  • 内置 64 种漏洞模式,覆盖 16 大类别:提示注入、数据外泄、权限提升、供应链攻击、过度授权、输出处理、系统提示泄露、内存污染、工具滥用、恶意 Agent 等
  • 两阶段检测:快速静态分析 + 可选 LLM 语义评估
  • 实时漏洞查询:通过 OSV.dev API 拉取 CVE 数据,支持离线自动降级
  • 多种输出格式:终端美化、JSON、Markdown、SARIF
  • 风险评分 0–100 分制,带严重级别标签和明确处置建议

二、技术原理

架构设计

SkillSpector 基于 LangGraph 构建两阶段检测管道:

from skillspector import graph

result = graph.invoke({
    "input_path": "/path/to/skill",
    "output_format": "json",
    "use_llm": True,
})

print(f"Risk Score: {result['risk_score']}/100")
print(f"Severity: {result['risk_severity']}")

Stage 1 静态分析涵盖 11 种分析器:

  • 正则模式匹配(覆盖 16 类漏洞模式)
  • AST 行为分析(检测 exec()eval()subprocess 等危险调用)
  • OSV.dev 实时 CVE 查询(依赖已知漏洞检测)
  • YARA 签名匹配(恶意软件、webshell、加密挖矿工具)

Stage 2 LLM 语义分析(可选):

  • 结合上下文评估意图,过滤误报,提升精度至约 87%
  • 内置反越狱保护,防止恶意技能反过来污染分析器

核心依赖栈

项目使用 Python 3.12+,关键依赖包括:

  • langgraph ≥ 1.0.10 — 工作流编排
  • openai ≥ 2.25.0 — LLM 调用
  • yara-python ≥ 4.5.0 — 二进制签名匹配
  • httpx ≥ 0.28.0 — HTTP 客户端(OSV.dev 查询)
  • pydantic ≥ 2.12.0 — 数据建模

风险评分算法

级别加分严重程度建议
CRITICAL+50 分DO NOT INSTALL禁止安装
HIGH+25 分DO NOT INSTALL不建议安装
MEDIUM+10 分CAUTION谨慎使用
LOW+5 分SAFE可安全使用

可执行脚本乘以 1.3x 倍率。

三、安装与快速开始

环境要求

  • Python 3.12 或 3.13
  • 可选:uv 包管理器(推荐)或 pip
  • 可选:Docker(无需安装 Python)
  • 可选:LLM API 密钥(用于语义分析)

方式一:pip/uv 安装

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    # 含开发依赖

方式二:Docker(零 Python 依赖)

# 构建镜像
make docker-build
# 或:docker build -t skillspector .

# 扫描本地目录(纯静态分析)
docker run --rm -v "$PWD:/scan" skillspector scan ./my-skill/ --no-llm

# 带 LLM 语义分析
docker run --rm \
  -v "$PWD:/scan" \
  --env-file .env \
  skillspector scan ./my-skill/

.env 文件示例:

SKILLSPECTOR_PROVIDER=anthropic
ANTHROPIC_API_KEY=sk-ant-...

四、使用方法与实战

基础用法

# 扫描本地技能目录
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 集成)
skillspector scan ./my-skill/ --format sarif --output report.sarif

LLM 分析配置

支持多个 LLM 提供商,通过环境变量切换:

# OpenAI(默认模型 gpt-5.4)
export SKILLSPECTOR_PROVIDER=openai
export OPENAI_API_KEY=sk-...

# Anthropic(默认 claude-opus-4-6)
export SKILLSPECTOR_PROVIDER=anthropic
export ANTHROPIC_API_KEY=sk-ant-...

# NVIDIA build.nvidia.com(默认 deepseek-ai/deepseek-v4-flash)
export SKILLSPECTOR_PROVIDER=nv_build
export NVIDIA_INFERENCE_KEY=nvapi-...

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

实战示例:扫描可疑技能

# 克隆可疑技能
git clone https://github.com/example/suspicious-skill.git

# 快速静态扫描
skillspector scan ./suspicious-skill/ --no-llm

# 带 LLM 深度分析(推荐)
skillspector scan ./suspicious-skill/ --format json --output scan_result.json

典型输出示例:

 SkillSpector Security Report  v2.0.0

Skill: suspicious-skill
Scanned: 2026-01-29 10:30:00 UTC

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

Issues (2)

  HIGH: Env Variable Harvesting (E2)
    Location: scripts/sync.py:23
    Confidence: 94%

  HIGH: External Transmission (E1)
    Location: scripts/sync.py:45
    Confidence: 89%

五、常见问题与解决方案

Q1:安装时提示 yara-python 编译失败? yara-python 需要 yara 库和编译工具。在 macOS 上可尝试:brew install yara,然后 pip install yara-python

Q2:OSV.dev 查询超时? Tool 内置 1 小时内存缓存,同时在网络不可达时自动切换到内置静态漏洞列表(覆盖主流 CVE),不影响本地分析。

Q3:Docker 扫描时文件权限问题? Docker 容器以 root 运行,默认对挂载目录有读写权限。若需以当前用户运行,可添加 --user $(id -u):$(id -g) 参数。

Q4:LLM 分析提示 API 限流? 切换 Provider 或在环境变量中设置 SKILLSPECTOR_LOG_LEVEL=INFO 查看详细日志。可使用本地 Ollama 绕过 API 限制:

export SKILLSPECTOR_PROVIDER=openai
export OPENAI_BASE_URL=http://localhost:11434/v1
export OPENAI_API_KEY=ollama
export SKILLSPECTOR_MODEL=llama3.1:8b

Q5:如何批量扫描多个技能? 结合 find 命令和脚本循环处理:

find ./skills/ -name "SKILL.md" -exec skillspector scan {} \; > scan_report.txt

六、总结

SkillSpector 填补了 AI Agent 技能生态的安全盲区——从提示注入到供应链攻击,从 AST 行为分析到 LLM 语义评估,提供了目前最完整的技能安全扫描方案。随着 AI Agent 工具越来越普及,这类工具的重要性只会日益凸显。建议所有使用 AI Agent 技能的同学都把它加入安全工具箱,在安装任何第三方技能前先跑一遍扫描。