Home

Awesome

Trail of Bits Testing Handbook

Testing-Handbook-logo

The Trail of Bits Testing Handbook is a resource for developers and security professionals on configuring, optimizing, and automating many static and dynamic analysis tools we use at Trail of Bits.

Preview Testing Handbook: https://appsec.guide 🌐

Why is this needed? ✨

Chapters

✅ Released

TopicAnnouncing Blog PostYear
SemgrepAnnouncing the Trail of Bits Testing Handbook2023
CodeQLSay hello to the next chapter of the Testing Handbook!2023
FuzzingMaster fuzzing with our new Testing Handbook chapter2024
BurpAnnouncing the Burp Suite Professional chapter in the Testing Handbook2024
Cryptographic testing - Wycheproof and Constant time analysis toolingTBD2024

🎥 Webinars

TopicLink
Introduction to Semgrephttps://www.youtube.com/watch?v=yKQlTbVlf0Q
Introduction to CodeQL: Examples, Tools and CI Integrationhttps://www.youtube.com/watch?v=rQRlnUQPXDw
Mastering Web Research with Burp Suitehttps://www.youtube.com/watch?v=0PV5QEQTmPg

🚧 Under construction

How to contribute

If you would like to contribute to the Testing Handbook, here are some guidelines to help you get started:

  1. Add a New Tool: If you want to cover a new tool in the Testing Handbook, propose a topic in GitHub Issues. Afterward, you can work on a new pull request.
  2. Improve Existing Chapters: If you have an idea to make a specific chapter better, you can add a GitHub issue.
  3. Pick Up Small Tasks: If you don't have much time but still want to contribute, you can pick up any small task from the GitHub issues list.
  4. Report Issues: If you find a small technical issue or a typo, create a new GitHub issue and/or fix it in the new pull request.

Quick setup for convenient development

  1. Install Hugo in your system

    brew install hugo
    
  2. Clone the repo

    git clone --recurse-submodules https://github.com/trailofbits/testing-handbook.git
    
  3. Create a new branch or select a branch you want to work on

    cd testing-handbook
    # then
    git checkout -b name-of-your-new-branch
    # or
    git checkout name-of-existing-branch
    
    
  4. Run the Hugo server with drafts turned on (-D) from the project's root directory. Your browser will be automatically refreshed with changes whenever you save a file.

    hugo server -D
    
  5. Add a new tool as "doc", and run the following from the project's root directory.

    hugo new docs/<name of tool>
    

    Note: This project uses the same hugo template as zkdocs. The template refers to each new page as a "doc," as opposed to a post. This is why you'd want to type hugo new docs/<name of tool> and not post/my-new-post.

  6. Edit, add, and create pull requests to merge your changes into main.

  7. ❗Keep in mind that when you merge your PR into main, the content goes live in https://appsec.guide. Our current policy forces at least one review before merging.

  8. For updates to the home page, edit content/_index.md

Guidelines

Editing

Writing Guidelines

Workflow: From Google Docs

You can export the document from Google Docs as Markdown. Open the document in Google Docs. Click File > Download, and then select Markdown (.md).

Custom environments

{{< customFigure "Caption" >}}
{{< /customFigure >}}

{{< resourceFigure "cov1.png" >}}
{{< /resourceFigure >}}

{{< hint info >}}
{{< /hint >}}