trailofbits/testing-handbook
GitHub: trailofbits/testing-handbook
这是 Trail of Bits 推出的安全测试手册,旨在帮助开发者和安全人员掌握如何配置、优化及自动化各类静态与动态分析工具。
Stars: 111 | Forks: 17
# Trail of Bits 测试手册
![Testing-Handbook-logo][logo]
Trail of Bits 测试手册是面向开发者和安全专业人士的资源,介绍如何配置、优化和自动化我们在 Trail of Bits 使用的许多静态和动态分析工具。
## 预览测试手册:[https://appsec.guide](https://appsec.guide) 🌐
## 为什么需要它? ✨
- 📃 配置和优化现有工具的文档通常对开发者不够友好,因为这些文档往往是针对安全专业人士编写的。在使用模糊测试 工具时尤其如此。这可能会导致挫败感,并导致那些本应易于配置的安全工具采用率低下。
- ⚙️ 即使工具在本地易于配置,在 CI/CD 流水线中配置它们也可能很困难。
通常,安全工具是根据在线文档设置的,但其配置很少经过优化。
这可能会导致工具产生大量噪音,维护难度超过了其价值。
- 🧠 我们的目标是尽可能轻松地有效设置安全工具。在此过程中,我们也希望揭开静态和动态分析技术(如模糊测试和污点分析)的神秘面纱。
## 章节
### ✅ 已发布
|主题|发布公告博客|年份|
|---|---|---|
|[Semgrep](https://appsec.guide/docs/static-analysis/semgrep/)| [Announcing the Trail of Bits Testing Handbook](https://blog.trailofbits.com/2023/07/26/announcing-the-trail-of-bits-testing-handbook/)|2023|
|[CodeQL](https://appsec.guide/docs/static-analysis/codeql/)| [Say hello to the next chapter of the Testing Handbook!](https://blog.trailofbits.com/2023/12/11/say-hello-to-the-next-chapter-of-the-testing-handbook/)|2023|
|[Fuzzing](https://appsec.guide/docs/fuzzing/)| [Master fuzzing with our new Testing Handbook chapter](https://blog.trailofbits.com/2024/02/09/master-fuzzing-with-our-new-testing-handbook-chapter/)|2024|
|[Burp](https://appsec.guide/docs/web/burp/)| [Announcing the Burp Suite Professional chapter in the Testing Handbook](https://blog.trailofbits.com/2024/06/14/announcing-the-burp-suite-professional-chapter-in-the-testing-handbook/)|2024|
| [Cryptographic testing - Wycheproof and Constant time analysis tooling](https://appsec.guide/docs/crypto/) | 待定 | 2024 |
| [C/C++ Security Checklist](https://appsec.guide/docs/languages/c-cpp/) | 待定 | 2026 |
### 🎥 网络研讨会
| 主题 | 链接 |
|---|---|
| Semgrep 简介 | https://www.youtube.com/watch?v=yKQlTbVlf0Q |
| CodeQL 简介:示例、工具和 CI 集成 | https://www.youtube.com/watch?v=rQRlnUQPXDw |
| 使用 Burp Suite 掌握 Web 研究 | https://www.youtube.com/watch?v=0PV5QEQTmPg |
### 🚧 正在建设中
- kAFL
- Rust
- 形式化验证与 Tamarin
### 快速设置以方便开发
1. 在您的系统中安装 Hugo
brew install hugo
2. 克隆该仓库
git clone --recurse-submodules https://github.com/trailofbits/testing-handbook.git
3. 创建一个新分支或选择您想要处理的分支
cd testing-handbook
# 然后
git checkout -b name-of-your-new-branch
# 或者
git checkout name-of-existing-branch
4. 从项目根目录运行开启了草稿模式 (`-D`) 的 Hugo 服务器。
每当您保存文件时,浏览器都会自动刷新显示更改。
hugo server -D
5. 添加一个新工具作为 "doc",并从项目根目录运行以下命令。
hugo new docs/
**注意**:此项目使用与 [zkdocs](https://www.zkdocs.com/) 相同的 hugo 模板。该模板将每个
新页面称为 "doc",而不是 post。这就是为什么您需要输入 `hugo new docs/` 而不是 `post/my-new-post`。
6. 编辑、添加内容,并创建 Pull Request 以将您的更改合并到 `main`。
7. ❗请记住,当您将 PR 合并到 `main` 时,内容将在 上发布。
我们当前的政策要求至少进行一次审查才能合并。
8. 如需更新主页,请编辑 [content/_index.md](content/_index.md)
## 指南
- 每个 "doc" 之间的格式应保持一致。添加新的 doc(即添加新工具)时,请遵循
[content/docs/template.md](content/docs/template.md) 中的模板。如有需要,发送针对此文件的 PR 并提出建议更改。
- 创建一个包含您更改的新分支,完成后创建 PR 以合并到 `main`。
- 此仓库中的 GitHub 工作流通过三项检查验证 Markdown 文件的正确性:
1. **Markdown 链接检查**:此步骤从 Markdown 文件中提取链接,并验证其是否有效且可访问。
它使用 [lychee link checking action](https://github.com/lycheeverse/lychee-action)。
2. **Markdown Linter**:此步骤确保 Markdown 文件符合所需的样式和格式规则。
它使用自定义配置文件 (`.github/workflows/.markdownlint.jsonc`) 和
[markdownlint-cli2-action](https://github.com/DavidAnson/markdownlint-cli2-action) 操作。
使用 Visual Studio Code 的 [markdownlint](https://marketplace.visualstudio.com/items?itemName=DavidAnson.vscode-markdownlint)
扩展,以便在处理测试手册时获得更好的用户体验。
3. **拼写检查**:此步骤检查 Markdown 文件中的拼写
(基于 [retext](https://github.com/retextjs/retext) 和 [remark](https://github.com/remarkjs/remark) 构建)。
使用 [tbroadley/spellchecker-cli-action](https://github.com/tbroadley/spellchecker-cli-action) 操作。
- 熟悉 [Hugo Book 主题](https://hugo-book-demo.netlify.app/)
因为它有一些不错的功能(按钮等)
- 如果您有任何问题,请在 Empire Hacking Slack 的 [#testing-handbook](https://empirehacking.slack.com/archives/C06CSLSQAMB) 中联系我们。
## 编辑
### 写作指南
- "Testing Handbook" 一词无论何时出现在网站上(无论是在标题/副标题中还是在正文中),都应大写,
因为它是文档的标题。但如果您想避免大写,因为它看起来很奇怪,您可以用 "this handbook" 代替 "Testing Handbook"(因为手册的标题已经很清楚了)。
### 工作流:从 Google Docs
您可以从 Google Docs 将文档导出为 Markdown。在 Google Docs 中打开文档。点击 `File` > `Download`,然后选择 `Markdown (.md)`。
### 自定义环境
```
{{< customFigure "Caption" >}}
{{< /customFigure >}}
{{< resourceFigure "cov1.png" >}}
{{< /resourceFigure >}}
{{< hint info >}}
{{< /hint >}}
```
标签:AppSec, Burp Suite, CodeQL, DevSecOps, Fuzzing, Semgrep, Trail of Bits, WordPress安全扫描, XML 请求, 上游代理, 云安全监控, 安全开发, 安全文档, 安全测试, 安全评估工具, 工具配置, 开源框架, 持续集成, 攻击性安全, 测试手册, 通知系统, 防御加固, 静态分析