导语:漏洞研究从来都是体力活——找样本、跑工具、分析结果,一套流程下来研究员恨不得长出八只手。现在,一个名为 DeepZero(深度零号)的开源框架试图把这些重复工作全部自动化,用 YAML 流水线把大模型和各类分析工具串联起来,实现”睡觉时也能挖漏洞”。国内安全团队值得高度关注。
一、项目概述
DeepZero(深度零号)是一个高度并发的自动化漏洞研究流水线引擎,由安全研究员 416rehman 开发维护。其核心设计理念是:漏洞研究即流水线,研究员只需用 YAML 定义数据处理流程,DeepZero 自动完成并行编排、状态持久化和故障恢复。
该项目并非另一个”AI 漏洞扫描器”——它本身不执行漏洞检测,而是作为编排层,将 Ghidra(反编译器)、Semgrep(静态分析)、LiteLLM(大模型调用)等工具组合成可复用、可中断、可恢复的研究流水线。
GitHub 地址:github.com/416rehman/DeepZero,支持 Python 3.11+,采用 MIT 许可证开源。
二、核心特性解析
2.1 流水线即 YAML
DeepZero 最大的卖点是声明式流水线定义。研究员在 YAML 文件中描述数据从”原始文件”到”可利用性评估”的完整路径,定义各阶段(stage)的输入输出和处理逻辑。
# 流水线示例:LoLDrivers 内核驱动漏洞研究
stages:
- name: ingest_pe # 阶段1:PE文件解析与元数据提取
type: IngestProcessor
- name: filter_hash # 阶段2:排除已知安全驱动哈希
type: MapProcessor
- name: ghidra_decompile # 阶段3:Ghidra headless 反编译
type: MapProcessor
- name: semgrep_scan # 阶段4:Semgrep 规则批量扫描
type: BulkMapProcessor
- name: llm_assess # 阶段5:大模型评估可利用性
type: MapProcessor
这种设计的优势在于:流水线本身是代码化的文档,新成员接手项目时无需阅读晦涩的脚本,阅读 YAML 即可理解整个分析流程。
2.2 海量并行处理
漏洞研究的一个核心瓶颈是吞吐量——一个 Snappy Driver Installer(SDI)镜像包动辄包含数万个驱动文件,逐个分析根本不现实。
DeepZero 内置 ThreadPoolExecutor(线程池执行器),支持在流水线每个阶段配置并发数:
- PE 解析阶段:16 并发,充分利用多核 CPU
- Ghidra 反编译阶段:4 并发,Ghidra headless 进程较重
- 大模型评估阶段:2 并发,控制 API 调用频率和成本
官方实测:在配备 8 核 CPU 的机器上,对包含 5000+ 驱动文件的 SDI 镜像包完成完整流水线分析,总耗时约 3 小时(不含大模型 API 调用时间)。
2.3 可中断、可恢复
长时间运行的漏洞研究任务最怕什么?断电、OOM、按错 Ctrl+C。
DeepZero 在磁盘上为每个样本维护原子状态文件(atomic per-sample state)。流水线中断后,重新运行相同命令,引擎自动从上次中断的阶段恢复,继续处理剩余样本——不会丢失任何一个样本的分析结果。
2.4 大模型驱动可利用性评估
传统静态分析工具只能告诉我们”这里有个问题”,但无法判断”这个问题能不能被利用”。DeepZero 在流水线末尾集成大模型(通过 LiteLLM 支持任意 LLM 提供商),用 Jinja2 模板定义提示词,让 AI 判断 IOCTL 调用的可利用性并给出风险评分。
# assessment.j2 示例提示词
分析以下 Windows 内核驱动 IOCTL 调用:
设备名称:{{ device_name }}
IOCTL 代码:{{ ioctl_code }} (0x{{ ioctl_hex }})
调用路径:{{ call_trace }}
驱动版本:{{ driver_version }}
请评估该 IOCTL 是否可能被低权限用户利用来提升权限或实现代码执行,并给出 0-10 的风险评分。
三、开箱即用的处理器
DeepZero 源码自带多个可直接使用的处理器(processor),覆盖内核驱动分析的完整链路:
| 处理器 | 类型 | 功能 |
|---|---|---|
| pe_ingest | IngestProcessor | PE 头解析,提取驱动元数据、入口点、导入表 |
| loldrivers_filter | MapProcessor | 排除 loldrivers.io 已收录的安全驱动哈希 |
| ghidra_decompile | MapProcessor | Ghidra headless 反编译,提取函数调用图 |
| semgrep_scanner | BulkMapProcessor | 批量运行 Semgrep 规则,检测危险代码模式 |
这些处理器既是功能组件,也是开发自定义处理器的参考实现。编写自定义处理器只需继承 MapProcessor 或 IngestProcessor 基类,在 YAML 中通过路径引用即可集成进流水线。
四、架构设计
DeepZero 代码结构清晰,分为三个核心模块:
src/deepzero/
├── engine/ # 流水线编排、状态持久化、并发控制
├── stages/ # 内置处理器(map、reduce、ingest)
└── api/ # REST API(实验阶段,支持 HTTP 查询运行状态)
REST API 模块目前标记为 WIP(Work In Progress),但已可查询样本状态和流水线运行数据,未来有望支持远程调度和结果拉取。
五、快速上手
安装 DeepZero 仅需三步:
git clone https://github.com/416rehman/DeepZero.git
cd DeepZero
pip install -e .
配置大模型 API(支持 OpenAI、Anthropic、Azure OpenAI 等任意 LiteLLM 提供商):
cp .env.example .env
# 编辑 .env,填入 API Key
运行自带的 LoLDrivers 漏洞研究流水线:
deepzero run C:drivers -p .pipelinesloldriverspipeline.yaml
完整分析一个 SDI 驱动包并导出可利用性评估报告,整个过程完全自动化。
六、对国内安全团队的意义
DeepZero 的出现填补了国内自动化漏洞研究工具链的一个空白:
- 提高效率:过去需要研究员手动操作的分析流程,现在可以 7×24 小时不间断运行
- 降低门槛:YAML 流水线的学习曲线远低于编写独立的自动化脚本
- 可复用性:社区共享的流水线模板可以快速复用到类似研究任务中
- 大模型协同:弥补了传统静态分析工具”能发现问题但不能判断危害程度”的短板
对于拥有独立漏洞研究团队的企业而言,DeepZero 可以作为内部漏洞挖掘平台的基础设施;对独立安全研究员而言,它也是提升个人产能的利器。
七、总结
DeepZero 不是一个”一键挖洞”的魔法工具——它本质上是一个工作流编排引擎,价值取决于使用者的研究深度。但它确实做到了:让漏洞研究从手工作坊进化为流水线工厂。
“Find zero-days while you sleep”——这句项目 slogan 精准概括了它的野心。对于愿意投入时间构建流水线的安全研究员来说,DeepZero 确实有望让漏洞挖掘这件事变得更加系统化、规模化。
项目地址:https://github.com/416rehman/DeepZero
文档地址:https://blog.ahmadz.ai/DeepZero/
版权声明:本文由华盟网原创发布,保留所有权利。配图由华盟网授权使用。














暂无评论内容