dinosn/raptor-loop-hunt

GitHub: dinosn/raptor-loop-hunt

一个 Claude Code 安全审计 skill,通过多高度循环生成、对抗性验证和持久化账本机制,自动化深度挖掘代码库中的安全漏洞。

Stars: 113 | Forks: 11

# raptor-loop-hunt 一个针对代码库的自动化、循环、多高度**安全漏洞搜寻**工具,被打包为一个 Claude Code **skill**。它用一种明确的搜索流程取代了模型默认的“单次扫描、总结、停止”行为:遍历每个高度,生成候选漏洞,从*原始源代码*出发对其进行对抗性验证,运行隔离的并行推理器,并维护一个持久化账本,从而确保每一次循环都是全新的覆盖,而不是重复发现。在实践中,它比单次扫描能发现多得多的真实漏洞—— 即“Karpathy 自动研究”方法论。 每当你将 Claude 指向源代码并希望寻找漏洞时(例如“审计这个”、“找出每个 bug”、“对它进行安全审查”、“找出任何可利用的漏洞”),它就会被触发。 ## 安装 **作为插件——无需克隆。** 添加市场并安装;Claude Code 会为你获取它: ``` /plugin marketplace add dinosn/raptor-loop-hunt /plugin install raptor-loop-hunt@raptor ``` 然后 `/reload-plugins`(或重启)。该 skill 会在审计请求时自动触发,你也可以直接调用它。 **或者将其作为个人 skill 放入**——克隆到你的 Claude Code skills 目录中,它会在下次会话时被自动发现: ``` git clone https://github.com/dinosn/raptor-loop-hunt ~/.claude/skills/raptor-loop-hunt ``` ## 使用 显式调用它: ``` /raptor-loop-hunt ``` ……或者只需描述一个审计任务(“审计 ./src 的安全性”、“找出此服务中所有可利用的 bug”),该 skill 就会自动触发。你可以将它指向一个 repo、一个服务、一个模块或一个目录。 ## 它的功能 - **多高度生成→判定→验证循环。** 在每个高度(从整个系统到单个函数)生成候选漏洞,然后从原始源代码出发对其进行*对抗性*判定和验证—— 绝不仅凭生成器自身的总结。 - **隔离的并行推理器**,确保独立的发现之间不会相互污染。 - **单调递增审查知识库**(`raptor-loop-kb`),它在多次运行中只能*提高*审查力度,绝不会降低——每一次循环都是全新的覆盖,而非重复发现。 - **处置账本**(`raptor-loop-ledger`)——一个基于测试任务范围的状态机,它根据证据凭证验证每一次处置状态转换(确认 / 拒绝 / 降级 / 清理),因此真实的 bug 不会被悄悄拒绝,严重的发现也不会被粉饰降级为低危。 - **执行授权代理**(`raptor-loop-exec`)——实时 PoC 命令仅在类型化的最小权限能力授权下运行。 - **评估陷阱阵列**(`eval/`)——11 个确定性的、由编排器驱动的测试维度(召回率、 抗误报、错误拒绝、伪造证据、覆盖率诚实度、严重性降级完整性等)。 **Prompt 即程序。** 在 Agent 系统中,模型的“算法”就是你告诉它去执行的内容;这个 skill 明确指定了该算法。其质量来源于结构,而非任何单一聪明的指令。 ## 目录结构 | 路径 | 用途 | |------|---------| | `SKILL.md` | Skill 本身——方法论、高度划分、生成→判定→验证循环、严重性评级标准。 | | `references/vuln-class-discovery.md` | 叶子节点级别的各类漏洞搜索流程(源 → 汇 → 预言机 → 变体)。 | | `references/kb-schema.md` | 单调递增审查的跨运行知识库的 Schema 与存储。 | | `references/ledger-schema.md` | Schema + 处置时的转换门控(候选账本 + 证据凭证)。 | | `scripts/raptor-loop-kb` | 确定性的跨运行 KB 助手(只能永远提高搜寻审查力度)。 | | `scripts/raptor-loop-ledger` | 候选状态机——根据证据凭证验证每一次处置。 | | `scripts/raptor-loop-exec` | 执行授权代理——用于实时 PoC 的最小权限沙箱方案。 | | `scripts/test-*` | 独立测试(无需网络,无外部导入)。 | | `eval/` | 11 维度的陷阱阵列。 | 这些脚本是纯标准库 Python 且独立的;当存在宿主环境的 RAPTOR 检出(`RAPTOR_DIR`)时,执行代理可选择使用其沙箱, 否则拒绝运行实时命令。 ## 战绩记录 **迄今为止:在 40 多个真实世界的代码库中发现了 200 多个已验证的漏洞(2025 年 12 月 – 2026 年 7 月)。** 在针对 C 语言网络守护进程、消息代理、路由协议栈、Web 应用、语言运行时和媒体库的运行中,该 skill 在其中大部分项目中暴露了原始的、已验证的漏洞。发现的结果仅按标题和类别列出;**漏洞利用机制和 PoC 已隐去**,并且结果均按其实际强度陈述(已证实的 DoS 不会被称为 RCE;未武器化的原语会被如实标记)。所有漏洞均已报告给或已与相应的供应商/维护者沟通。 ### 原始发现 | 目标 | 已验证的最高级别结果 | 类别 | 状态 | |--------|--------------------------|-------|--------| | memcached | 认证前堆缓冲区溢出,默认配置,客户端可达 | memory-corruption | 已在上游修复,发现者获致谢 | | Immich | 未授权恢复端点 → OS 命令执行 RCE(容器 root)+ 破坏的授权 / IDOR 集群 | authz / command-exec | 已披露 | | RustDesk (客户端 + 服务端) | 恶意主机文件传输路径遍历 → 控制器上的 RCE;安全通道 / 持久 ID 劫持原语 | path-traversal / crypto | 已报告 | | Samba 4.25 (master) | 2× 认证前 memory-corruption 崩溃(DNS TSIG 下溢;LDAP 类型混淆)— 达到 DoS 级别 | memory-corruption | 已报告 | | Apache Kafka (trunk / 4.0.0) | 认证前机密/文件泄露 + 静态初始化 RCE 类原语 | authz / code-load | 已报告 | | FRR (master) | 认证前 EIGRP 身份验证绕过 + 经 ASAN 证实的 FPM 栈溢出 | auth-bypass / memory-corruption | 已报告 | | Redis (unstable / 8.8.0) | 认证前 AUTH/ACL 绕过 + RCE 级别原语(未武器化为完整 shell) | auth-bypass / memory | 已报告 | | Linux XDP zero-copy | `xdp_build_skb_from_zc` 中的 OOB 过度拷贝;在仪表化测试台上已演示 root RCE | memory-corruption | 已报告 | | Apache ActiveMQ 5.19.6 | 认证后的 RCE + 多个 authz-bypass / IDOR 原语(包含一个认证前的连接断开) | authz / deser | 已报告 | | LimeSurvey 7.0.1 | 未授权的基于时间的 SQL 注入 + zip-slip → webroot RCE | injection / path-traversal | 已报告 | | Apache Axis 1.x / 2 | 未授权的反序列化 RCE(实验室证实) | deserialization | 已报告 | | Apache Tomcat 12 (dev) | 未授权的盲 SSRF / DNS 窃取(中危) | SSRF | 已报告 | | Quagga 1.2.3 / 1.2.4 bgpd | 认证前栈 OOB 写入 + use-after-free(已确认 DoS) | memory-corruption | 已报告 | | llama.cpp | 认证前进程崩溃 DoS(推测可升级为 RCE,但未证实) | memory-safety | 已报告 | | Fastjson 1.2.83 | RCE(实验室证实) | deserialization | 已公开 | | Pillow 12.3.0 | 盲校准运行:重新发现了真实的堆 OOB 写入 + 4 个全新的 ASan 确认的 bug | memory-corruption | 已报告 | **强调对抗性严谨度,而不仅仅是召回率。** 循环中的判定/验证部分是为了*反驳*而构建的,因此它也会扼杀糟糕的发现:它实时驳斥了一个捏造的认证前 RCE 利用包,并将一个夸大的公开“ASLR 绕过”纠正为实际可复现的程度。 ### 已复现/验证的公开 CVE 独立的实验室、PoC 和补丁分析——针对已公开问题的验证,而非原始发现: | ID | 组件 | 类别 | 备注 | |----|-----------|-------|-------| | CVE-2026-42588 / -42253 | Apache ActiveMQ | Jolokia → XBean RCE;header-injection / XSS | 端到端复现 | | CVE-2026-15583 | Grafana MCP (`mcp-grafana` ≤ 0.17.1) | confused-deputy SA-token 窃取 | 已复现;已在 0.17.2 修复 | | CVE-2026-20230 | Cisco CUCM 14 / 15 | 认证前 SSRF → Axis 1.4 → JSP webshell | 已复现(野外利用链) | | CVE-2026-4282 | Keycloak < 26.5.7 | PAR `request_uri` → 伪造 OAuth code → admin token | 实验室 A/B 验证 | | CVE-2024-21182 | Oracle WebLogic 12.2.1.4 / 14.1.1 | T3 / IIOP JNDI-injection RCE | 已复现;公开的实验室 repo | | CVE-2025-13673 | Tutor LMS (WordPress) ≤ 3.9.7 | 通过 `coupon_code` 的未授权 SQLi | UNION 利用 + Docker 实验环境 | | MDEV-39493 (ZDI-CAN-30333/4) | MariaDB ≤ 11.4.10 | 通过 CTE `INTO OUTFILE` 的 FILE-priv 绕过 | 已复现;已在 11.4.11 修复 | | CVE-2026-6479 | PostgreSQL | 认证前 SSL/GSS 无界递归 (DoS) | 已复现(需要 `-O0` 构建) | | ZDI-CAN-30607 | dnsmasq | `find_soa()` 越界读取 | ASan 确认 + 22 处站点变体扫描 | | CVE-2026-4176 | Perl `Compress::Raw::Zlib` ≤ 2.219 | `crc32_combine` DoS | 已复现;可达性评估为低 | | CVE-2026-27654 | nginx (WebDAV COPY/MOVE) | 堆溢出 | 已复现;已在 1.29.7 修复 | | CVE-2026-42945 (Rift) | nginx | 原语恢复链 | 部分复现;纠正了公开的 ASLR-bypass 描述 | | CVE-2026-35273 | Oracle PeopleSoft (PSEMHUB) | 未授权 SSRF → XXE → webshell | 仅分析(JAR 补丁差异对比) | ## 使用范围 仅限用于防御性安全研究、教育以及授权的渗透测试。
标签:AI安全工具, Claude Code插件, Cutter, 逆向工具