GitHub Advisory 数据库技能构建器
概览
让 Claude 自动将 GitHub 公开漏洞数据库和 HackerOne Bug Bounty 报告转化为代码审计/渗透测试专用的结构化安全技能(Skills) 我前段时间做了一个叫纯钧(ChunJun)的 AI 代码审计系统。系统架构上做了不少工作——预扫描、CodeQL、Agent 多阶段验证、对抗反思——但审计效果始终不够理想。 比如 SQL 注入,Agent 能依赖的大概就是通用认知——「cursor.execute() 使用 f-string 拼接用户输入」。但翻一翻 GitHub Advisory Database 就会发现,真实世界中开发者踩的坑远比这复杂得多: - asyncmy 通过 dict keys 注入——库只转义 value 不转义 key(CVE-2025-65896) - ormar 通过 ORM 聚合函数 min()/max() 注入——开发者以为 ORM 就是安全的(CVE-2026-26198) - LLM 框架直接拼接用户 prompt 进 SQL——AI 时代的新攻击面(CVE-2024-12909) 这些是**,也是**。它们被记录在 GitHub Advisory Database 和 HackerOne Hacktivity 里,大部分都包含了根因分析、修复 commit、CWE 分类等完整信息。 光 Python 生态,CRITICAL + HIGH 级别就有 ,其中 CVSS >= 8.0 的有 。HackerOne 公开报告中 critical/high 级别有数千条。 :注入、路径遍历、认证绕过、反序列化、SSRF、XSS :auth-bypass、path-traversal、injection、dos、info-disclosure、crypto-tls、ssrf-requestforgery
概述(AI 翻译)
让 Claude 自动将 GitHub 公开漏洞数据库和 HackerOne Bug Bounty 报告转化为代码审计/渗透测试专用的结构化安全技能(Skills)
起因
我前段时间做了一个叫纯钧(ChunJun)的 AI 代码审计系统。系统架构上做了不少工作——预扫描、CodeQL、Agent 多阶段验证、对抗反思——但审计效果始终不够理想。
反思了一下,猜测一个可能的原因:我给 Agent 的只是通用的代码审计思路,它可能还需要一份更具体的漏洞模式知识作为技能。
比如 SQL 注入,Agent 能依赖的大概就是通用认知——「cursor.execute() 使用 f-string 拼接用户输入」。但翻一翻 GitHub Advisory Database 就会发现,真实世界中开发者踩的坑远比这复杂得多:
- asyncmy 通过 dict keys 注入——库只转义 value 不转义 key(CVE-2025-65896)
- ormar 通过 ORM 聚合函数
min()/[max()注入——开发者以为 ORM 就是安全的(CVE-2026-26198) - LLM 框架直接拼接用户 prompt 进 SQL——AI 时代的新攻击面(CVE-2024-12909)
这些是开发者真实会犯的错误,也是安全研究人员发现的巧妙绕过思路。它们被记录在 GitHub Advisory Database 和 HackerOne Hacktivity 里,大部分都包含了根因分析、修复 commit、CWE 分类等完整信息。
光 Python 生态,CRITICAL + HIGH 级别就有 3,777 条,其中 CVSS >= 8.0 的有 946 条。HackerOne 公开报告中 critical/high 级别有数千条。
让人一条条去看、分析、提炼?不现实。
所以想法很简单:让 Claude 来干这件事——自动拉取、分析、结构化,生成 Agent 能用的安全技能。
这个 repo 包含什么
本 repo 是一个 Claude Code Marketplace,包含两个可独立安装的 plugin:
| 插件 | 说明 | 适用人群 |
|---|---|---|
| vuln-技能 | 26 个安全漏洞审计/渗透测试 技能 | 直接用来做代码审计或渗透测试的人 |
| ghsa-skill-builder | Skill 生成器(从 GHSA/H1 拉取数据生成 skills) | 想自己拉数据、定制生成技能的人 |
26 个技能覆盖范围
本页由 AI 翻译,技术细节请以原文为准。
README
以下为原文 README 节选,完整内容请查看原文。
GHSA Skill Builder
让 Claude 自动将 GitHub 公开漏洞数据库和 HackerOne Bug Bounty 报告转化为代码审计/渗透测试专用的结构化安全技能(Skills)
起因
我前段时间做了一个叫纯钧(ChunJun)的 AI 代码审计系统。系统架构上做了不少工作——预扫描、CodeQL、Agent 多阶段验证、对抗反思——但审计效果始终不够理想。
反思了一下,猜测一个可能的原因:我给 Agent 的只是通用的代码审计思路,它可能还需要一份更具体的漏洞模式知识作为技能。
比如 SQL 注入,Agent 能依赖的大概就是通用认知——「cursor.execute() 使用 f-string 拼接用户输入」。但翻一翻 GitHub Advisory Database 就会发现,真实世界中开发者踩的坑远比这复杂得多:
- asyncmy 通过 dict keys 注入——库只转义 value 不转义 key(CVE-2025-65896)
- ormar 通过 ORM 聚合函数
min()/max()注入——开发者以为 ORM 就是安全的(CVE-2026-26198) - LLM 框架直接拼接用户 prompt 进 SQL——AI 时代的新攻击面(CVE-2024-12909)
这些是开发者真实会犯的错误,也是安全研究人员发现的巧妙绕过思路。它们被记录在 GitHub Advisory Database 和 HackerOne Hacktivity 里,大部分都包含了根因分析、修复 commit、CWE 分类等完整信息。
光 Python 生态,CRITICAL + HIGH 级别就有 3,777 条,其中 CVSS >= 8.0 的有 946 条。HackerOne 公开报告中 critical/high 级别有数千条。
让人一条条去看、分析、提炼?不现实。
所以想法很简单:让 Claude 来干这件事——自动拉取、分析、结构化,生成 Agent 能用的安全技能。
这个 repo 包含什么
本 repo 是一个 Claude Code Marketplace,包含两个可独立安装的 plugin:
| Plugin | 说明 | 适用人群 |
|---|---|---|
| vuln-skills | 26 个安全漏洞审计/渗透测试 Skills | 直接用来做代码审计或渗透测试的人 |
| ghsa-skill-builder | Skill 生成器(从 GHSA/H1 拉取数据生成 skills) | 想自己拉数据、定制生成 skills 的人 |
26 个 Skills 覆盖范围
Python 代码审计(6 个):injection、path-traversal、auth-bypass、deserialization、ssrf、xss
Go 代码审计(7 个):auth-bypass、path-traversal、injection、dos、info-disclosure、crypto-tls、ssrf-requestforgery
Web 渗透测试(13 个,基于 HackerOne 真实报告):sqli、xss、ssrf、idor、access-control、path-traversal、command-injection、auth-bypass、info-disclosure、memory-corruption、request-forgery、business-logic、deserialization-xxe
安装
方式 1:安装审计 Skills(推荐大多数用户)
/plugin install vuln-skills@yhy0/ghsa-skill-builder
安装后 Claude 会自动获得 26 个安全审计 Skills,在代码审计或渗透测试时自动触发。
方式 2:安装 Skill 生成器
/plugin install ghsa-skill-builder@yhy0/ghsa-skill-builder
安装后可以让 Claude 从 GHSA/HackerOne 拉取最新漏洞数据,自动生成或更新 Skills。
方式 3:两个都装
/plugin install vuln-skills@yhy0/ghsa-skill-builder
/plugin install ghsa-skill-builder@yhy0/ghsa-skill-builder
前置条件
- Claude Code CLI
- 安装生成器还需要:GitHub CLI(
gh,已认证)、Python 3.9+
生成的 Skill 长什么样
每个 Skill 分两层,渐进式加载:
第一层:Detection Strategy(检测策略)——Agent 审计时首先加载,定义这类漏洞的通用检测模型。
## Detection Strategy
Sources(用户输入入口):
- request.args, request.json, request.form
- tool_call.arguments(MCP/Agent 场景)
- 配置文件中用户可控的字段
Sinks(危险函数):
- cursor.execute(), engine.execute()
- Model.objects.extra(where=...), Model.objects.raw()
- asyncmy/PyMySQL 的 dict 参数传递
Sanitization(安全屏障):
- 参数化查询 (cursor.execute(sql, params))
- ORM 标准查询方法(filter/exclude/get)
检测路径:
1. 搜索 sink 调用
2. 回溯数据流,检查参数是否来自 source
3. 验证路径上是否存在有效 sanitization
4. 无 sanitization → 标记为候选漏洞
推荐工具
换一个关键词,或者移除筛选条件。
安装
npx skillfish add yhy0/ghsa-skill-builder