测试手册技能Skill testing-handbook-skills

这是一个全面的安全测试工具包,用于应用程序安全测试,包括设置模糊测试活动、编写测试工具、分析代码覆盖率、运行消毒器、进行静态分析和密码学测试。关键词:安全测试、模糊测试、静态分析、密码学、覆盖率分析、消毒器、代码审查、漏洞挖掘。

安全审计 0 次安装 0 次浏览 更新于 3/24/2026

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项)

模糊测试工具

模糊器 语言 最佳用途 技能路径
libFuzzer C/C++ 基于LLVM的覆盖引导模糊测试 skills/libfuzzer/SKILL.md
AFL++ C/C++ 高级变异基模糊测试 skills/aflpp/SKILL.md
libAFL C/C++ 基于LibAFL的自定义模糊器 skills/libafl/SKILL.md
cargo-fuzz Rust 使用libFuzzer后端的Rust原生模糊测试 skills/cargo-fuzz/SKILL.md
Atheris Python Python覆盖引导模糊测试 skills/atheris/SKILL.md
Ruzzy Ruby Ruby覆盖引导模糊测试 skills/ruzzy/SKILL.md

技术

技术 目的 技能路径
工具编写 编写有效的模糊测试工具 skills/harness-writing/SKILL.md
覆盖分析 测量和改进代码覆盖率 skills/coverage-analysis/SKILL.md
模糊测试词典 创建有效的模糊测试词典 skills/fuzzing-dictionary/SKILL.md
模糊测试障碍 克服常见的模糊测试障碍 skills/fuzzing-obstacles/SKILL.md
AddressSanitizer 使用ASan检测内存错误 skills/address-sanitizer/SKILL.md

静态分析

工具 目的 技能路径
Semgrep 快速模式匹配安全扫描 skills/semgrep/SKILL.md
CodeQL 深度语义代码分析 skills/codeql/SKILL.md

密码学测试

工具 目的 技能路径
Wycheproof 密码实现测试向量 skills/wycheproof/SKILL.md
常数时间测试 验证密码学常数时间属性 skills/constant-time-testing/SKILL.md

基础设施

工具 目的 技能路径
OSS-Fuzz Google的持续模糊测试服务 skills/ossfuzz/SKILL.md

工具 目的 技能路径
生成器 从测试手册生成新技能 skills/testing-handbook-generator/SKILL.md

工作流

开始模糊测试活动

  1. 选择模糊器 基于目标语言(见模糊测试工具表)
  2. 编写工具 使用工具编写技能
  3. 使用消毒器构建 (推荐使用AddressSanitizer作为基线)
  4. 创建种子语料库 包含代表性输入
  5. 运行活动 并监控覆盖率
  6. 分析覆盖率 查找未覆盖代码并改进工具
  7. 分类崩溃 和去重发现

设置CI/CD测试

  1. OSS-Fuzz 用于开源项目(持续模糊测试)
  2. Semgrep + CodeQL 用于PR中的静态分析
  3. 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应用程序安全测试手册生成。