介绍:
1.
有会员需要,特从咸鱼买来,其中部分为会员@神焰 提供,注意,闲鱼大部分为github公开skill倒卖,切勿上当
2. hunter-skills
2.1 它是什么
hunter-skills 是一套进攻性安全(Offensive Security)技能库,把大量 Web / 二进制 / 红队 / OSINT / AI 安全等领域的方法论,拆成 37 个独立 Skill 目录。
每个 Skill 通常只有一个核心文件:
hunter-skills/Skills/offensive-xxx/SKILL.md
内容结构高度统一,适配 Claude Code / Claude Skills 加载机制:
-
Metadata:Skill Name、Folder、Source(上游 GitHub 源)
-
Description:一句话能力描述
-
Trigger Phrases:触发关键词(模型何时应启用该 Skill)
-
Instructions for Claude:激活后的行为约定(按清单执行、跟踪完成项、建议下一步)
-
Full Methodology:完整方法论正文(检查项、Payload、工具、修复建议等)
上游来源统一标注为:
即这些 Skill 大多由公开的 offensive checklist 文档「技能化」而来。
2.2 目录结构
hunter-skills/
├── assets/
│ └── banner.png # 展示用横幅
├── Skills/ # 全部技能本体
│ ├── offensive-advanced-redteam/
│ ├── offensive-ai-security/
│ ├── offensive-basic-exploitation/
│ ├── …(共 37 个)
│ └── offensive-xxe/
├── .gitattributes
└── 更多网安资源bdziyi.com.png
-
无独立 README / 安装脚本:使用方式是把
Skills/下各子目录装到 Claude Code 的 skills 路径,或按需让模型 Read 对应SKILL.md。 -
体量差异极大:从约 150 行的轻量红队总览,到 1 万行以上的 Windows 边界/缓解机制深度文档(见下表)。
2.3 技能分类图谱
可按主题分成六大类:
A. Web 应用漏洞类(最常用)
| 目录名 | Skill Name | 约行数 | 内容摘要 |
|---|---|---|---|
offensive-sqli |
sql-injection | ~859 | 报错/布尔盲注/时间盲注/UNION/OOB/二阶/NoSQL;WAF 绕过;各库 cheatsheet;云环境与 ORM CVE |
offensive-xss |
xss | ~782 | 反射/存储/DOM/Blind XSS;polyglot;CSP 绕过;过滤器绕过 |
offensive-ssrf |
ssrf | ~828 | 发现与盲注;云元数据;IP 编码/DNS rebinding;SSRF→RCE |
offensive-xxe |
xxe | ~994 | 经典/盲注 XXE;文件上传载体;XXE→SSRF |
offensive-ssti |
ssti | ~347 | 模板引擎识别;Jinja2/Twig/Freemarker 等利用链 |
offensive-rce |
rce | ~1067 | 命令注入、SSTI→RCE、反序列化 RCE、上传 RCE、依赖混淆等 |
offensive-idor |
idor | ~606 | 水平/垂直越权;对象 ID 枚举;批量 IDOR |
offensive-file-upload |
file-upload | ~820 | MIME/扩展名/魔数绕过;路径穿越;上传到 Webshell |
offensive-open-redirect |
open-redirect | ~485 | 参数识别;编码/双斜杠/CRLF;链式到 OAuth/SSRF |
offensive-race-condition |
race-condition | ~879 | TOCTOU;Turbo Intruder;Last-Byte 同步;双花/超卖 |
offensive-request-smuggling |
request-smuggling | ~771 | CL.TE / TE.CL / TE.TE;HTTP/2 smuggling;缓存投毒 |
offensive-parameter-pollution |
parameter-pollution | ~593 | HPP;前后端解析差异;WAF 绕过 |
offensive-graphql |
graphql-security | ~207 | 内省、批处理、深度/复杂度 DoS、字段建议、授权绕过 |
offensive-jwt |
jwt-attacks | ~396 | none/算法混淆、弱密钥、kid/jku/x5u 注入 |
offensive-oauth |
oauth-attacks | ~364 | 授权码拦截、redirect_uri 绕过、state 滥用 |
offensive-deserialization |
insecure-deserialization | ~183 | Java/PHP/.NET/Python;ysoserial;magic method |
offensive-waf-bypass |
waf-bypass | ~818 | 多重编码、注释注入、分块、协议层绕过 |
B. 侦察与情报类
| 目录名 | Skill Name | 约行数 | 内容摘要 |
|---|---|---|---|
offensive-osint |
osint-checklist | ~482 | 域名/邮箱/社媒/GitHub/Shodan/Censys/泄露库 |
offensive-osint-methodology |
osint-methodology | ~432 | 目标定义、源选择、采集、关联、时间线、报告 |
offensive-fast-checking |
fast-checking | ~485 | 快速评估:速赢模式、快速 recon、自动化捷径 |
offensive-bug-identification |
bug-identification | ~1254 | 代码审计、污点分析、危险函数、黑盒策略 |
offensive-initial-access |
initial-access | ~1526 | 钓鱼、撞库、暴露服务、供应链初始入口 |
C. 利用开发与漏洞研究类(课程型,体量巨大)
| 目录名 | Skill Name | 约行数 | 内容摘要 |
|---|---|---|---|
offensive-vuln-classes |
vulnerability-classes | ~1227 | Week1:栈/堆溢出、UAF、整数、格式串、类型混淆等 + 近年 CVE 案例 |
offensive-fuzzing-course |
fuzzing-course | ~2103 | Week2:语料、覆盖率引导、AFL++/libFuzzer 等课程 |
offensive-fuzzing |
fuzzing-methodology | ~1744 | 实操模糊测试方法论与工具选型 |
offensive-crash-analysis |
crash-analysis | ~12464 | Week4:WinDbg/GDB、ASAN、可利用性判断 |
offensive-basic-exploitation |
basic-exploitation | ~10781 | Week5:EIP/RIP 控制、ROP、ret2libc、shellcode、绕 ASLR/NX |
offensive-windows-boundaries |
windows-boundaries | ~15151 | Windows 安全边界与攻击面分类(体量最大之一) |
offensive-windows-mitigations |
windows-mitigations | ~14544 | ASLR/DEP/CFG/CET/Heap Guard 等 Windows 缓解与绕过 |
offensive-exploit-dev-course |
exploit-dev-curriculum | ~426 | 利用开发完整课程路线图 |
offensive-exploit-development |
exploit-development | ~697 | 环境、调试流、PoC 生命周期、pwntools |
offensive-shellcode |
shellcode | ~656 | x86/x64 shellcode、免 null、编码器、PIC |
offensive-mitigations |
security-mitigations | ~1349 | 通用缓解机制与绕过目录(ASLR/NX/CFI/sandbox 等) |
D. 红队与对抗类
| 目录名 | Skill Name | 约行数 | 内容摘要 |
|---|---|---|---|
offensive-advanced-redteam |
advanced-redteam-ops | ~146 | OPSEC、C2、LOTL、横向、持久化、外传 |
offensive-edr-evasion |
edr-evasion | ~1804 | unhook、direct syscall、PPID spoof、AMSI/ETW、注入变体 |
offensive-keylogger-arch |
keylogger-architecture | ~195 | 键盘记录架构:钩子、ETW、驱动层设计思路 |
E. AI / 新兴攻击面
| 目录名 | Skill Name | 约行数 | 内容摘要 |
|---|---|---|---|
offensive-ai-security |
ai-security | ~590 | Prompt injection、越狱、模型抽取、投毒、对抗样本、RAG 投毒 |
F. 体量统计
-
Skill 总数:37
-
全部
SKILL.md合计约 7.9 万行 -
最长:
offensive-windows-boundaries(约 1.5 万行)、offensive-windows-mitigations(约 1.45 万行) -
最短:
offensive-advanced-redteam(约 146 行)
2.4 单个 Skill 内部长什么样(以 SQLi 为例)
以 offensive-sqli/SKILL.md 为代表,典型章节包括:
-
Shortcut:最短行动路径(映射输入点 → 试 payload → 抽数据 → 扩大立足点)
-
Mechanisms:漏洞机制与类型分类图(In-band / Blind / OOB)
-
Hunt:Burp、自动化流水线、隐藏参数发现(Arjun 等)
-
Identification Techniques:报错、布尔、时间、JSON 操作符、WebSocket、REST filter
-
Bypass Techniques:大小写、注释、编码、SQLMAP tamper、HTTP/2
-
Vulnerabilities:登录绕过、各库特有利用、NoSQL、Cypher
-
Chaining and Escalation:云/Serverless/ORM CVE
-
Methodologies / Tools:工具表与分阶段方法论
-
Cheatsheets by Database:MySQL/MSSQL/Oracle/PostgreSQL 速查
-
Remediation / Detection / Compliance:修复、SIEM 规则、PCI/OWASP/NIST 引用
其他 Web 类 Skill 结构类似:清单 + 原理 + 狩猎步骤 + 绕过 + 利用链 + 修复。 Exploit 课程类则更像周课讲义:每日目标、阅读材料、CVE 案例、讨论题、Capstone 作业。
2.5 使用方式
-
按需加载:对话中出现
SQL injection、SSRF、prompt injection等 Trigger Phrases 时,让 Agent 读取对应SKILL.md。 -
批量安装:将
Skills/offensive-*拷入 Claude Code skills 目录,由前端自动匹配。 -
与 skill1 / vuln-hunter 配合:
-
skill1 Attack 阶段识别到某威胁类型后,可并行参考 hunter-skills 中的专项清单做深度 PoC。
-
vuln-hunter
/study学完某篇文章后,经验进图谱;下次遇到同类目标可与 hunter-skills 方法论互补。
-
2.6 设计特点与局限
特点
-
模块化极强:一个漏洞一类 Skill,互不耦合。
-
知识密度高:Payload、工具命令、CVE 案例、修复建议一站式。
-
对 AI Agent 友好:Trigger Phrases + 执行指令明确。
局限
-
不是完整项目流程:没有会话状态、没有门控、没有统一报告 schema。
-
授权边界依赖使用者:Checklist 本身不强制「仅授权目标」。
-
部分文档极长:Windows 相关课程一次读入会占满上下文,宜分段/按需引用。
-
偏英文原文风格(由 offensive-checklist 转换),中文场景需模型自行消化表述。
3. skill1(Pentest Lyan v2.3)
3.1 它是什么
skill1 是一套完整的 授权 Web 渗透测试 Claude Skill,产品名为:
-
Skill 名称:
pentest-lyan -
版本:
2.3.0 -
作者元数据:HeaSec
-
许可证:MIT(Copyright 2026 lyan12321)
-
兼容性:Claude Code 或 Kimi Code;建议有浏览器自动化(Playwright MCP),否则退化为 curl
核心理念写在 SKILL.md 开篇:
模型负责思考,文件负责记忆。 读懂代码比测接口更重要。 模型自主威胁建模(不预定义漏洞清单)。 验证业务影响,不只看状态码。
它不是「漏洞字典」,而是把一次 Web 渗透拆成可恢复、可审计、可交付的状态机。
3.2 目录结构详解
skill1/
├── SKILL.md # 主入口:调度、退出条件、Banned Patterns、启动命令
├── README.md # 用户向说明(亮点、安装、用法)
├── gates.md # HARD GATE:G1–G7 + 授权前提
├── schema.md # Schema 索引(指向 references + schema/)
├── LICENSE # MIT
├── test-results.md # 测试结果/自测记录类文件
├── references/ # 分阶段流程文档(主 agent 按阶段 Read)
│ ├── discovery-guide.md
│ ├── attack-guide.md
│ ├── threat-modeling.md
│ ├── validation-guide.md
│ ├── cross-role-testing.md
│ ├── audit-guide.md
│ ├── report-template.md
│ ├── docx-template.md
│ ├── post-delivery.md
│ ├── schema-guide.md
│ └── schema-data-flow.md
├── schema/ # JSON Schema Draft-07(字段规范,供模型参考)
│ ├── index.schema.json
│ ├── state.schema.json
│ ├── module_queue.schema.json
│ ├── module.schema.json
│ ├── pages.schema.json
│ ├── coverage.schema.json
│ ├── summary.schema.json
│ ├── sessions_pool.schema.json
│ └── account.schema.json
├── scripts/
│ └── render_docx.py # Markdown → Word 交付件渲染(python-docx)
├── templates/ # docx 模板资源
├── src/ # 内嵌一份与根目录基本同构的副本(便于打包分发)
└── 更多网安资源bdziyi.com.png
说明:references/ 被明确设计为流程文档,不是可独立调用的 subagent。主 Agent 在对应阶段入口 Read 后按其流程执行。
3.3 核心设计原则
3.3.1 自主威胁建模(12 维度)
不套固定 OWASP 清单,对每个 feature 基于 12 个思维维度自由命名威胁:
| 维度 | 深度自问要点 |
|---|---|
| 数据流 | 输入是否原样进入 DB/命令/模板 |
| 权限边界 | 角色校验在哪一层、能否绕过 |
| 资源归属 | 对象 ID 是否归属校验、可否枚举他人 |
| 状态变更 | 能否跳过中间态、终态回退 |
| 客户端可控值 | 金额/概率/角色/回调 URL 等是否可被客户端覆盖 |
| 并发场景 | 双花、重复领取、超卖 |
| 输出展示 | XSS 上下文、innerHTML vs 转义 |
| 认证与会话 | 枚举差异、Token 伪造/重放 |
| SSRF | URL/主机参数是否触发服务端请求 |
| 注入面 | SQL/OS/模板/XML 等 |
| 文件操作 | 上传绕过、路径穿越 |
| 业务逻辑 | 负价格、积分重复、签名 key 暴露 |
每个威胁写入 threat_model[],必填:
-
threat_id(如 T1) -
vuln_type(自由命名,建议带场景,如IDOR-编辑他人订单) -
reasoning(为什么判断有此威胁) -
目标 API/参数
3.3.2 反遗漏机制:「三问 + 未排除面」
-
每个 feature 收口必须写
coverage_note,回答三个泛化问题(不点名具体漏洞):-
输入面:每个可控输入是否测过或明确说明不测原因
-
行为面:每个接口/状态变更/并发/角色组合是否覆盖
-
深度面:判安全是否穷尽,还是一种姿势就收
-
-
每条
not_vulnerable必须附unruled_out(还没排除的攻击面)
这套机制通过门控 G2 强制,缺一项模块不能出队。
3.3.3 业务影响验证
明确禁止「返回 200 就确认漏洞」。例如:
| 类型 | 影响验证要求 |
|---|---|
| 越权读 | 响应体含对方私有数据 |
| 越权写 | 再查资源确认已变 |
| 金额篡改 | 查余额/账单确认 DB 层变化 |
| 竞态 | 查最终状态是否多次生效 |
| SQLi | 时间/布尔对比实验 |
3.3.4 状态持久化 + 多项目隔离
运行时数据写在:
pentest-data/
├── index.json # 项目清单
└── {project-id}/
├── state.json
├── module_queue.json
├── modules/{module_id}.json
├── sessions/pool.json
├── sessions/account_*.json
├── js_analysis.json
├── api_inventory.json
├── permission_matrix.json
├── pages.json
├── coverage.json
└── summary.json
-
project-id默认取 hostname 第一段(小写),可用--project覆盖 -
支持
--resume、--list -
时间戳必须用
date -Iseconds,禁止模型编造
3.4 三阶段流水线
阶段 1 — Discovery(侦察 + 权限矩阵)
入口文档:references/discovery-guide.md
主要步骤:
-
项目初始化:确定 project-id、建目录、登记
index.json(续测则读state.json) -
全量 JS 深度阅读(强调完整阅读,不只是 grep 路径)
-
接口与参数构造、签名/哈希逻辑、前端状态机
-
localStorage / 全局变量
-
敏感注释、TODO、中文备注
-
硬编码密钥扫描(access_key、AKIA、client_secret 等)
-
输出
js_analysis.json,含channels_covered六渠道标记
-
-
接口全量发现
-
JS / 内联 script / 页面级入口 / 路径推断 / 公共路径探测 / 引用资产抓取
-
输出
api_inventory.json(活文件,Attack 阶段继续追加)
-
-
会话池 + 权限矩阵
-
登录各账号,写
sessions/pool.json -
用所有 session 批量访问接口,生成
permission_matrix.json
-
-
pages.json 轻量 seed(一级模块页面)
-
探测注册页(账号不足时报告阶段提示补账号)
G7 六大发现渠道(必须最终全覆盖):
| 渠道 | 含义 |
|---|---|
js_ref |
独立 .js 中的 API 调用 |
inline_script |
每个 HTML 内联 script |
asset_ref |
script/link 引用资产(相对页面路径解析) |
page_link |
导航/页内链接页面本身(页面级越权) |
path_inference |
路径推断探活 |
response_body |
运行时响应中新出现的接口(Attack 阶段) |
阶段 2 — Attack(模块循环深度攻击)
入口:attack-guide.md + threat-modeling.md + validation-guide.md + cross-role-testing.md
主循环:
module_queue.pop(0)
→ 结合 permission_matrix / js_analysis 识别 feature
→ 每个 feature:探索 → 威胁建模 → 深度验证 → 记录
→ 新接口追加 api_inventory + 权限再测
→ 新页面/功能追加 pages.json
→ 子模块入口 append 队列
→ 过 G2/G3 → 移入 tested_modules
验证深度包括:
-
基础 PoC
-
业务影响验证
-
参数空间扩展(隐藏字段 role/status/price/callback_url…、边界值、类型混淆)
-
状态机遍历
-
竞态(推荐 Python asyncio 真并发,而非 bash 后台)
跨角色(G4):
-
读/写/操作三类越权都要覆盖
-
victim 资源 ID 不得硬编码,必须从 victim 真实列表取
-
账号不足可降级说明,
tested=true+ note
阶段 3 — Audit(审计 + 报告)
入口:audit-guide.md + report-template.md + docx-template.md + post-delivery.md
职责:
-
校验全部 G5 条件(含 G6 页面覆盖)
-
系统级审计:CORS、安全头、调试端点、版本泄露、WAF 等(配置类不进 confirmed_vulns)
-
生成
coverage.json、summary.json -
输出 Markdown 技术报告 + 可选 docx(
scripts/render_docx.py) -
交付后提示清理
sessions/account_*.json明文凭据
3.5 HARD GATES(门控体系)
| Gate | 时机 | 要点 |
|---|---|---|
| 授权前提 | 始终 | 用户下达任务即视为授权;请求同源,外域不跟随 |
| G1 会话池 | 阶段1→2 | ≥2 账号正常;0/1 不阻塞,降级继续并记 limitation |
| G2 模块出队 | 阶段2 | 威胁全验证、reasoning、cross_role、子模块入队、coverage_note、unruled_out |
| G3 证据充分 | 阶段2 | confirmed 须完整请求/响应/绝对 URL/access_path,否则降级 suspicious |
| G4 跨角色 | 阶段2 | 内联执行;真实 victim ID;账号不足可空数组 + note |
| G5 报告 | 阶段3 | 队列空、覆盖完整、盲区三态、summary 继承、无编造 |
| G6 页面功能 | 报告前 | pages 全部 visited/triggered 或 BLOCKED |
| G7 发现渠道 | 报告前 | channels_covered 六项齐全 |
9 条退出条件全部满足才允许出报告(见 SKILL.md),任一不满足 → 补测,禁止硬写报告。
3.6 Banned Patterns(禁止行为)
摘要:
-
未验证授权下的高危操作(批量删除、支付退款、改权限)
-
未确认业务影响就标
confirmed -
not_vulnerable省略unruled_out -
硬编码对象 ID 测越权
-
配置类观察计入 confirmed_vulns
-
报告用「部分覆盖」「基本完成」等模糊词
-
编造 summary 字段
-
扩展到非目标资产
-
删除他人已有业务数据
3.7 启动与多项目管理
/pentest-lyan <target-url> [--project <id>] [账号...]
/pentest-lyan --resume <id>
/pentest-lyan --list
示例:
/pentest-lyan https://target.example.com
账号:
- admin/Admin@123 (role_level: high_privilege)
- user1/User@123 (role_level: standard)
- user2/User@123 (role_level: standard)
-
role_level由用户显式声明,不从用户名推断 -
工具自适应:有浏览器自动化用导航/快照/fetch;否则 curl + cookiejar
3.8 Schema 与报告产物
Schema 文件(schema/*.schema.json)定义各状态文件字段,模型写入时参考;设计上不做机器强制校验,靠门控 + 审计人工/模型自检。
报告分层:
-
Markdown:完整技术报告(按功能列出测了哪些威胁)
-
Word:交付件,经
render_docx.py渲染(严重/高/中/低/信息颜色体系、中英文字体) -
配置类低危进系统级审计附录,不占主漏洞编号
3.9 安全与清理
-
pentest-data/含 Cookie/Token/账号明文 → 勿入库、勿同步 -
测试结束必须提示清理会话凭据
-
仅允许删除本次测试自建数据,禁止动真实业务存量
3.10 skill1 总结
| 维度 | 评价 |
|---|---|
| 适合谁 | 需要「完整一轮授权 Web 渗透 + 可交付报告」的团队/个人 |
| 强项 | 状态机、门控、覆盖率、跨角色、JS 深读、业务验证 |
| 弱项 | 对非 Web/无前端目标不适用;依赖 Agent 自觉遵守门控 |
| 与 hunter-skills | skill1 管流程,hunter-skills 供专项漏洞手法 |
| 与 vuln-hunter | skill1 的项目状态是文件式;vuln-hunter 是认知记忆式,可并行 |
4. vuln-hunter
4.1 它是什么
vuln-hunter 是一套面向 Claude Code 的漏洞挖掘项目框架,核心是:
仿生人类四层记忆系统(vuln_memory) + 挖洞工作流指令(CLAUDE.md / skills / commands) + 漏洞等级标准与报告规范
与 skill1 的差异:
-
skill1:强流程、强 schema、Web 专项
-
vuln-hunter:强记忆、强经验复用、挖洞节奏更自由,工具触发式而非清单式
关键哲学(CLAUDE.md):
-
不机械按清单执行——记忆是参考不是指令
-
所有可控参数都可能有漏洞
-
思考与 recall 全程交织
-
新发现随时回写,形成正循环
-
记忆系统不配单独大模型:
classify/fusion/distill只出 prompt,由 Claude Code 自己思考后commit-*
4.2 目录结构详解
vuln-hunter/
├── CLAUDE.md # 项目级行为准则(挖洞时必读)
├── 漏洞等级标准.md # 高/中/低危与「不计入」过滤规则
├── requirements.txt # 依赖说明:默认零依赖
├── vulnmem.py # CLI 入口:python vulnmem.py <cmd>
├── vuln_memory/ # 四层记忆 Python 包
│ ├── __init__.py
│ ├── agent.py # HumanLikeMemoryAgent 编排
│ ├── cli.py # 全部子命令
│ ├── config.py # 路径与业务常量
│ ├── backends.py # 文件级 Redis/FAISS/Neo4j 模拟
│ ├── embeddings.py # 哈希向量 / sentence-transformers
│ ├── instant.py # L1 瞬时记忆
│ ├── working.py # L2 Baddeley 工作记忆
│ ├── shortterm.py # L3 短时向量记忆
│ ├── longterm.py # L4 长时图谱
│ └── notes/ # 笔记目录(可空)
├── vuln_memory_data/ # 运行时数据(开箱为空)
│ ├── instant/
│ ├── working/
│ ├── shortterm/
│ ├── longterm/
│ └── project/
└── .claude/
├── skills/
│ ├── vuln-memory/SKILL.md # 四层记忆使用契约
│ ├── vuln-report/SKILL.md # /report 报告规范
│ └── vuln-sub/SKILL.md # /sub 项目完结蒸馏
└── commands/
├── stop.md # /stop 暂停续挖
├── study.md # /study 学文章进记忆
├── sub.md # /sub 结项
└── vuln-recall.md # /vuln-recall 快速召回
另有 更多网安资源bdziyi.com.png。
4.3 四层记忆模型详解
对标认知科学中的感觉记忆 / 工作记忆 / 短时记忆 / 长时巩固:
L1 瞬时记忆(instant.py)
-
职责:缓冲本轮原始观察与对话
-
存储:JSON 模拟 Redis list(
vuln_memory_data/instant/) -
容量:约 8000 字符量级,溢出保留最近 60%
-
认知步:
-
add写入 -
classify产出 LOP 深浅分级 prompt -
模型标记
【HIGH】/【LOW】 -
commit-classify:HIGH 进工作记忆,LOW 丢弃,瞬时缓冲清空
-
L2 工作记忆(working.py)
Baddeley 四组件简化实现:
| 组件 | 键 | 作用 |
|---|---|---|
| 文本环路 | work:text:{session} |
深层文字线索,最多 15 条 |
| 视空画板 | work:img:{session} |
截图/拓扑/界面文字描述 |
| 情景缓冲 | work:buffer:{session} |
融合后的场景摘要 |
| 中央执行 | CLI/Agent | 由 Claude 驱动融合节奏 |
-
fusion产出融合 prompt(目标资产 / 攻击面 / 已确认线索 / 待验证假设) -
commit-fusion写入缓冲并自动向量化入短时层,同时清空 text/img 临时区
L3 短时向量记忆(shortterm.py)
-
职责:场景摘要、阶段性结论的语义召回
-
有效期:7 天(
SHORT_MEM_EXPIRE) -
衰减:
expire-clean清理过期 + 权重衰减(艾宾浩斯风格) -
向量化:
-
默认
HashingEmbedder(MD5 哈希 TF,512 维,零依赖,中英混合切词) -
可选
sentence-transformers/all-MiniLM-L6-v2(环境变量VULNMEM_EMBED=sentence_transformers)
-
-
API:
save-short/recall-short
L4 长时图谱记忆(longterm.py)
-
职责:海马蒸馏 → 实体-关系-实体 知识图谱
-
存储:networkx + JSON(
vuln_memory_data/longterm/),对标 Neo4j -
流程:
-
distill收集全部短时内容,出蒸馏 prompt -
模型输出 JSON 数组
-
commit-kg写入图谱 -
recall-long/ 综合recall做跨目标永久召回
-
推荐实体类型:Target / Asset / Service / Vuln / CVE / Payload / Pattern / Sink / Fix / Tool / Condition / Filter 等。
重要约束:图谱应存可复用模式,不要把具体 IP、密码等敏感细节固化进长期知识。
4.4 存储后端设计(backends.py + config.py)
为了「Windows 也能开箱即跑」:
| 概念组件 | 文件级实现 | 可替换接口 |
|---|---|---|
| Redis list/string | FileKVBackend JSON |
RedisLikeBackend |
| FAISS 向量 | VectorIndex(numpy/list + meta) |
可接 faiss-cpu |
| Neo4j 图 | GraphStore networkx + kg.json |
可接 py2neo |
requirements.txt 明确:默认无需安装任何包。可选增强:
-
sentence-transformers -
networkx -
以及真实中间件:
redis/faiss-cpu/py2neo/ langchain 等
4.5 CLI 命令全表
统一入口:
python vulnmem.py <cmd> [options]
# 或
python -m vuln_memory.cli <cmd>
所有命令输出 JSON,便于 Agent 解析。大段内容用 --content -(stdin)或 --file PATH。Windows 中文建议:PYTHONIOENCODING=utf-8。
| 命令 | 作用 | 谁思考 |
|---|---|---|
add |
写原始观察到瞬时层 | 存储 |
classify |
出 LOP 分级 prompt | 模型 → commit-classify |
commit-classify |
回写 HIGH/LOW | 存储 |
fusion |
出场景融合 prompt | 模型 → commit-fusion |
commit-fusion |
场景摘要 → 短时层 | 存储 |
save-short |
直接存短时 | 存储 |
recall-short |
短时向量召回 | 存储 |
distill |
出实体关系蒸馏 prompt | 模型 → commit-kg |
commit-kg |
写知识图谱 | 存储 |
recall-long |
长时图谱召回 | 存储 |
recall |
短时+长时综合 = 挖洞上下文 | 存储 |
reinforce |
召回 + 强化摘要 prompt | 模型可选回写 |
expire-clean |
过期清理 + 衰减 | 存储 |
status |
各层状态 | 存储 |
save-state |
项目工作流断点 | 存储 |
load-state |
载入断点 | 存储 |
sessions |
列出有状态的会话 | 存储 |
会话约定:同一目标用同一 --session,如 target_demoapp;学习文章用 study_<主题>。
4.6 Agent 编排(agent.py)
HumanLikeMemoryAgent 把一轮典型流程固化为:
observe → classify → commit_classify
→ fusion → commit_fusion
→ recall(推进挖洞)
→ distill → commit_kg(结论固化)
CLI 是该类的命令行映射;业务逻辑不绑死外部 LLM SDK。
4.7 挖洞各阶段记忆节奏
| 阶段 | 记忆动作 |
|---|---|
| 开工 | recall 拉历史经验,避免重复踩坑 |
| 侦察 | 观察 add;攒批后 classify → commit-classify |
| 分析 | fusion → commit-fusion;中途 recall-short |
| 利用 | PoC 前 recall;结论 save-short |
| 固化 | distill → commit-kg |
| 收尾 | expire-clean;status |
4.8 工具使用原则(CLAUDE.md)
文档中列举了一套本地工具触发表(sqlmap、nuclei、SSRFmap、Gopherus、XSStrike、Arjun、dirsearch、ffuf、EHole、JSFinder、httpx、whatweb、SpringBoot-Scan、jwt_tool、Nmap、hashcat 等)。
原则:
-
工具由思考触发,不是起手全扫
-
禁止一上来 nuclei/dirsearch 扫完等结果
-
思考 → 触发 → 验证
-
工具结果必须再分析,不能当结论
(注意:工具本体不一定随本仓库分发,需用户自备 tools/ 环境。)
4.9 自定义 Slash 命令与 Skills
/vuln-recall <词>
开工或换阶段时一键召回历史经验。
/stop [备注]
暂停挖洞:
-
必要时先完成 classify + fusion
-
整理进度 JSON(target/phase/completed/pending/hypotheses/next/context/note)
-
save-state -
告知用户续挖指令:
recall+load-state
状态文件:vuln_memory_data/project/<session>.json。
/study <文件|URL|主题>
学技术文章并固化:
-
读全文或抓取
-
提炼核心技法、可复用模式、坑、实体
-
save-short进短时 -
抽三元组
commit-kg -
recall验证
/sub(skill: vuln-sub)
项目完结蒸馏:
-
汇总成果
-
distill → 模型抽三元组
-
commit-kg
-
save-short 补充自然语言经验
-
输出图谱规模与 3–5 条核心经验
强调:失败经验同样重要。
/report(skill: vuln-report)
生成 reports/<目标>_<日期>.md,结构强制包含:
-
基本信息
-
漏洞总描述 + URL 列表
-
攻击链总览
-
漏洞列表(高→中→低)
-
描述、评级与依据、挖掘思路 0x01–0x05、Burp 原始包、量化危害、修复建议
-
-
关键教训
-
未发现漏洞的测试点(失败原因)
硬规则摘要:
-
无 PoC / 无落地危害 → 不计入
-
请求统一 Burp Repeater 原始 HTTP,禁止 curl
-
危害用实际数据量化
-
同根因多入口合并
-
严格引用
漏洞等级标准.md
4.10 漏洞等级标准(执行版)
文件:漏洞等级标准.md
总原则:只看已举证的实际危害;无利用链证据不计入;同根因合并;冲突以证据为准。
高危(举例门槛)
-
RCE / webshell / 反序列化打通 / SSTI·XXE 落地执行
-
大批量真实敏感数据
-
支付/资金逻辑可改
-
SQLi 拖库或 os-shell
-
重置管理员并进入有敏感能力后台
-
云凭证验证可用
-
认证体系整体绕过
中危
-
一般 SQLi(证明注入但未拖敏感)
-
重置普通用户 / 存储 XSS / 任意文件读写删(未到 shell)
-
IDOR 改他人核心资源
-
敏感文件含可用口令且验证连通
-
后台弱口令
-
SSRF 打内网但未升 RCE
低危
-
有限暴露面未授权服务
-
非关键信息泄露
-
轰炸/无频控
-
需配合的反射 XSS
-
非核心 CSRF / Cookie 属性缺失等
明确「不计入」
-
安全头缺失、弱 TLS、版本头、robots 等配置噪音
-
扫描器套话、未验证 CVE
-
不现实利用条件
-
合规话题(隐私政策措辞等)
每条报告漏洞最低举证:复现步骤、证据、实际危害说明、判级依据。
4.11 典型使用流程示例
# 1. 开工召回
python vulnmem.py recall --session target_shop --query "Java Spring 上传 SSRF"
# 2. 侦察观察写入
echo "发现 /api/v2/upload 未鉴权,后端 Tomcat" | \
python vulnmem.py add --session target_shop --role user
# 3. 分级
python vulnmem.py classify --session target_shop
# …模型产出带【HIGH】/【LOW】文本…
printf '%s' '【HIGH】...【LOW】...' | python vulnmem.py commit-classify --session target_shop
# 4. 融合
python vulnmem.py fusion --session target_shop
printf '%s' '目标: shop | 攻击面: 上传...' | python vulnmem.py commit-fusion --session target_shop
# 5. 利用前再召回
python vulnmem.py recall --session target_shop --query "上传绕过 路径穿越"
# 6. 结项蒸馏
python vulnmem.py distill
printf '%s' '[{"type":"Vuln","entity1":"...","relation":"...","type2":"Target","entity2":"..."}]' \
| python vulnmem.py commit-kg
# 7. 暂停
# /stop 今晚先到这
4.12 vuln-hunter 总结
| 维度 | 评价 |
|---|---|
| 适合谁 | 长期挖洞、需要跨目标经验复用、用 Claude Code 作为「大脑」的研究者 |
| 强项 | 四层记忆、零依赖可跑、结项蒸馏、严格评级与教学式报告 |
| 弱项 | 不自带完整 Web 状态机;工具链需自备;记忆质量完全依赖模型自律 |
| 与 skill1 | 可同时用:skill1 管覆盖与交付,vuln-hunter 管经验与续挖 |
| 与 hunter-skills | hunter 提供专项手法;vuln-hunter 把用过的手法蒸馏成可召回知识 |


















请登录后查看评论内容