simple-waf-scanner 0.1.6

Production-ready WAF scanner with OWASP Top 10:2025 Web & LLM support. 360+ payloads including LLM/GenAI testing (prompt injection, jailbreaks, system prompt leakage). HTTP/2, 11+ WAF fingerprints, 13 evasion techniques.
Documentation
use simple_waf_scanner::{Config, Scanner};

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    // Initialize tracing
    tracing_subscriber::fmt()
        .with_max_level(tracing::Level::INFO)
        .init();

    let mut config = Config::new("https://example.com".to_string());
    config.concurrency = 2;
    config.delay_ms = 1000;

    let scanner = Scanner::new(config).await?;
    let results = scanner.scan().await?;

    println!("\n=== WAF Detection Test ===");
    println!("Target: {}", results.target);
    if let Some(waf) = &results.waf_detected {
        println!("✓ WAF Detected: {}", waf);
    } else {
        println!("✗ No WAF detected");
    }
    println!("Findings: {}", results.findings.len());
    println!("========================\n");

    Ok(())
}