Hub
Security

Web Application Firewall

WAF log events with OWASP CRS rule detections (SQLi, XSS, RCE, LFI, SSRF), bot management, rate limiting, geo-blocking, and CAPTCHA challenges — modeled after ModSecurity with realistic attack payloads and GeoIP data.

Quick Start

uv tool install eventum-generator
git clone https://github.com/eventum-generator/content-packs.git
cd content-packs
eventum generate \
  --path generators/security-waf/generator.yml \
  --id waf-01 \
  --live-mode true

Event Types

Event IDDescriptionFrequencyCategory
allowedAllowed Traffic73.9%web, network
sqliSQL Injection4.9%web, intrusion_detection
xssCross-Site Scripting3.9%web, intrusion_detection
rate-limitRate Limiting3.9%web, intrusion_detection
bot-detectionBot Detection3.0%web, intrusion_detection
rceRemote Code Execution2.0%web, intrusion_detection
lfiLocal File Inclusion2.0%web, intrusion_detection
geo-blockGeo-Blocking2.0%web, intrusion_detection
captcha-challengeCAPTCHA Challenge1.5%web, authentication
ssrfServer-Side Request Forgery1.5%web, intrusion_detection
protocol-violationProtocol Violation1.5%web, network

Realism Features

  • OWASP CRS 3.x/4.x rule IDs across 6 attack categories (SQLi, XSS, RCE, LFI, SSRF, protocol enforcement)
  • 35 realistic attack payloads including SQL tautology, UNION injection, XSS event handlers, path traversal, and SSRF cloud metadata
  • 45 target URLs spanning pages, APIs, static assets, and well-known paths
  • 26 user agents covering browsers, mobile, bots, developer tools, and vulnerability scanners (sqlmap, nikto, nuclei)
  • GeoIP data for 18 cities across 14 countries with geo-blocking from restricted nations
  • MITRE ATT&CK tactic/technique mapping on all attack events

Sample Output

{
  "@timestamp": "2026-03-04T14:30:25.654321+00:00",
  "event": {
    "action": "denied",
    "category": [
      "web",
      "intrusion_detection"
    ],
    "dataset": "waf.log",
    "kind": "alert",
    "module": "waf",
    "outcome": "failure",
    "severity": 2,
    "type": [
      "access",
      "denied"
    ]
  },
  "http": {
    "request": {
      "bytes": 891,
      "method": "POST"
    },
    "response": {
      "status_code": 403
    },
    "version": "1.1"
  },
  "message": "SQL Injection Attack Detected via libinjection",
  "observer": {
    "hostname": "waf-prod-01",
    "product": "WAF",
    "type": "waf",
    "vendor": "ModSecurity"
  },
  "rule": {
    "category": "SQLI",
    "id": "942100",
    "name": "SQL Injection Attack Detected via libinjection",
    "ruleset": "OWASP CRS"
  },
  "source": {
    "ip": "198.51.100.73",
    "geo": {
      "city_name": "Moscow",
      "country_iso_code": "RU",
      "country_name": "Russia"
    }
  },
  "threat": {
    "tactic": {
      "name": [
        "Initial Access"
      ]
    },
    "technique": {
      "name": [
        "Exploit Public-Facing Application"
      ]
    }
  },
  "url": {
    "domain": "app.example.com",
    "path": "/api/v1/search",
    "scheme": "https"
  },
  "waf": {
    "action": "blocked",
    "anomaly_score": 15,
    "matched_data": "' OR 1=1--",
    "matched_var": "ARGS",
    "mode": "blocking",
    "rule_count": 2
  },
  "tags": [
    "waf",
    "attack-sqli"
  ]
}

Parameters

ParameterDefaultDescription
hostnamewaf-prod-01WAF node hostname
server_nameapp.example.comProtected web application domain
server_ip10.0.1.50Backend server IP address
waf_vendorModSecurityWAF product name
waf_modeblockingWAF operating mode (blocking/detection)
agent_idc4f2e8a1-...Filebeat agent UUID
agent_version8.17.0Filebeat agent version

Related Generators