docs: add fuzzer results to security assessment
All checks were successful
CI / Lint & Format (push) Successful in 21s
CI / Security Scan (push) Successful in 21s
CI / Memory Leak Check (push) Successful in 18s
CI / SBOM Generation (push) Successful in 18s
CI / Security Tests (push) Successful in 24s
CI / Unit Tests (push) Successful in 32s

This commit is contained in:
Username
2025-12-25 22:52:43 +01:00
parent a9cd0313d3
commit da36f15741

View File

@@ -239,3 +239,52 @@ The FlaskPaste MIME detection system is resistant to polyglot file attacks due t
**Risk Level: LOW**
The attack surface is minimal because detected MIME types only affect the `Content-Type` header served to clients, and browser-side exploitation is blocked by CSP and X-Content-Type-Options headers.
---
## Automated Fuzzing Results
### Fuzzer Execution
```bash
./venv/bin/python tests/fuzz/run_fuzz.py --verbose
```
### Summary
| Metric | Value |
|--------|-------|
| Total phases | 6 |
| Total requests | 192 |
| CRITICAL findings | 3 (expected behavior) |
| HIGH findings | 10 (false positives) |
| MEDIUM findings | 1 (intentional) |
### Finding Analysis
| Finding | Verdict | Reason |
|---------|---------|--------|
| X-SSL-Client-SHA1 bypass | EXPECTED | No TRUSTED_PROXY_SECRET configured in test |
| Header injection (10x) | FALSE POSITIVE | Werkzeug sanitizes; payloads not reflected |
| /metrics exposed | INTENTIONAL | Required for Prometheus monitoring |
### Verification
Header injection claims verified as false positives:
```bash
# Host header not reflected
curl -sI http://127.0.0.1:5099/ -H "Host: evil.com" | grep evil
# (no output)
# SQL payload not reflected
curl -s http://127.0.0.1:5099/ -H "X-Forwarded-For: ' OR 1=1--" | grep "OR 1=1"
# (no output)
# CRLF injection blocked by Werkzeug
curl -sI http://127.0.0.1:5099/ -H "Host: evil.com
X-Injected: true" | grep X-Injected
# (no output)
```
**Conclusion:** The fuzzer correctly identified expected behaviors but produced false positives for header injection attacks. Flask/Werkzeug properly sanitizes all header inputs.