DeepZero — 自动化漏洞研究流水线引擎

导语:漏洞研究从来都是体力活——找样本、跑工具、分析结果,一套流程下来研究员恨不得长出八只手。现在,一个名为 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_ingestIngestProcessorPE 头解析,提取驱动元数据、入口点、导入表
loldrivers_filterMapProcessor排除 loldrivers.io 已收录的安全驱动哈希
ghidra_decompileMapProcessorGhidra headless 反编译,提取函数调用图
semgrep_scannerBulkMapProcessor批量运行 Semgrep 规则,检测危险代码模式

这些处理器既是功能组件,也是开发自定义处理器的参考实现。编写自定义处理器只需继承 MapProcessorIngestProcessor 基类,在 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/

版权声明:本文由华盟网原创发布,保留所有权利。配图由华盟网授权使用。

© 版权声明
THE END
喜欢就支持一下吧
点赞5 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容