testing-handbook

Integrate fuzzing, sanitizers, and static analysis into a unified security testing workflow.

21|1|Updated Apr 12, 2026
One-click install
npx skills add https://github.com/woohyun212/security-skill --skill testing-handbook
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: testing-handbook
Source: https://github.com/woohyun212/security-skill/tree/main/testing-handbook
Command: npx skills add https://github.com/woohyun212/security-skill --skill testing-handbook

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Security testing and vulnerability discovery require a structured, repeatable methodology that combines fuzzing, sanitizers, and static analysis to identify memory-safety and logic defects early in the development lifecycle.

Core Features & Use Cases

  • End-to-end methodology covering fuzzing, sanitizer testing, and static analysis for vulnerability discovery.
  • Guidance on harness creation, crash triage, and mapping findings to MITRE ATT&CK techniques for remediation prioritization.
  • Use case: Before shipping a parser or deserializer, apply this methodology to validate robustness against malformed inputs and uncover hidden defects.

Quick Start

Initialize a fuzzing harness, enable sanitizers, and run static analysis to surface memory-safety defects and logic bugs.

Frequently Asked Questions about testing-handbook

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I integrate fuzzing and static analysis into a unified security testing workflow?

To integrate fuzzing and static analysis, initialize a fuzzing harness with engines like AFL++, enable sanitizers such as ASan, and run Semgrep or CodeQL to surface memory-safety defects and logic bugs in a unified workflow.

What is the best way to triage crashes found by fuzzing engines in C/C++ and Rust?

The best way to triage crashes found by fuzzing engines is to apply a structured methodology that maps crash findings to MITRE ATT&CK techniques, enabling targeted remediation prioritization for C/C++ and Rust systems.

How do I write a fuzzing harness to validate parser robustness against malformed inputs?

To write a fuzzing harness for parser robustness, initialize the harness using engines like libFuzzer, enable sanitizers to catch memory-safety defects, and execute the workflow to validate behavior against malformed inputs.

Does this security testing methodology support CI integration for reproducible vulnerability discovery results?

Yes, this security testing methodology supports CI integration for reproducible results, combining fuzzing, sanitizers, and static analysis to identify memory-safety and logic defects early in the development lifecycle.

When do I need to use sanitizers like ASan, UBSan, and TSan during fuzzing?

You need to use sanitizers like ASan, UBSan, and TSan during fuzzing to identify memory-safety defects and logic bugs, ensuring robustness against malformed inputs before shipping parsers or deserializers.

Can I use Semgrep and CodeQL alongside fuzzing engines for vulnerability discovery?

Yes, you can use Semgrep and CodeQL alongside fuzzing engines like AFL++ and libFuzzer to combine static analysis with dynamic testing, surfacing hidden defects and mapping them to MITRE ATT&CK techniques.