Agent Skills
返回列表
💻

崩溃分析与可利用性评估

开发编程 更新于 2026.08.30

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/crash-analysis-lr-whce 到当前 AI 助手。

技能介绍

为什么要先做崩溃分诊

在漏洞开发的 Fuzzing 阶段,你通常会得到大量崩溃样本。如果只是把 crash.dmp 丢给安全团队,很难判断这是可利用的内存破坏,还是仅仅是缺少空指针检查。

本技能的目标是把模糊的崩溃报告转化为结构化的技术判断:崩溃发生在哪个模块?指令指针(RIP/EIP)落在了哪里?是栈溢出还是堆喷射?

核心能力与执行流程

本技能提供了一套标准化的崩溃分诊流程,强制你逐项验证,而不是凭直觉猜测。

  • 环境构建与加载:配置 WinDbg 或 GDB 作为基础分析环境,根据目标进程加载符号表。
  • 运行时检测输出解读:解析 ASAN(AddressSanitizer)或 MSan(MemorySanitizer)的报错日志,快速定位越界读写或未初始化内存访问的具体行号。
  • 寄存器与栈追踪分析:阅读寄存器转储(Register Dump)和调用栈(Stack Trace),回溯触发崩溃的代码路径,识别可控的函数参数或返回地址。
  • 根因定位与可利用性评估:区分访问违例(Access Violation)与空指针解引用(Null Pointer Dereference),评估该崩溃是否能转化为受控执行。

适用边界与注意事项

  • 需要原始环境:分析器无法凭空工作,你必须提供与崩溃样本编译版本一致的符号文件(PDB)和可重现的运行环境。
  • 覆盖有限:本技能侧重于 Windows 和 Linux 平台的内存安全漏洞分析,不涉及内核态漏洞或特定架构(如 ARM)的底层硬件级调试。
  • 本质是分析工具:它能告诉你哪里坏了以及坏得有多严重,但编写具体的 Shellcode 或 ROP 链仍需人工完成。

使用场景

  • 漏洞验证团队收到模糊测试生成的崩溃样本,需要定位是内存破坏还是普通空指针解引用
  • 逆向工程师通过分析崩溃时的寄存器转储和调用栈,回溯触发故障的代码执行路径
  • 开发工程师使用 WinDbg 解析生产环境导出的 dump 文件,判断访问违例的具体根因
  • 安全研究员解读 ASAN 或 MSan 输出的内存报错日志,检查是否存在越界读写漏洞

适合人员

  • 漏洞开发工程师,需要对 Fuzzing 产生的崩溃进行分诊并评估其可利用性
  • 逆向分析师,习惯通过栈追踪和寄存器状态反推程序底层的运行逻辑
  • 负责交付稳定性的后端开发者,需要通过 GDB 和 ASAN 日志定位内存越界 Bug
  • 负责安全应急响应的工程师,需要快速判断外部提交的崩溃报告是否构成真实威胁