mirror of
https://github.com/mukul975/Anthropic-Cybersecurity-Skills.git
synced 2026-07-20 06:20:58 +03:00
Initial commit - 611 cybersecurity skills across all subdomains
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
# Standards Reference for Fuzz Testing
|
||||
|
||||
## NIST SP 800-53 Rev 5 Controls
|
||||
|
||||
| Control | Description | Fuzzing Alignment |
|
||||
|---------|-------------|-------------------|
|
||||
| SA-11(5) | Penetration Testing | Fuzz testing discovers vulnerabilities through automated input mutation |
|
||||
| SA-11(8) | Dynamic Code Analysis | AFL++ provides runtime analysis with instrumented binaries |
|
||||
| SI-10 | Information Input Validation | Fuzzing validates input handling robustness |
|
||||
| SI-17 | Fail-Safe Procedures | Crash detection ensures failures are handled safely |
|
||||
|
||||
## OWASP Testing Guide v4.2
|
||||
|
||||
- **WSTG-INPV-07**: Testing for Input Validation --- AFL++ systematically tests boundary conditions
|
||||
- **WSTG-ERRH-01**: Error Handling --- Crash analysis reveals improper error handling
|
||||
|
||||
## CWE Categories Commonly Found by Fuzzing
|
||||
|
||||
| CWE | Name | AFL++ Detection Method |
|
||||
|-----|------|----------------------|
|
||||
| CWE-120 | Buffer Overflow | ASan crash on out-of-bounds write |
|
||||
| CWE-125 | Out-of-Bounds Read | ASan crash on invalid read |
|
||||
| CWE-416 | Use After Free | ASan detects freed memory access |
|
||||
| CWE-476 | NULL Pointer Dereference | SIGSEGV on null deref |
|
||||
| CWE-190 | Integer Overflow | UBSan detects arithmetic overflow |
|
||||
| CWE-787 | Out-of-Bounds Write | ASan detects heap/stack buffer overflow |
|
||||
| CWE-400 | Uncontrolled Resource Consumption | Timeout detection for hangs |
|
||||
|
||||
## Fuzzing Maturity Levels
|
||||
|
||||
| Level | Description | CI Integration |
|
||||
|-------|-------------|----------------|
|
||||
| 1 Basic | Manual ad-hoc fuzzing | None |
|
||||
| 2 Structured | Harness-based with corpus management | PR-triggered short runs |
|
||||
| 3 Continuous | Nightly campaigns with crash tracking | Nightly + corpus caching |
|
||||
| 4 Optimized | Multi-tool (AFL++, libFuzzer), crash dedup, coverage tracking | Full CI/CD integration with gating |
|
||||
@@ -0,0 +1,64 @@
|
||||
# AFL++ Fuzz Testing Workflows
|
||||
|
||||
## Workflow 1: CI Pipeline Integration
|
||||
|
||||
```
|
||||
Code pushed to branch
|
||||
|
|
||||
Fuzzing harness compiled with afl-clang-fast + ASan
|
||||
|
|
||||
Corpus restored from CI cache
|
||||
|
|
||||
AFL++ runs in secondary mode for fixed duration
|
||||
|
|
||||
[No crashes] --> Corpus updated in cache, pipeline passes
|
||||
[Crashes found] --> Pipeline fails, crash artifacts uploaded
|
||||
|
|
||||
Developer triages crashes
|
||||
|
|
||||
Fix applied, re-run confirms no regression
|
||||
```
|
||||
|
||||
## Workflow 2: Nightly Fuzzing Campaign
|
||||
|
||||
```
|
||||
Scheduled nightly trigger (cron)
|
||||
|
|
||||
Build instrumented binary + CmpLog binary
|
||||
|
|
||||
Restore merged corpus from last run
|
||||
|
|
||||
Launch parallel AFL++ instances (nproc count)
|
||||
|
|
||||
Run for 4-8 hours
|
||||
|
|
||||
Collect results from all instances
|
||||
|
|
||||
afl-cmin merges and minimizes corpus
|
||||
|
|
||||
Deduplicate crashes by stack hash
|
||||
|
|
||||
New crashes create Jira/GitHub issues automatically
|
||||
|
|
||||
Updated corpus cached for next run
|
||||
```
|
||||
|
||||
## Workflow 3: Crash Triage and Fix
|
||||
|
||||
```
|
||||
Crash file identified in findings/
|
||||
|
|
||||
Reproduce crash with ASan-instrumented binary
|
||||
|
|
||||
Capture ASan stack trace and error type
|
||||
|
|
||||
Minimize crash input with afl-tmin
|
||||
|
|
||||
Identify root cause from stack trace
|
||||
|
|
||||
Develop fix and add crash input as regression test
|
||||
|
|
||||
Verify fix by re-running AFL++ with crash input
|
||||
|
|
||||
Update corpus to include edge case inputs
|
||||
```
|
||||
Reference in New Issue
Block a user