Vulnerability Research Tool Landscape --- Implementation Plan¶
For agentic workers: REQUIRED: Use superpowers:subagent-driven-development (if subagents available) or superpowers:executing-plans to implement this plan. Steps use checkbox (
- [ ]) syntax for tracking.
Goal: Populate all 28 skeleton documentation pages with substantive research content --- deep dives on major tools, practitioner guidance, and academic survey material.
Architecture: 4-phase execution. Phase 1 writes the methodology page (evaluation framework). Phase 2 dispatches 3 parallel agents for fuzzing tools, analysis tools, and emerging tech. Phase 3 dispatches 2 parallel agents for SWOT and gaps synthesis. Phase 4 writes overview pages, home page, and expanded glossary sequentially.
Tech Stack: MkDocs Material, Markdown, Mermaid diagrams, Vega-Lite charts, custom admonitions (opportunity, threat, pain-point, gap), pymdownx.snippets glossary auto-append.
Spec: docs/superpowers/specs/2026-03-14-research-plan-design.md
Content Standards Reference¶
Every page written in this plan MUST follow these rules:
- Frontmatter: Keep existing
tags:from skeleton. Do not change the tag values. - No emojis unless Material theme icons (
:material-icon-name:) - Em dashes: Use
---(renders as ---) not—directly - Citations: Inline markdown links for key factual claims. If source unknown, use
!!! warning "Knowledge Gap"admonition. - Cross-references: Relative links between pages (e.g.,
[Coverage-Guided](../fuzzing-tools/coverage-guided.md)) - Glossary terms: Any new acronym must also be added to
docs/glossary.mdwith both a table row and*[TERM]: Definitionline. Coordinate with Phase 4 glossary task. - Diagrams: Use
```mermaidfenced code blocks for flowcharts/architecture - Custom admonitions:
!!! opportunity,!!! threat,!!! pain-point,!!! gap--- use where semantically appropriate - Standard admonitions:
abstract(At a Glance),info,warning,tip,example,note
Page Template Reference¶
Tool Pages¶
---
tags:
- <existing-tags>
---
# Page Title
!!! abstract "At a Glance"
**Category:** <category>
**Key Tools:** <tool1>, <tool2>, ...
**Maturity:** <Mature | Growing | Emerging | Research>
## Overview
<what this category/approach is, why it matters, 200-400 words>
## Key Tools
### Tool Name
<description, architecture, 200-500 words per major tool>
**Strengths:**
- ...
**Weaknesses:**
- ...
**Use Cases:**
- ...
**Community & Maintenance:** <status>
### <repeat for each tool>
## Comparison Matrix
| Tool | License | Language | Maturity | Use Case | Learning Curve |
|------|---------|----------|----------|----------|----------------|
| ... | ... | ... | ... | ... | ... |
## When to Use What
<decision guide flowchart or prose, 200-400 words>
## Research Landscape
<academic papers, benchmarks, trends, 200-400 words>
## Related Pages
- [Link](../path/to/related.md) --- brief description
Analysis Pages (SWOT, Gaps)¶
---
tags:
- <existing-tags>
---
# Page Title
!!! abstract "At a Glance"
<2-3 sentence summary>
## <Main Analysis Section>
<structured findings with evidence, 1000-2000 words>
## Implications
<what this means for practitioners and tool builders, 300-500 words>
## Related Pages
- [Link](../path/to/related.md) --- brief description
Section Index Pages¶
---
tags:
- <existing-tags>
---
# Section Title
<section overview, 200-400 words>
<optional: category taxonomy diagram (mermaid) or summary table>
| Page | Description |
|------|-----------|
| [Page Name](page.md) | Brief description |
Chunk 1: Phase 1 --- Foundation¶
Task 1: Write Methodology Page¶
Files: - Modify: docs/overview/methodology.md
- Step 1: Research evaluation frameworks
Web search for vulnerability tool evaluation criteria used in academic surveys (e.g., NIST SAMATE, IEEE S&P tool surveys, USENIX Security benchmarks). Note common dimensions used.
- Step 2: Write methodology page content
Replace the skeleton content in docs/overview/methodology.md with the full methodology page. Content must include:
- At a Glance admonition --- research scope, approach summary
- Research Approach --- how tools were identified, selected, and evaluated
- Data Sources --- categories of sources (official docs, academic papers, benchmarks, community feedback, CVE databases)
- Evaluation Framework --- the 7 scoring dimensions with definitions:
- Maturity --- release history, stability, production readiness
- Community Health --- contributors, issue response time, release cadence
- Documentation Quality --- completeness, tutorials, API docs
- Integration Ecosystem --- CI/CD support, IDE plugins, tool chaining
- Target Domain Breadth --- languages, binary formats, protocols supported
- Learning Curve --- time-to-first-result, prerequisite knowledge
- Output Quality --- false positive/negative rates, actionability of findings
- Tool Selection Criteria --- minimum thresholds for inclusion (e.g., active maintenance, public availability)
- Scope & Limitations --- what's covered, what's excluded, known biases
- Related Pages --- links to overview/landscape.md, overview/key-takeaways.md
Target: 1000--1500 words.
- Step 3: Verify build
Run: make lint Expected: Clean build, no errors or warnings.
- Step 4: Commit
git add docs/overview/methodology.md
git commit -m "docs: add methodology page with evaluation framework"
Chunk 2: Phase 2 --- Core Tool Research (3 Parallel Agents)¶
Phase 2 dispatches 3 independent agents. Each agent writes its assigned pages, runs make lint, and commits. Agents can run in parallel since they modify non-overlapping files.
Dependencies: Task 1 must be complete (methodology establishes evaluation framework).
Task 2: Write Fuzzing Tools Section (Agent A)¶
Files: - Modify: docs/fuzzing-tools/index.md - Modify: docs/fuzzing-tools/coverage-guided.md - Modify: docs/fuzzing-tools/hybrid-symbolic.md - Modify: docs/fuzzing-tools/grammar-aware.md - Modify: docs/fuzzing-tools/enterprise-platform.md
- Step 1: Research coverage-guided fuzzing tools
Research AFL, AFL++, libFuzzer, Honggfuzz, go-fuzz, cargo-fuzz. For each tool gather: architecture, key features, strengths/weaknesses, target use cases, community status, notable CVEs found. Search web for latest release info, benchmarks (e.g., Google FuzzBench results), and academic papers (e.g., AFL++ USENIX WOOT 2020).
- Step 2: Write
docs/fuzzing-tools/coverage-guided.md
Deep dive page (2000--3000 words). Follow the Tool Pages template. Must include: - At a Glance: Category=Coverage-Guided Fuzzing, Maturity=Mature - Overview of coverage-guided approach (instrumentation, feedback loop, corpus evolution) - Tool profiles: AFL++ (primary focus, 500+ words), libFuzzer (400+ words), Honggfuzz (300+ words), go-fuzz (200 words), cargo-fuzz (200 words) - Mermaid diagram showing the coverage-guided feedback loop - Comparison matrix (License, Language Support, Instrumentation, Distributed, Maturity) - When to Use What decision guide - Research Landscape (FuzzBench, key papers) - Cross-references to hybrid-symbolic.md, grammar-aware.md, ../emerging-tech/ai-ml-fuzzing.md
- Step 3: Research hybrid & symbolic execution tools
Research KLEE, S2E, SymCC, QSYM, Driller, Angr. Focus on: symbolic vs concolic distinction, constraint solving approaches, scalability limitations, integration with fuzzers.
- Step 4: Write
docs/fuzzing-tools/hybrid-symbolic.md
Deep dive page (2000--3000 words). Follow the Tool Pages template. Must include: - At a Glance: Category=Hybrid & Symbolic Fuzzing, Maturity=Growing - Overview explaining symbolic execution, concolic testing, hybrid approaches - Tool profiles: KLEE (400+ words), Angr (400+ words), S2E (300+ words), SymCC (300+ words), QSYM (200 words), Driller (200 words) - Mermaid diagram showing concolic execution flow - Comparison matrix - When to Use What --- when symbolic adds value over pure fuzzing - Research Landscape --- KLEE OSDI 2008, SymCC USENIX Security 2020 - Cross-references to coverage-guided.md, ../analysis-tools/hybrid-approaches.md
- Step 5: Research grammar-aware fuzzing tools
Research Nautilus, Domato, Fuzzilli, FormatFuzzer, Superion. Focus on: grammar specification formats, input structure awareness, target domains (browsers, file formats, protocols).
- Step 6: Write
docs/fuzzing-tools/grammar-aware.md
Standard-to-deep page (1200--2500 words). Follow the Tool Pages template. Must include: - At a Glance: Category=Grammar-Aware Fuzzing, Maturity=Growing - Overview explaining grammar-aware mutation, structure preservation, why random mutation fails on structured inputs - Tool profiles: Nautilus (400+ words), Fuzzilli (400+ words --- JavaScript engine focus), Domato (200 words), FormatFuzzer (200 words), Superion (200 words) - Example grammar snippet showing how input structure is defined - Comparison matrix - Cross-references to coverage-guided.md, ../gaps/stateful-fuzzing.md
- Step 7: Research enterprise fuzzing platforms
Research Synopsys Defensics, Code Intelligence (CI Fuzz), ForAllSecure Mayhem, ClusterFuzz/OSS-Fuzz, Fuzzbuzz. Focus on: commercial vs open-source, CI/CD integration, managed vs self-hosted, target industries, pricing models where public.
- Step 8: Write
docs/fuzzing-tools/enterprise-platform.md
Deep dive page (2000--3000 words). Follow the Tool Pages template. Must include: - At a Glance: Category=Enterprise Fuzzing Platforms, Maturity=Mature - Overview of enterprise fuzzing needs (scale, compliance, integration, reporting) - Tool profiles: OSS-Fuzz/ClusterFuzz (500+ words --- Google's infrastructure), Mayhem (400+ words), Code Intelligence (300+ words), Synopsys Defensics (300+ words), Fuzzbuzz (200 words) - Comparison matrix (Deployment, Pricing, CI/CD Integration, Language Support, Reporting) - When to Use What --- OSS project vs enterprise vs regulated industry - Cross-references to all other fuzzing pages
- Step 9: Write
docs/fuzzing-tools/index.md
Section index page (500--800 words). Must include: - Overview paragraph explaining the fuzzing tools landscape - Mermaid diagram showing fuzzing category taxonomy (coverage-guided, symbolic, grammar-aware, enterprise) - Table linking to each sub-page with brief descriptions - Cross-references to ../analysis-tools/index.md, ../emerging-tech/index.md
- Step 10: Verify build
Run: make lint Expected: Clean build, no errors or warnings.
- Step 11: Commit
git add docs/fuzzing-tools/
git commit -m "docs: add fuzzing tools research — coverage-guided, hybrid-symbolic, grammar-aware, enterprise"
Task 3: Write Analysis Tools Section (Agent B)¶
Files: - Modify: docs/analysis-tools/index.md - Modify: docs/analysis-tools/static-analysis.md - Modify: docs/analysis-tools/dynamic-analysis.md - Modify: docs/analysis-tools/hybrid-approaches.md
- Step 1: Research static analysis tools
Research Coverity, Infer, Clang Static Analyzer, Semgrep, CodeQL, Checkmarx. For each: analysis technique (abstract interpretation, dataflow, pattern matching, query language), language support, false positive rates, integration capabilities, licensing.
- Step 2: Write
docs/analysis-tools/static-analysis.md
Deep dive page (2000--3000 words). Follow the Tool Pages template. Must include: - At a Glance: Category=Static Analysis, Maturity=Mature - Overview of static analysis approaches (AST-based, dataflow, abstract interpretation, query-based) - Tool profiles: CodeQL (500+ words --- query language, GitHub integration), Coverity (400+ words), Infer (400+ words --- Facebook's compositional analysis), Semgrep (300+ words), Clang Static Analyzer (300+ words), Checkmarx (200 words) - Mermaid diagram showing static analysis pipeline (source → parse → analyze → report) - Comparison matrix (Technique, Languages, CI/CD, License, False Positive Rate) - When to Use What --- SAST tool selection guide - Research Landscape --- Infer POPL papers, CodeQL academic origins (Semmle/QL) - Cross-references to dynamic-analysis.md, hybrid-approaches.md, ../fuzzing-tools/index.md
- Step 3: Research dynamic analysis tools
Research Valgrind (Memcheck, Helgrind, Callgrind), AddressSanitizer/MemorySanitizer/ThreadSanitizer/UndefinedBehaviorSanitizer, DynamoRIO, Intel Pin, Frida. Focus on: instrumentation approach (compile-time vs runtime), overhead, detection capabilities, platform support.
- Step 4: Write
docs/analysis-tools/dynamic-analysis.md
Deep dive page (2000--3000 words). Follow the Tool Pages template. Must include: - At a Glance: Category=Dynamic Analysis, Maturity=Mature - Overview of dynamic analysis (runtime instrumentation, sanitizers, binary instrumentation) - Tool profiles: Sanitizers family (500+ words --- ASan, MSan, TSan, UBSan as a group), Valgrind (400+ words), Frida (400+ words --- dynamic instrumentation for reverse engineering), DynamoRIO (200 words), Intel Pin (200 words) - Mermaid diagram showing compile-time vs runtime instrumentation approaches - Comparison matrix (Approach, Overhead, Detection Types, Platform, Integration) - When to Use What --- sanitizers for development vs Valgrind for debugging vs Frida for RE - Cross-references to static-analysis.md, hybrid-approaches.md, ../fuzzing-tools/coverage-guided.md
- Step 5: Research hybrid analysis approaches
Research Triton, IKOS, Frama-C, and combined static+dynamic strategies. Focus on: how approaches complement each other, practical workflows, academic foundations.
- Step 6: Write
docs/analysis-tools/hybrid-approaches.md
Standard page (800--1200 words). Follow the Tool Pages template. Must include: - At a Glance: Category=Hybrid Analysis, Maturity=Growing - Overview of why combining static and dynamic analysis improves results - Tool profiles: Frama-C (300+ words --- formal methods), Triton (300+ words --- dynamic symbolic execution), IKOS (200 words --- abstract interpretation) - Discussion of practical hybrid workflows (static pre-filter → dynamic validation) - Cross-references to static-analysis.md, dynamic-analysis.md, ../fuzzing-tools/hybrid-symbolic.md
- Step 7: Write
docs/analysis-tools/index.md
Section index page (500--800 words). Must include: - Overview paragraph explaining static vs dynamic vs hybrid taxonomy - Mermaid diagram showing analysis tool taxonomy - Table linking to each sub-page with brief descriptions - Cross-references to ../fuzzing-tools/index.md, ../emerging-tech/index.md
- Step 8: Verify build
Run: make lint Expected: Clean build, no errors or warnings.
- Step 9: Commit
git add docs/analysis-tools/
git commit -m "docs: add analysis tools research — static, dynamic, hybrid approaches"
Task 4: Write Emerging Tech Section (Agent C)¶
Files: - Modify: docs/emerging-tech/index.md - Modify: docs/emerging-tech/ai-ml-fuzzing.md - Modify: docs/emerging-tech/llm-bug-detection.md - Modify: docs/emerging-tech/cross-language.md - Modify: docs/emerging-tech/hardware-sidechannel.md
- Step 1: Research AI/ML-guided fuzzing
Research FuzzGPT, TitanFuzz, ChatAFL, reinforcement learning for fuzzing (e.g., NEUZZ, MTFuzz), neural program smoothing. Search for papers from 2023--2026 on ML-guided mutation strategies, seed scheduling, and coverage prediction.
- Step 2: Write
docs/emerging-tech/ai-ml-fuzzing.md
Deep dive page (2000--3000 words). Follow the Tool Pages template adapted for emerging tech. Must include: - At a Glance: Category=AI/ML-Guided Fuzzing, Maturity=Emerging/Research - Overview of how ML enhances fuzzing (learned mutation strategies, coverage prediction, seed scheduling) - Approach profiles: Reinforcement learning (NEUZZ, MTFuzz --- 500+ words), LLM-guided (FuzzGPT, TitanFuzz --- 500+ words), ChatAFL (300+ words --- protocol fuzzing with LLMs), Neural program smoothing (200 words) - Mermaid diagram showing ML-in-the-loop fuzzing architecture - Comparison of approaches (table: Technique, Input Domain, Training Data, Overhead, Maturity) - Current limitations and open problems - Cross-references to ../fuzzing-tools/coverage-guided.md, llm-bug-detection.md, ../gaps/llm-integration.md
- Step 3: Research LLM-based bug detection
Research GPT-4/Claude for code review, vulnerability-specific fine-tuning (e.g., VulBERTa, LineVul), prompt engineering for security analysis, limitations vs traditional SAST. Search for benchmarks comparing LLM detection rates vs traditional tools.
- Step 4: Write
docs/emerging-tech/llm-bug-detection.md
Deep dive page (2000--3000 words). Must include: - At a Glance: Category=LLM Bug Detection, Maturity=Emerging - Overview of how LLMs detect vulnerabilities (code understanding, pattern recognition, natural language reasoning) - Approach profiles: General-purpose LLMs for code review (500+ words --- GPT-4, Claude, capabilities and limitations), Fine-tuned models (400+ words --- VulBERTa, LineVul, CodeBERT), Prompt engineering for security (300+ words --- effective prompting strategies) - Honest assessment of limitations: hallucinations, false positives, context window limits, inability to execute code - Comparison with traditional SAST tools - Cross-references to ai-ml-fuzzing.md, ../analysis-tools/static-analysis.md, ../gaps/llm-integration.md
- Step 5: Research cross-language analysis tools
Research Joern, CodeQL multi-language support, LLVM-based IR analysis approaches, Weggli. Focus on: how tools handle language heterogeneity, IR-based approaches, practical limitations.
- Step 6: Write
docs/emerging-tech/cross-language.md
Standard page (800--1200 words). Must include: - At a Glance: Category=Cross-Language Analysis, Maturity=Growing - Overview of the cross-language challenge (polyglot codebases, FFI boundaries, shared vulnerabilities) - Tool profiles: Joern (300+ words --- code property graphs), CodeQL multi-lang (300+ words), Weggli (200 words), LLVM IR approaches (200 words) - Cross-references to ../analysis-tools/static-analysis.md
- Step 7: Research hardware & side-channel analysis
Research Spectector, CacheD, timing analysis tools, EM-based fault injection detection. Focus on: Spectre/Meltdown-class detection, cache timing analysis, hardware-aware fuzzing.
- Step 8: Write
docs/emerging-tech/hardware-sidechannel.md
Standard page (800--1200 words). Must include: - At a Glance: Category=Hardware & Side-Channel, Maturity=Research - Overview of side-channel vulnerabilities (timing, cache, power, EM) - Tool profiles: Spectector (300+ words --- speculative execution analysis), CacheD (200 words), timing analysis approaches (200 words), hardware-aware fuzzing (200 words) - Gap analysis: what tools are missing in this space - Cross-references to ../gaps/logic-bugs.md, ../analysis-tools/dynamic-analysis.md
- Step 9: Write
docs/emerging-tech/index.md
Section index page (500--800 words). Must include: - Overview paragraph explaining the emerging tech landscape - Mermaid diagram showing maturity spectrum (Research → Emerging → Growing → Mature) with technologies placed on it - Table linking to each sub-page with brief descriptions - Cross-references to ../fuzzing-tools/index.md, ../analysis-tools/index.md
- Step 10: Verify build
Run: make lint Expected: Clean build, no errors or warnings.
- Step 11: Commit
git add docs/emerging-tech/
git commit -m "docs: add emerging tech research — AI/ML fuzzing, LLM detection, cross-language, hardware"
Chunk 3: Phase 3 --- Synthesis (2 Parallel Agents)¶
Dependencies: Tasks 2, 3, and 4 must be complete. Agents in this phase must read the completed tool pages from Phase 2 to ground their analysis in the actual research.
Task 5: Write SWOT Analysis Section (Agent E)¶
Files: - Modify: docs/swot/index.md - Modify: docs/swot/strengths.md - Modify: docs/swot/weaknesses.md - Modify: docs/swot/opportunities.md - Modify: docs/swot/threats.md
- Step 1: Read all completed tool pages from Phase 2
Read all files in docs/fuzzing-tools/, docs/analysis-tools/, and docs/emerging-tech/ to extract key findings that inform the SWOT analysis. Take notes on: what tools do well, where they fall short, emerging trends, competitive dynamics.
- Step 2: Write
docs/swot/strengths.md
Analysis page (1500--2000 words). Follow the Analysis Pages template. Must include: - At a Glance summarizing top strengths - Structured analysis covering: - Mature fuzzing ecosystem (AFL++ lineage, 10+ years of development) - Strong open-source community (OSS-Fuzz, community-driven tools) - Sanitizer quality (ASan/MSan/TSan comprehensive and production-proven) - Diverse approaches (coverage-guided + symbolic + grammar-aware cover wide attack surface) - Vendor investment (Google, Microsoft, academic institutions funding research) - Growing AI/ML integration - Use !!! tip admonitions for practitioner takeaways - Evidence drawn from specific tools covered in Phase 2 - Cross-references to specific tool pages that demonstrate each strength
- Step 3: Write
docs/swot/weaknesses.md
Analysis page (1500--2000 words). Must include: - At a Glance summarizing top weaknesses - Structured analysis covering: - Tool fragmentation (many tools, poor interoperability) - Steep learning curves (expert knowledge required for effective fuzzing) - Limited interop between static and dynamic tools - False positive burden (especially SAST tools) - Scaling challenges (symbolic execution path explosion, fuzzer throughput) - Gaps in stateful/protocol fuzzing - Reproducibility issues across environments - Use !!! pain-point admonitions for significant pain points - Cross-references to specific tool pages
- Step 4: Write
docs/swot/opportunities.md
Analysis page (1500--2000 words). Must include: - At a Glance summarizing top opportunities - Structured analysis covering: - AI/ML integration potential (learned mutations, smart scheduling) - Cloud-native fuzzing-as-a-service - DevSecOps pipeline integration (shift-left) - Standardization efforts (common interfaces, result formats) - New vulnerability classes (supply chain, AI model vulnerabilities) - LLM-assisted harness generation and triage - Cross-language analysis for polyglot codebases - Use !!! opportunity admonitions for each major opportunity - Cross-references to emerging-tech/ pages and gaps/ pages
- Step 5: Write
docs/swot/threats.md
Analysis page (1500--2000 words). Must include: - At a Glance summarizing top threats - Structured analysis covering: - Software complexity growth outpacing tool capabilities - AI-generated code introducing novel vulnerability patterns - Supply chain attacks exceeding current tool scope - Talent shortage in security research - Adversarial use of same tools/techniques - Open-source sustainability risks - Regulatory compliance burden without adequate tooling - Use !!! threat admonitions for critical threats - Cross-references to specific tool limitations from Phase 2
- Step 6: Write
docs/swot/index.md
Section index page (500--800 words). Must include: - Overview explaining the SWOT framework and how it applies to the tool landscape - Mermaid quadrant or grid diagram showing SWOT categories - Table linking to each sub-page - Cross-references to ../overview/key-takeaways.md, ../gaps/index.md
- Step 7: Verify build
Run: make lint Expected: Clean build, no errors or warnings.
- Step 8: Commit
git add docs/swot/
git commit -m "docs: add SWOT analysis — strengths, weaknesses, opportunities, threats"
Task 6: Write Gaps & Opportunities Section (Agent F)¶
Files: - Modify: docs/gaps/index.md - Modify: docs/gaps/logic-bugs.md - Modify: docs/gaps/stateful-fuzzing.md - Modify: docs/gaps/llm-integration.md - Modify: docs/gaps/patch-generation.md
- Step 1: Read all completed tool pages from Phase 2
Read all files in docs/fuzzing-tools/, docs/analysis-tools/, and docs/emerging-tech/ to identify gaps in current tooling. Focus on: what problems remain unsolved, where tools explicitly fall short, what practitioners struggle with.
- Step 2: Write
docs/gaps/logic-bugs.md
Analysis page (1500--2500 words). Follow the Analysis Pages template. Must include: - At a Glance summarizing the logic bug detection gap - Why logic bugs resist automation: - Require application-specific semantics (not generic patterns) - No universal specification to check against - Context-dependent correctness - Current approaches and their limitations: - Property-based testing (limitations at scale) - Formal verification (Frama-C, TLA+ --- labor-intensive) - Model checking (state explosion) - Specification inference (research stage) - What's missing: practical tools that bridge formal methods and developer workflow - Use !!! gap admonitions for key underserved areas - Cross-references to ../analysis-tools/static-analysis.md, ../analysis-tools/hybrid-approaches.md
- Step 3: Write
docs/gaps/stateful-fuzzing.md
Analysis page (1500--2500 words). Must include: - At a Glance summarizing the stateful fuzzing gap - The stateful problem: - Network protocols with state machines - Multi-step API interactions - Authentication/session-dependent behavior - Resource lifecycle bugs (use-after-free across sessions) - Current approaches: AFLNet, StateAFL, SGFuzz, Boofuzz - Limitations: state space explosion, grammar + state combination, lack of protocol-specific tools - Opportunities: LLM-assisted state machine inference, hybrid approaches - Use !!! gap admonitions - Cross-references to ../fuzzing-tools/grammar-aware.md, ../fuzzing-tools/coverage-guided.md
- Step 4: Write
docs/gaps/llm-integration.md
Analysis page (1500--2500 words). Must include: - At a Glance summarizing LLM integration opportunities - Where LLMs can augment existing tools: - Harness generation (automating the manual work of writing fuzz targets) - Seed corpus generation (structurally valid inputs from LLM knowledge) - Crash triage and root cause analysis - Vulnerability explanation and report generation - Fix suggestion (bridge detection → remediation) - Current state of integration (mostly research/prototype stage) - Challenges: reliability, hallucinations, cost, latency - Use !!! opportunity admonitions for promising directions - Cross-references to ../emerging-tech/ai-ml-fuzzing.md, ../emerging-tech/llm-bug-detection.md, patch-generation.md
- Step 5: Write
docs/gaps/patch-generation.md
Analysis page (1500--2500 words). Must include: - At a Glance summarizing the detection-to-remediation gap - The gap between finding and fixing: - Current tools find bugs but rarely suggest fixes - Developer bottleneck in triage and remediation - Time-to-fix metrics and their impact - Current approaches: - GenProg, Angelix (search-based repair) - Facebook SapFix (production automated repair) - LLM-based fix generation (emerging) - Semantic patching (Coccinelle) - Limitations: correctness verification of generated patches, overfitting, regression risk - Use !!! gap admonitions for key missing capabilities - Cross-references to ../analysis-tools/static-analysis.md, llm-integration.md
- Step 6: Write
docs/gaps/index.md
Section index page (500--800 words). Must include: - Overview of underserved areas in vulnerability research tooling - Summary table of gaps with severity/impact ratings - Table linking to each sub-page - Cross-references to ../swot/opportunities.md, ../swot/weaknesses.md
- Step 7: Verify build
Run: make lint Expected: Clean build, no errors or warnings.
- Step 8: Commit
git add docs/gaps/
git commit -m "docs: add gaps analysis — logic bugs, stateful fuzzing, LLM integration, patch generation"
Chunk 4: Phase 4 --- Overview, Home & Glossary¶
Dependencies: Tasks 2--6 must be complete. This phase synthesizes all prior research.
Task 7: Write Landscape Overview¶
Files: - Modify: docs/overview/landscape.md
- Step 1: Read all completed pages from Phases 2--3
Skim all tool pages, SWOT pages, and gaps pages to extract tool counts, categories, and key patterns for the landscape overview.
- Step 2: Write
docs/overview/landscape.md
Overview page (1500--2000 words). Must include: - At a Glance admonition with landscape summary stats - Tool categorization matrix (table: Category × Maturity × Count) - Ecosystem overview --- how tool categories relate to each other - Mermaid diagram showing the vulnerability research tool ecosystem (inputs → tools → outputs) - Adoption trends --- what's growing, what's declining - Open-source vs commercial landscape - Cross-references to all section index pages
- Step 3: Verify build
Run: make lint Expected: Clean build.
- Step 4: Commit
git add docs/overview/landscape.md
git commit -m "docs: add tool landscape overview with categorization matrix"
Task 8: Write Market Map¶
Files: - Modify: docs/overview/market-map.md
- Step 1: Read all completed tool and analysis pages
Read all files in docs/fuzzing-tools/, docs/analysis-tools/, docs/emerging-tech/, docs/swot/, and docs/gaps/ to extract tool positioning, commercial vs OSS landscape, and competitive dynamics.
- Step 2: Write
docs/overview/market-map.md
Overview page (1500--2000 words). Must include: - At a Glance admonition - Market segmentation: open-source vs commercial, point tool vs platform - Competitive positioning --- Mermaid quadrant or table showing tools positioned on axes (e.g., Ease of Use vs Detection Power, or Breadth vs Depth) - Key players by segment with brief profiles - Trends: consolidation, acquisitions, new entrants - Cross-references to all tool section pages
- Step 3: Verify build
Run: make lint Expected: Clean build.
- Step 4: Commit
git add docs/overview/market-map.md
git commit -m "docs: add market map with competitive positioning"
Task 9: Write Key Takeaways¶
Files: - Modify: docs/overview/key-takeaways.md
- Step 1: Read all completed pages
Read all content pages from Phases 2--3 to distill the top insights and practitioner recommendations.
- Step 2: Write
docs/overview/key-takeaways.md
Overview page (1000--1500 words). Must include: - At a Glance admonition - 5--10 numbered key takeaways, each with: - Bold headline statement - 2--3 sentence explanation with evidence - Link to relevant detailed page - Practitioner recommendations section (which tools to start with, by use case) - Cross-references to all major sections
- Step 3: Verify build
Run: make lint Expected: Clean build.
- Step 4: Commit
git add docs/overview/key-takeaways.md
git commit -m "docs: add key takeaways with practitioner recommendations"
Task 10: Write Home Page Content¶
Files: - Modify: docs/index.md
- Step 1: Read all completed pages for stats and structure
Skim all section index pages to gather stats (tool count, category count, etc.) and understand the site structure for reading path recommendations.
- Step 2: Write
docs/index.md
Home page content (500--800 words). This page uses template: home.html --- the hero section is in the template. The markdown content appears below the hero. Must include: - Keep existing frontmatter (template: home.html, tags) - Brief introduction paragraph (what this knowledge base covers) - "What You'll Find" section with cards or bullet list linking to each major section - "Who This Is For" section (security researchers, tool builders, vulnerability analysts) - "How to Use This Guide" section (suggested reading paths)
- Step 3: Verify build
Run: make lint Expected: Clean build.
- Step 4: Commit
git add docs/index.md
git commit -m "docs: add home page content with reading guides"
Task 11: Expand Glossary¶
Files: - Modify: docs/glossary.md
- Step 1: Collect all acronyms from completed pages
Search all docs/ files for acronyms and technical terms used across the site. Compile a master list of terms that need glossary entries.
- Step 2: Write expanded
docs/glossary.md
Expand from 3 terms to 50+ terms. Must include both: 1. Table rows: | TERM | Full Name --- definition | 2. Abbreviation lines: *[TERM]: Full Name --- definition
Organize the table by category with subheadings:
Categories to cover: - Fuzzing Techniques: AFL, AFL++, ASan, MSan, TSan, UBSan, ASAN, concolic, symbolic execution, coverage-guided, grammar-aware - Analysis Methods: SAST, DAST, IAST, taint analysis, abstract interpretation, dataflow analysis, CFG, DFG, CPG - Tools & Platforms: KLEE, S2E, SymCC, Valgrind, Frida, CodeQL, Semgrep, OSS-Fuzz, ClusterFuzz - Vulnerability Classes: CVE, CWE, RCE, XSS, SQLi, SSRF, UAF, buffer overflow, integer overflow - Standards & Organizations: NIST, MITRE, OWASP, CVSS, NVD - AI/ML Terms: LLM, RL, neural program smoothing, fine-tuning - Hardware Security: side-channel, Spectre, Meltdown, cache timing
Keep existing 3 entries (AFL, ASan, CVE). Add new entries below them.
- Step 3: Verify build
Run: make lint Expected: Clean build. Also verify that abbreviation tooltips work by checking that *[TERM]: lines are properly formatted.
- Step 4: Commit
git add docs/glossary.md
git commit -m "docs: expand glossary to 50+ terms with abbreviation tooltips"
Execution Summary¶
| Phase | Tasks | Parallelism | Dependencies |
|---|---|---|---|
| 1 | Task 1 (Methodology) | Sequential | None |
| 2 | Tasks 2, 3, 4 (Fuzzing, Analysis, Emerging) | 3 parallel agents | Task 1 |
| 3 | Tasks 5, 6 (SWOT, Gaps) | 2 parallel agents | Tasks 2, 3, 4 |
| 4 | Tasks 7--11 (Overview, Home, Glossary) | Sequential | Tasks 2--6 |
Total tasks: 11 Total pages: 28 Estimated content: 18,000--25,000 words
Verification Checklist¶
After all phases complete:
- Run
make lint--- full site builds with no warnings - All 28 pages have substantive content (no "Content coming soon" remaining)
- Cross-references between pages resolve correctly
- Glossary abbreviation tooltips work site-wide
- Mermaid diagrams render correctly
- Custom admonitions (
opportunity,threat,pain-point,gap) render with correct styling - No broken external links
tags: - glossary
Glossary¶
| Term | Definition |
|---|---|
| AFL | American Fuzzy Lop, coverage-guided fuzzer |
| ASan | AddressSanitizer, memory error detector |
| CVE | Common Vulnerabilities and Exposures |
| AFL++ | Community-maintained successor to AFL, the de facto standard coverage-guided fuzzer |
| AEG | Automatic Exploit Generation, automated creation of working exploits from vulnerability information |
| ANTLR | ANother Tool for Language Recognition, parser generator used by grammar-aware fuzzers like Superion |
| AST | Abstract Syntax Tree, tree representation of source code structure used by static analyzers |
| BOD | Binding Operational Directive, mandatory cybersecurity directives issued by CISA |
| BOF | Buffer Overflow, writing data beyond allocated memory bounds, a common memory safety vulnerability |
| CFG | Control Flow Graph, directed graph representing all possible execution paths through a program |
| CGC | Cyber Grand Challenge, DARPA competition for autonomous vulnerability detection and patching |
| ClusterFuzz | Google's distributed fuzzing infrastructure that powers OSS-Fuzz |
| CodeQL | GitHub's query-based static analysis engine that treats code as a queryable database |
| CFAA | Computer Fraud and Abuse Act, US federal law governing computer security violations |
| CNA | CVE Numbering Authority, organization authorized to assign CVE IDs |
| CNNVD | China National Vulnerability Database of Information Security |
| CNVD | China National Vulnerability Database |
| Concolic | Concrete + Symbolic, execution that runs concrete values while tracking symbolic constraints |
| Corpus | Collection of seed inputs used by a coverage-guided fuzzer as the basis for mutation |
| Coverity | Synopsys commercial static analysis platform with deep interprocedural analysis |
| CPG | Code Property Graph, unified representation combining AST, CFG, and data-flow graph, used by Joern |
| CVSS | Common Vulnerability Scoring System, standard for rating vulnerability severity |
| CWE | Common Weakness Enumeration, categorization of software weakness types |
| DAST | Dynamic Application Security Testing, testing running applications for vulnerabilities |
| DBI | Dynamic Binary Instrumentation, modifying program behavior at runtime without recompilation |
| DFG | Data Flow Graph, graph representing how data values propagate through a program |
| DPA | Differential Power Analysis, extracting cryptographic keys by analyzing power consumption variations |
| Frida | Dynamic instrumentation toolkit for injecting scripts into running processes |
| Harness | Glue code connecting a fuzzer to its target, defining how fuzzed input is delivered |
| HWASAN | Hardware-assisted AddressSanitizer, ARM-based variant of ASan with lower overhead |
| IAST | Interactive Application Security Testing, combines elements of SAST and DAST during testing |
| Infer | Meta's open-source static analyzer based on separation logic and bi-abduction |
| JVN | Japan Vulnerability Notes, Japanese vulnerability information portal |
| KLEE | Symbolic execution engine built on LLVM for automatic test generation |
| LLM | Large Language Model, neural network trained on text/code, used for bug detection and code generation |
| LSAN | LeakSanitizer, detector for memory leaks, often used alongside AddressSanitizer |
| Meltdown | CPU vulnerability exploiting out-of-order execution to read kernel memory from user space |
| MITRE | Non-profit organization that maintains CVE, CWE, and ATT&CK frameworks |
| MTTR | Mean Time to Remediate, average duration from vulnerability disclosure to patch deployment |
| MSan | MemorySanitizer, detector for reads of uninitialized memory |
| NVD | National Vulnerability Database, NIST-maintained repository of vulnerability data |
| NIST | National Institute of Standards and Technology, US agency maintaining security standards and NVD |
| OpenSSF | Open Source Security Foundation, Linux Foundation project for open-source security |
| OSS-Fuzz | Google's free continuous fuzzing service for open-source software |
| OWASP | Open Worldwide Application Security Project, community producing security guides and tools |
| RCE | Remote Code Execution, vulnerability allowing an attacker to run arbitrary code on a target system |
| RL | Reinforcement Learning, ML paradigm where agents learn through reward-based feedback |
| S2E | Selective Symbolic Execution, whole-system analysis platform combining QEMU with KLEE |
| SARIF | Static Analysis Results Interchange Format, standard for exchanging static analysis findings |
| SAST | Static Application Security Testing, analyzing source code for vulnerabilities without execution |
| SCA | Software Composition Analysis, identifying known vulnerabilities in third-party dependencies |
| Seed | Initial input provided to a fuzzer as the starting point for mutation |
| Semgrep | Lightweight open-source static analysis tool using pattern-matching rules |
| Side-channel | Attack vector exploiting physical implementation artifacts rather than algorithmic flaws |
| SMT | Satisfiability Modulo Theories, solver used by symbolic execution to find inputs satisfying path constraints |
| Spectre | Family of CPU vulnerabilities exploiting speculative execution to leak data across security boundaries |
| SQLi | SQL Injection, injecting malicious SQL into queries via unsanitized user input |
| SSRF | Server-Side Request Forgery, tricking a server into making requests to unintended destinations |
| SymCC | Compilation-based symbolic execution tool that is 2--3 orders of magnitude faster than KLEE |
| Taint analysis | Tracking the flow of untrusted data from sources to security-sensitive sinks |
| VDP | Vulnerability Disclosure Program, formal process for receiving vulnerability reports |
| TOCTOU | Time-of-Check-Time-of-Use, race condition between validating a resource and using it |
| TSan | ThreadSanitizer, detector for data races in multithreaded programs |
| UAF | Use-After-Free, accessing memory after it has been deallocated |
| UBSan | UndefinedBehaviorSanitizer, detector for undefined behavior in C/C++ |
| Valgrind | Dynamic binary instrumentation framework for memory debugging and profiling |
| XSS | Cross-Site Scripting, injecting malicious scripts into web pages viewed by other users |
| Fine-tuning | Adapting a pre-trained ML model to a specific task using additional training data |
| AUTOSAR | Automotive Open System Architecture, standardized software framework for automotive ECUs |
| CAN | Controller Area Network, vehicle bus standard for microcontroller communication |
| DNP3 | Distributed Network Protocol, used in SCADA and utility systems |
| EDK II | EFI Development Kit II, open-source UEFI firmware development environment |
| OPC UA | Open Platform Communications Unified Architecture, industrial automation protocol |
| RTOS | Real-Time Operating System, OS designed for real-time applications with deterministic timing |
| Abstract interpretation | Mathematical framework for approximating program behavior using abstract domains |
| Dataflow analysis | Tracking how values propagate through a program to detect bugs like taint violations |