01
静态分析概述
什么是静态代码分析 · 静态与动态分析的区别 · 漏洞挖掘中的价值
基础概念
02
抽象语法树 (AST)
AST的定义 · 生成过程 · 在代码分析中的作用
结构解析
03
控制流图 (CFG)
CFG概念 · 基本块与边 · 构建方法
流程图论
04
数据流分析基础
到达定值 · 活跃变量 · 可用表达式分析
数据流经典
05
污点传播分析
污点源与汇聚点 · 传播规则 · 隐式流与显式流
安全隐私
06
符号执行入门
基本原理 · 路径约束与求解 · 经典工具
符号路径
07
约束求解器
SMT求解器基础 · Z3使用 · 约束求解在漏洞检测中的应用
求解Z3
08
过程内分析
函数内部静态分析 · 局部/全局变量 · 指针分析基础
函数作用域
09
过程间分析
调用图构建 · 上下文敏感 · 流敏感分析
跨函数精度
10
指针分析
指向集分析 · 别名分析 · Andersen与Steensgaard算法
指针别名
11
缓冲区溢出检测
溢出模式识别 · 静态检测策略 · 误报与漏报分析
内存溢出
12
格式化字符串漏洞
格式化函数分析 · 参数匹配检查 · 静态检测方法
格式化输入
13
整数溢出检测
整数范围分析 · 算术运算检查 · 安全整数库静态验证
整数范围
14
命令注入检测
外部输入识别 · 危险函数调用链 · 白名单与黑名单策略
注入命令
15
SQL注入检测
SQL查询构造分析 · 输入验证检查 · 参数化查询静态验证
数据库注入
16
跨站脚本 (XSS) 检测
反射型与存储型XSS · 输出编码检查 · 上下文敏感分析
XSSWeb
17
路径遍历漏洞
文件路径操作分析 · 路径规范化检查 · 沙箱逃逸检测
文件遍历
18
内存泄漏检测
分配与释放配对分析 · 引用计数分析 · 垃圾回收静态验证
内存泄漏
19
空指针解引用
空值传播分析 · 防御性编程检查 · 断言与前置条件分析
空指针安全
20
并发漏洞检测
竞态条件分析 · 死锁检测 · 原子性违反检查
并发竞态
21
代码属性图 (CPG)
CPG概念 · AST+CFG+PDG融合 · 图数据库存储与查询
图融合
22
基于模式的检测
常见漏洞模式库 · 模式匹配算法 · 自定义规则引擎
模式规则
23
基于机器学习的漏洞检测
特征工程 · 分类模型 · 深度学习在静态分析中的应用
MLAI
24
代码相似性分析
克隆检测 · 同源漏洞搜索 · 图匹配与图核方法
相似克隆
25
静态分析工具架构
前端解析器 · 中间表示 · 分析引擎 · 报告生成
架构工程
26
Clang Static Analyzer实战
Checker开发 · 路径敏感分析 · 插件机制
ClangLLVM
27
Infer工具实战
生物分离逻辑 · 捕获检查 · 增量分析
InferFacebook
28
CodeQL实战
QL查询语言 · 标准库使用 · 自定义查询编写
CodeQL查询
29
大规模代码分析
增量分析 · 分布式分析 · 代码库索引与检索
规模分布式
30
综合实战
从源码到漏洞报告 · 误报消除策略 · 自动化漏洞验证流水线
实战流水线