DeepZero
YAML 声明式流水线 + AI Agent,自动化挖掘 Windows 内核驱动可利用 IOCTL
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
YAML 声明式流水线 + AI Agent,自动化挖掘 Windows 内核驱动可利用 IOCTL
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
图1:DeepZero 项目标志
想象一下:一个安全研究员坐在工位前,面对堆积如山的 Windows 内核驱动二进制文件——每个文件平均数千行汇编代码,手工分析一个驱动平均需要数天时间。而攻击者只需要找到一个漏洞就能突破系统防线。这就是漏洞研究领域长期存在的不对称困境:攻方找到任意一个可利用的漏洞就足够了,而守方必须找出所有漏洞。
DeepZero 的出现正在改变这场游戏。它是一款开源的 AI 驱动漏洞自动化挖掘框架,专注于在 Windows 内核驱动程序中发现可利用的 IOCTL(输入/输出控制)漏洞。开发者只需要一条 YAML 配置文件,DeepZero 就能自动完成从语料收集、二进制解析、反编译到 LLM 智能评估的全流程——让安全研究在"睡眠时间"也能持续运转。
BYOVD(Bring Your Own Vulnerable Driver,携带自有漏洞驱动)攻击已经成为勒索软件组织和国家级 APT 的标配手段。攻击者不需要自己编写内核级漏洞,而是利用已经安装在目标系统上的合法驱动中的漏洞,以这些驱动为跳板获得内核级代码执行权限。
安全社区为此建立了 LOLDrivers(Lots of Vulnerable Drivers)数据库,专门收录存在漏洞的内核驱动,已成为防御方的重要参考资源。DeepZero 的旗舰用例——LOLDrivers Pipeline——巧妙地将该数据库作为"排除名单",专门分析尚未被收录的驱动,也就是潜在的零日候选。
作者 416rehman 是一位专注于二进制安全研究的安全工程师,在 kernel 逆向工程领域有深厚积累。项目主页(http://blog.ahmadz.ai/DeepZero/)记录了详细的架构设计思路和研究动机,展示了如何将 LangChain Agent 范式与漏洞研究流水线结合的完整思考。
DeepZero 的核心设计哲学是流水线即代码(Pipeline-as-YAML)。传统安全工具链往往是分散的:IDA Pro 做逆向、Semgrep 做静态扫描、LangChain 做 LLM 调用——每个工具独立运行,靠 bash 脚本串联。这种方式脆弱且难以复现。
DeepZero 将整个分析流程抽象为一条声明式流水线,开发者只需编写 YAML 配置文件,声明每个阶段的处理器类型、并行度、失败策略等,引擎自动处理编排、并行执行、容错和状态持久化。这种设计让漏洞研究流程变得可审计、可复现、可分享。
项目采用模块化架构,核心代码位于 src/deepzero/ 目录下:
engine/:流水线引擎核心,包含 pipeline.py(流水线定义)、runner.py(执行引擎)、stage.py(阶段调度)、state.py(原子状态持久化)、context.py(上下文管理)stages/:内置处理器,包括 filter.py(数据过滤)、ingest.py(数据摄取)、llm.py(LLM 调用封装)、top_k.py(Top-K 选择)api/:实验性 REST API,基于 Starlette + Uvicorn 构建项目还提供了 4 个外部处理器作为示例:GHIDRA 无头反编译器、LOLDDrivers.io 哈希排除过滤器、PE 头解析器,以及 Semgrep 批量扫描器。
图2:DeepZero 终端运行界面
LOLDrivers Pipeline 是项目默认的旗舰分析流水线,包含 7 个精心设计阶段:
阶段 1 - 语料发现(Ingest):通过 pe_ingest 处理器扫描指定目录下的 .sys 文件,解析 PE 头提取驱动元数据(子系统类型、导入表等),只保留内核驱动( subsystem_filter=1)。
阶段 2 - 内核过滤(Kernel Filter):使用内置 metadata_filter 处理器,筛选出同时满足「是内核驱动」且「具有 IOCTL 攻击面」条件的样本,按 SHA256 去重。
阶段 3 - LOLDrivers 排除(LOLDdrivers Filter):调用 loldrivers_filter 处理器,联网查询 loldrivers.io API,将已在数据库中的已知漏洞驱动排除——这是 DeepZero 实现"零日发现"的关键设计,确保研究资源集中在未知候选上。
阶段 4 - GHIDRA 反编译(Decompile):这是流水线中最重的阶段。ghidra_decompile 处理器调用 GHIDRA headless 模式,对每个驱动执行控制流分析,提取所有函数并保存反编译伪代码。需要配置 GHIDRA_INSTALL_DIR 和 JAVA_HOME 环境变量。
阶段 5 - Semgrep 扫描(Semgrep Scanner):运行 Semgrep 批量扫描,使用自定义规则集(位于 pipelines/loldrivers/rules/)在反编译代码中寻找漏洞模式。规则针对内核驱动的常见危险操作(如 memcpy、MmMapIoSpace 等)编写。
阶段 6 - Top-10 候选精选(Top-K):按 Semgrep 发现数量降序排列,保留 Top 10 最有价值的候选进入最终分析阶段,控制 LLM 调用成本。
阶段 7 - LLM 深度评估(LLM Assess):这是最关键也是最智能的阶段。通过 Jinja2 模板(assessment.j2)构造专家级提示词,调用 LLM(默认使用 Google Vertex AI 的 Gemini-2.5-Pro)进行深度漏洞可利用性分析。提示词包含严格的分析规则,要求 LLM 必须追溯数据流,证明用户输入可控,并排除硬件依赖、PnP 初始化等不可达路径,最终输出 [VULNERABLE] 或 [SAFE] 判断。
DeepZero 基于 Python 3.11+ 开发,核心依赖极为精简:click(CLI)、rich(终端 UI)、pyyaml(Jinja2 配置)、jinja2(模板引擎)、python-dotenv(环境变量)。可选依赖分为三组:
full:包含全部可选功能(LLM + API + PE解析)llm:通过 LiteLLM 支持任意 LLM 提供商(OpenAI GPT、Anthropic Claude、Google Gemini、OpenRouter 等)pe:使用 LIEF 库解析 PE 文件头serve:Starlette + Uvicorn 提供实验性 REST APILLM 集成通过 LiteLLM 抽象层实现,这是一种标准的"多后端 LLM 统一接口"方案,支持超过 50 种模型提供商的统一调用。DeepZero 默认使用 Vertex AI 的 Gemini-2.5-Pro,但在 assessment.j2 模板中特别针对 Gemini 的上下文窗口特点(max_context_tokens: 900000)做了优化。
基础安装非常友好:一条 pip install -e . 即可完成核心安装,支持 Python 3.11 和 3.12。GitHub Actions CI 覆盖了这两个版本,稳定性有保障。
进阶功能有一定门槛:LLM 分析需要配置 API 密钥(.env 文件支持 Gemini、OpenAI、Anthropic、OpenRouter 等多种后端);GHIDRA 反编译需要额外安装 GHIDRA(约 1GB)和 JDK 17+;Java 环境配置在不同平台上有细微差异。
并行度可配置:每个阶段可独立设置 max_workers 参数,控制 ThreadPoolExecutor 的并发数量。GHIDRA 反编译默认单线程(parallel=0),因为 GHIDRA 本身已高度 CPU 密集。
可恢复性是亮点:DeepZero 将每个样本的分析状态原子化写入磁盘(work/ 目录),遇到 Ctrl+C 中断后重新运行可从断点恢复,不需要从头开始。
DeepZero 并非万能。首先,它只支持 Windows 内核驱动分析,对 macOS/Linux 内核模块或其他固件类型没有直接支持。其次,GHIDRA 反编译阶段是整个流水线最大的时间瓶颈——单个驱动的反编译可能需要数分钟,处理数千个驱动时整体耗时可达数十小时。
LLM 评估阶段依赖提示词工程的质量,assessment.j2 中的分析规则虽然详尽,但仍然存在误报和漏报的可能——DeepZero 的设计初衷是辅助研究而非完全替代人工审计。此外,项目目前没有 Docker 支持,在不同系统环境下的依赖配置(尤其是 Java 环境)可能造成新手困扰。
最后,实验性 REST API 意味着目前 DeepZero 仍是一个面向研究人员的命令行工具,还没有成熟的 Web UI 或可视化分析界面。
DeepZero 代表了 AI + 安全研究交叉领域的一个明确方向:用 LLM 替代人工在二进制分析中的重复劳动。传统上,漏洞研究员的日常工作有大量时间消耗在"读代码、判断是否可控"的重复劳动中,DeepZero 通过流水线自动化和 LLM 评估将这部分工作规模化。
从项目数据看,DeepZero 获得了 584 个 GitHub Stars 和 76 个 Fork,在漏洞研究工具中属于增长较快的新兴项目。19 个 Topics 覆盖了从 AI Agent 到逆向工程的完整技术栈,表明该项目吸引了多个社区的关注。MIT 许可证允许商业使用,有利于在企业安全团队中推广。
DeepZero 是一款将 AI Agent 范式成功落地到二进制安全研究领域的创新框架。它通过 YAML 声明式流水线将漏洞研究流程标准化,用 GHIDRA 处理二进制分析、用 Semgrep 做规则扫描、用 LLM 做可利用性判断,形成了完整的自动化漏洞挖掘工作流。对于安全研究员而言,DeepZero 是一个值得关注的效率工具;对于 AI 开发者而言,它展示了如何将 LLM 能力嵌入到专业领域工作流中的工程范式。