name: 测试手册技能
description: “来自Trail of Bits测试手册的应用程序安全测试工具包。覆盖了模糊测试(libFuzzer、AFL++、cargo-fuzz、Atheris、Ruzzy)、覆盖分析、工具编写、消毒器、静态分析(Semgrep、CodeQL)和密码学测试(Wycheproof、常数时间)。”
测试手册技能
全面的安全测试工具包,基于Trail of Bits应用程序安全测试手册生成。
何时使用
- 为C/C++、Rust、Python或Ruby设置模糊测试活动
- 为目标函数编写模糊测试工具
- 分析代码覆盖率以指导测试
- 运行消毒器(AddressSanitizer、UBSan、MSan)以捕获内存错误
- 对密码学代码进行常数时间测试
- 使用Wycheproof测试向量进行密码验证
何时不使用
- 智能合约审计(使用security-building-secure-contracts)
- 编写自定义Semgrep规则(使用semgrep-rule-creator)
- 通用代码审查(使用security-differential-review)
- 无测试计划的漏洞挖掘(首先使用audit-context-building)
子技能(共17项)
模糊测试工具
技术
静态分析
密码学测试
基础设施
元
工作流
开始模糊测试活动
- 选择模糊器 基于目标语言(见模糊测试工具表)
- 编写工具 使用工具编写技能
- 使用消毒器构建 (推荐使用AddressSanitizer作为基线)
- 创建种子语料库 包含代表性输入
- 运行活动 并监控覆盖率
- 分析覆盖率 查找未覆盖代码并改进工具
- 分类崩溃 和去重发现
设置CI/CD测试
- OSS-Fuzz 用于开源项目(持续模糊测试)
- Semgrep + CodeQL 用于PR中的静态分析
- Wycheproof 测试向量用于密码验证
按语言快速入门
| 语言 |
模糊器 |
工具 |
消毒器 |
| C/C++ |
libFuzzer或AFL++ |
LLVMFuzzerTestOneInput |
ASan + UBSan |
| Rust |
cargo-fuzz |
fuzz_target!宏 |
内置消毒器 |
| Python |
Atheris |
atheris.FuzzedDataProvider |
N/A |
| Ruby |
Ruzzy |
ruzzy工具模式 |
N/A |
源材料
使用测试手册生成器元技能,基于Trail of Bits应用程序安全测试手册生成。