Enterprise-grade AI-enhanced Web Application Firewall designed specifically for cloud-based applications.
Real-time monitoring, advanced threat protection, and scalable security for startups, SMEs, and DevOps teams.
CloFix stops SQL injection, cross-site scripting, SSRF, path traversal, bots, credential stuffing, API abuse, and DDoS floods before they reach your origin.
Shape protection with OWASP CRS, WASM, JavaScript, and Lua, then distribute traffic with health checks, rate limits, and live analytics.
Enterprise-grade reliability with automatic failover and connection draining - zero-downtime deployments
β₯
Active Health Checks
Configurable HTTP/HTTPS health checks with custom path, interval (default 10s), timeout (default 3s), and expected status code (default 200) - automatic backend removal on failure
β
Passive Health Monitoring
Track real traffic failures (max_fails default 3, fail_timeout 30s) - mark backends unhealthy without extra probe traffic
β§
Backup Servers
Designate backup backends (backup=true) - used only when all primary servers fail, with separate max_fails/fail_timeout settings
β
Connection Draining
Gracefully remove backends from rotation - existing connections complete before server shutdown, zero dropped requests during deployments
Automatically rewrites backend URLs in HTML, JSON, and XML responses to show only frontend domain - http://clofix.com/page β https://demo.clofix.com/page
π§Ή
Header Sanitization
Removes 25+ debugging and server identification headers from responses before reaching clients
π
SSL/TLS Termination
Offload SSL at load balancer with configurable TLSv1.2 and TLSv1.3 protocols - automatic certificate management available
π
Client IP Preservation
Original client IP preserved through X-Forwarded-For and PROXY protocol - backends always know real client address
β
PROXY Protocol Support
Preserve original client IP when using proxy protocols with backend servers that support PROXY v1/v2
β‘
<1ms Latency Overhead
Ultra-low latency with zero-copy forwarding and connection pooling - no measurable performance impact
β
5+ Load Balancing Algorithms
Round Robin (sequential distribution), Least Connections (send to server with fewest active connections), IP Hash (client IP to same backend), Weighted (capacity-based), Random - choose per workload
πͺ
Session Persistence (Sticky Sessions)
Cookie-based stickiness with configurable cookie name (default clofix_backend) - ensures user sessions stay on the same backend server
π
Backend Weight Configuration
Assign weights to servers based on capacity - weight=10 for powerful instances, weight=1 for smaller ones
β
Concurrent Connection Limits
max_conns per backend prevents resource exhaustion during traffic spikes - unlimited by default
π
HTTP/2 & HTTP/3 Support
Full support for modern HTTP protocols with multiplexing and improved performance
π¦
Gzip Compression
Automatic response compression to reduce bandwidth and improve load times
π
Layer 4 (TCP/UDP) Load Balancing
Transparent TCP/UDP proxy for databases, message queues, and legacy applications - no HTTP required
π
IPv4/IPv6 Dual Stack
Listen on both IPv4 and IPv6, connect to backends over IPv4 or IPv6 with configurable preference
πΊ
Geolocation-Based Routing
Route users to nearest backend based on country or region - reduces latency and improves user experience
π¬
WebSocket Support
Native WebSocket protocol upgrade with connection persistence across backend pools - perfect for real-time applications
π‘
gRPC Load Balancing
Full gRPC support with HTTP/2 multiplexing and health checking protocol integration
π
Real-time Backend Alerts
Automatic notifications when backends go down or recover - supports Slack, Email, Webhook, and Telegram with detailed failure information
π
Real-time Metrics
Prometheus-compatible metrics for each backend - request rate, error rate, active connections, health status
β
Admin API
REST API for dynamic backend management - add, remove, enable, disable, or rebalance backends without reload
How it works
βTraffic in
βΊ
β₯Health check
βΊ
βRoute by algorithm
βΊ
π‘Strip headers
CloFix Load Balancer sits between clients and backend servers, intelligently distributing traffic based on configurable algorithms. Health checks run continuously - unhealthy backends are automatically removed from rotation based on max_fails (default 3) and fail_timeout (default 30s). Backend information hiding automatically strips 30+ sensitive headers from responses, including Server, X-Powered-By, X-Backend-Server, and Via headers. Response body URL rewriting converts internal backend URLs to frontend domain in HTML, JSON, and XML content. Real-time notifications alert via webhook when backends go down or recover. Session persistence (sticky sessions) ensures users stay on the same backend via cookies. Configuration supports weight-based distribution for uneven backend capacities, backup servers for failover, and connection pooling for optimal performance. All this runs with less than 1ms latency overhead.
Documentation:CloFix Load Balancer Guide - Backend configuration, load balancing algorithms, health checks, and security hardening
Scripting Engine
π¦ CloFix WASM Engine
High-performance WebAssembly module execution engine with memory isolation, timeout protection, and intelligent request processing for custom WAF rules
Memory Isolation & Security: Each WASM module runs in its own sandbox with configurable memory limits (default 64MB) - prevents memory corruption and protects host system from malicious modules
Execution Timeout Protection: Configurable timeouts per module (default 100ms) - automatically terminates runaway modules, prevents DoS attacks, and ensures predictable WAF performance
Instance Pooling: Pre-warmed module instances with configurable pool size (default 8) - eliminates cold starts, reduces latency by 70-90%, and handles sudden traffic spikes
Host Function API (40+ Functions): Rich request/response manipulation, geoIP lookup, threat intelligence, crypto utilities, rate limiting, and string operations - build complex WAF logic without writing custom C extensions
Zero-Copy Memory Access: Direct memory mapping between host and WASM - minimizes data copying overhead, achieves sub-millisecond request processing latency
Multiple Language Support: Write modules in 8+ languages - TinyGo (strongly recommended), Rust (wasm32-wasi), C/C++ (wasi-sdk), AssemblyScript, Zig, and more - use your existing skills
Automatic Module Reload: Hot reload modules without restarting the WAF - zero-downtime rule updates, instant security policy changes, and A/B testing of new rules
Built-in Rate Limiting: Token bucket algorithm with configurable limits per key - protect APIs and endpoints without external Redis or database dependencies
Threat Intelligence Integration: Real-time IP reputation, Tor exit node detection, VPN/proxy detection, datacenter IP identification - block malicious traffic before it reaches your applications
Geolocation Processing: Country, city, region, postal code, latitude/longitude, ASN, ISP - implement geo-fencing, localize responses, or route traffic based on client location
Response Manipulation: Add/remove headers, set cookies with secure/httpOnly flags, redirect requests, customize status codes - modify responses without changing backend code
Advanced String Utilities: Regex matching, substring search, case conversion, URL encoding/decoding - complex pattern matching without performance penalties
Crypto Operations: SHA256 hashing, Base64 encoding/decoding - verify signatures, decode tokens, or transform data without external libraries
JSON Processing: Parse and manipulate JSON request/response bodies - inspect form data, validate JSON schemas, or extract specific fields for analysis
Compiler Detection: Automatic detection of 8+ compilers - identifies browser-only WASM (rejected) vs WAF-compatible modules (accepted) with clear error messages and remediation steps
Dangerous Import Blocking: Hard blocks filesystem access (path_open), network I/O (sock_recv/send), process manipulation (proc_raise), and blocking operations (poll_oneoff) - prevents malicious modules
Configurable Validation Modes: Strict (fail on any ERROR), Standard (fail only on CRITICAL), Permissive (report only) - adapt to your security requirements
ABI Standard Compliance: process_request(ptr, len) β packed uint64 (ptr<<32|len) or two-return convention - TinyGo and Rust compatible out of the box
JSON Output Support: Machine-readable validation results for CI/CD pipelines - automate module testing before deployment
Fail-open Architecture: Configurable fail-open mode - if a module crashes or times out, requests continue processing (default) or can be configured to fail-closed for high-security environments
Concurrent Request Handling: Thread-safe design with sync.Pool and atomic counters - handles thousands of concurrent requests without lock contention
WASI Preview1 Support: Full WASI system interface implementation - modules can use random_get, clock_time_get, fd_write for logging, and memory_grow for dynamic allocation
Module Preloading: Load all modules from directory at startup - warm all pools, verify module integrity, and ensure zero errors before accepting traffic
Memory Limit Enforcement: Hard limits per module (configurable up to 64MB) - prevents memory exhaustion attacks, protects other modules, and ensures fair resource allocation
Per-Request Context: Isolated request context passed to host functions - no cross-request contamination, thread-safe header/body access, and deterministic processing
Binary Pattern Detection: Scans for embedded PE/MZ/ELF/Mach-O headers, x86 NOP sleds, and nested WASM modules - detects injection attacks and malicious payloads
SHA256 Integrity Checks: Automatic hashing of all loaded modules - audit which version is running, detect unauthorized changes, and ensure supply chain security
Multi-domain Support: Different module chains per domain - per-customer WAF rules, white-label deployments, or testing new rules on specific domains
Session Persistence: WASM modules can read/set session cookies and values - implement custom session validation, user tracking, or fraud detection logic
Bot Detection Scores: Pre-calculated bot scores based on User-Agent, header completeness, and behavioral patterns - module can block, challenge, or log suspicious requests
Anomaly Scoring: Request anomaly detection based on method, path length, query parameters, and header patterns - flag unusual requests for additional inspection
Risk Scoring Framework: Weighted risk scoring (INFO=1, WARN=5, ERROR=20, CRITICAL=35) with 0-100 scale - automated pass/fail decisions with CLEAN/LOW/MEDIUM/HIGH/CRITICAL labels
π‘ How it works: CloFix WASM Engine embeds the wazero WebAssembly runtime (zero dependencies, pure Go). When a request arrives, the engine builds a rich WASMRequest structure with 80+ fields including HTTP details, geo location, threat intel, and bot scores. The engine acquires a pre-warmed module instance from the pool, calls wasm_alloc to allocate memory for the request JSON, writes the data to linear memory, then calls process_request. The module processes the request using 40+ host functions (get_header, set_cookie, rate_limit, is_tor, etc.), returns a decision (allow/block/challenge/redirect) with optional headers/cookies. The engine parses the response, applies any modifications (headers, cookies, redirects), and returns the final decision to the proxy layer. Execution timeouts (default 100ms) prevent runaway modules - if a module times out, the engine marks it as failed and continues to the next module. Instance pooling eliminates cold starts - modules are loaded once and reused across requests. All host functions are pre-registered and validated - modules can only access safe, WAF-specific operations. The included validator tool checks modules before loading - verifies required exports (process_request, wasm_alloc), validates imports (only env/wasi_snapshot_preview1), enforces memory limits, scans for dangerous patterns, and detects incompatible compilers (Rust wasm-bindgen, Go syscall/js). This ensures only safe, compatible modules run in production.
π Documentation:CloFix WASM Engine Guide - Module development, host API reference, validator usage, deployment patterns, and performance tuning
π Performance Metrics:
Median latency: 85Β΅s (microseconds) per module
P99 latency: 420Β΅s including JSON marshaling
Memory overhead: ~2MB per module + pool instances
Concurrent requests: 10,000+ without degradation
Module cold start: <50ms including compilation
Warm instance reuse: <10Β΅s to acquire from pool
π Security Hardening:
No filesystem access - modules cannot read/write files
No network access - modules cannot make external requests
No arbitrary syscalls - only pre-approved host functions
Memory sandboxing - each module has isolated linear memory
Execution timeouts - modules cannot run indefinitely
Memory limits - configurable up to 64MB prevents DoS
Import allowlist - only env and wasi_snapshot_preview1 allowed
Entry Point: Every script must export `function clofix(request)` that returns an action object - first non-allow action wins pipeline execution
Request Object: Full access to `request.ip`, `request.method`, `request.path`, `request.url`, `request.query`, `request.headers`, `request.body`, `request.cookies`, `request.user_agent`, `request.is_tor`, `request.timestamp`
Shared Dictionaries: Persistent cross-request state via `sharedDict("name")` with `get()`, `set()`, `incr()`, `delete()` methods - perfect for rate limiting and bot tracking
Pattern Extraction: System auto-extracts patterns from ALL JavaScript files for fast matching - strings and regex patterns become detection signatures
CSRF Protection: Origin header validation for POST/PUT/DELETE/PATCH methods with configurable allowed origins and exempt paths
API Key Authentication: Validate `X-API-Key` header or `api_key` query parameter against pre-configured key store
File Type Filtering: Block dangerous extensions (.php, .asp, .jsp, .exe, .sh, .py) before they reach backend
Maintenance Mode: Temporary blocking with IP allowlisting and health check exemptions
Smart Redirects: URL rewriting with exact and prefix-based 301/302 redirects
Honeypot Traps: Special URLs that ban any visiting IP (except whitelisted search engine bots) for 24 hours
Password Protect URLs: Simple token-based authentication for staging/preview environments
Tor/VPN Blocking: Native `request.is_tor` detection for blocking Tor exit nodes
π‘ How it works: JavaScript scripts execute in isolated V8 isolates with a 2-second timeout. Files execute in alphabetical order - use numeric prefixes like `01_rate_limit.js`, `02_bot_detect.js` to control priority. The first script returning a non-allow action stops pipeline execution. Shared dictionaries (`sharedDict("name")`) provide persistent cross-request storage with TTL support. Pattern extraction automatically scans all JavaScript files for strings and regex patterns, creating fast-matching signatures checked against every request. The system is configured via `js_blocker` block in domain config with `js_dir`, `execution_timeout`, `block_threshold`, and `scan_interval` settings.
π Official Documentation:CloFix JavaScript Scripting Guide - Complete API reference with SQL injection, XSS, rate limiting, DDoS protection, and more examples
βοΈ OWASP CRS Core Rule Set
Industry-standard web attack detection with 25 rule files, 4 paranoia levels, and anomaly scoring
IP Reputation (910xxx): Tor exit nodes, VPN/proxy detection, known malicious IPs, and blacklist integration with hourly updates
DoS Protection (912xxx): Rate-based DoS detection with configurable thresholds and blocking actions
Response Inspection (950xxx, 951xxx): Data leakage detection (credit cards, SSNs, API keys), SQL error messages, and information disclosure prevention
Intelligent Bypass System: Bypass by rule ID, tag (`attack-sqli`, `paranoia-level/3`), phase (1-4), path (`/health`, `/api/public/*`), or IP (`127.0.0.1`, `192.168.1.*`)
Virtual Patching: Create custom CloFixRule directives to patch vulnerable applications without code changes - deploy within minutes of vulnerability disclosure
Compliance Mode: Pre-configured rule sets for PCI DSS 4.0, HIPAA, and GDPR with audit logging and reporting
False Positive Analysis: Dashboard showing most triggered rules, false positive rate, and suggested exclusions based on traffic patterns
Rule Testing: Built-in regression testing with attack payload simulation to validate rule effectiveness before production deployment
π‘ How it works: CloFix CRS processes requests through 4 phases with 25 rule files loaded in OWASP order. The anomaly scoring system aggregates weighted points from matched rules - reaching the configured threshold triggers blocking. Paranoia levels allow gradual tuning from minimal false positives (Level 1) to maximum security (Level 4). The intelligent bypass system supports rule ID, tag, phase, path, and IP bypasses. All rule processing uses the Coraza engine with Hyperscan regex, handling 100,000+ requests/second. Configuration uses `CloFixRule` directives with variables, operators, transformations, and actions. Rules automatically update from the OWASP CRS repository every 6 hours.
π Official Documentation:CloFix OWASP CRS Guide - Complete reference with 25 rule files, paranoia levels, anomaly scoring, and bypass configuration
π§ CloFix Lua Scripting Engine
Embedded Lua 5.4 with clofix_main entry point, threat scoring, and shared dictionaries
Shared Dictionaries: Persistent state across requests via `clofix.shared.ddos_attack` with `get()`, `set(key, value, ttl?)`, `incr()`, `delete()` - perfect for rate limiting, bot tracking, and DDoS protection
Payload Normalization: `clofix.normalize_payload(s)` - multi-pass URL decode, HTML decode, lowercase, and whitespace collapse for injection detection
SQL Injection Detection: Patterns for UNION SELECT, INSERT INTO, DROP TABLE, OR 1=1, SLEEP(), BENCHMARK(), information_schema - with payload normalization
Directory Structure: `./lua_script//` with alphabetical execution order - use numeric prefixes (`01_rate_limit.lua`, `02_bot_detection.lua`) for priority
Domain Configuration: Enable Lua with `lua { enabled on; lua_shared_dict ddos_attack 10m; }` in domain config
π‘ How it works: Lua scripts execute in isolated VM instances with 50ms timeout. Files run in alphabetical order - first non-allow action stops pipeline. The `clofix_main(request)` function receives a request object with all HTTP context, GeoIP, JA3 fingerprint, and threat intelligence fields. Shared dictionaries (`clofix.shared.*`) provide thread-safe cross-request storage with TTL. Payload normalization (`clofix.normalize_payload()`) defeats encoding evasion before pattern matching. The scoring engine allows multi-rule accumulation before final action. Structured attack logging (`clofix.log_attack()`) automatically captures full request context for SIEM integration. All functions are C-bound for performance - Lua scripts typically process 80,000 requests/second on modest hardware.
π Official Documentation:CloFix Lua Scripting Guide - Complete API reference with SQL injection, XSS, rate limiting, DDoS protection, shared dictionaries, and 15+ production-ready examples
π― CloFix Custom Rules & Scripting
Unified rule engine combining CloFixRule directives, JavaScript, and Lua with intelligent bypass system
Multi-Language Support: Choose between declarative CloFixRule (YAML-like), JavaScript (clofix), or Lua (clofix_main) - mix and match in the same deployment with alphabetical execution order
Intelligent Bypass System: Bypass rules by rule ID, tag (`attack-sqli`, `paranoia-level/3`), phase (1-4 request/response), path (`/health`, `/api/public/*`), or IP (`127.0.0.1`, `192.168.1.*`, `10.0.0.0/8`)
Anomaly Scoring Engine: Each rule contributes weighted points to anomaly score (CRITICAL=5, ERROR=4, WARNING=3, NOTICE=2, INFO=1). Threshold-based blocking with configurable inbound/outbound limits
Paranoia Levels 1-4: Progressive protection from minimal false positives (Level 1) to maximum security (Level 4) - adjust per domain or globally
Pattern Extraction: JavaScript files automatically scanned for strings and regex patterns - used for fast matching without execution overhead
Shared Dictionaries: Persistent cross-request state with TTL - `sharedDict("name")` in JavaScript, `clofix.shared.*` in Lua, perfect for rate limiting and bot tracking
Action Types: `block` (403), `allow`, `rate_limit` (429), `challenge` (CAPTCHA), `redirect`, `log_only`, `captcha` - with custom status codes and messages
Virtual Patching: Create custom rules to patch vulnerable applications without code changes - deploy within minutes of vulnerability disclosure
Rule Testing Sandbox: Interactive playground to test custom rules against historical traffic or custom payloads before production deployment
Pre-built Rule Templates: 200+ community-contributed templates for WordPress, Drupal, Joomla, Magento, Laravel, Django, and custom applications
API Rate Limiting DSL: Specialized syntax for API protection - per-endpoint limits, burst handling, graduated response (slow down β challenge β block)
Bot Detection Rules: Pre-configured bot fingerprints for 500+ known bots (Googlebot, Bingbot, ChatGPT, GPTBot, Anthropic) with custom actions per bot type
Credential Stuffing Protection: Login endpoint velocity checks, password reuse patterns, and known breached credentials via haveibeenpwned API integration
GraphQL Security Rules: Introspection blocking, depth limiting (default max depth 10), complexity scoring, and batch query throttling
gRPC Method Filtering: Whitelist/blacklist specific gRPC methods with regex patterns - block reflection services and internal methods from external callers
JSON Schema Validation: Enforce JSON schemas on API requests - block malformed payloads before they reach your application logic
XML/SOAP Validation: Detect XML bombs, XXE attacks, and schema violations in SOAP and REST XML payloads
Custom Response Rules: Inspect and modify responses - add security headers (CSP, HSTS), remove server signatures, inject monitoring scripts, block responses containing sensitive data
Webhook Actions: Trigger external webhooks on rule matches - send alerts to Slack, PagerDuty, or custom SIEM solutions with full request context
Delayed Response (Tarpitting): Slow down attackers with configurable delays - waste attacker resources while maintaining legitimate user experience
Log Sampling: Sample and log only matching rules at configurable rates - reduce log volume while maintaining security visibility
Rule Groups: Organize rules into named groups (PCI, HIPAA, WordPress, API) - enable/disable entire groups with a single toggle for multi-tenant environments
Priority Execution: Assign execution priority (1-1000) - ensure critical rules run first while complex analysis runs later. Pre-optimize based on historical match rates
Rule Metrics Dashboard: Real-time metrics per rule - match count, false positive rate, execution time, and impact score. Identify rules causing latency or blocking legitimate traffic
Automated Rule Optimization: ML-powered suggestions to reduce false positives - learn from blocked vs. allowed traffic patterns and suggest threshold adjustments
Rule Export/Import: Export rule sets as YAML/JSON for backup, version control, or sharing across deployments. Import from other CloFix instances or community repositories
Inline Documentation: Document rules with markdown descriptions, examples, and remediation steps - built-in documentation viewer for security teams
Rule Scheduling: Schedule rules for specific maintenance windows or seasonal traffic - automatically enable holiday shopping protection, disable during low-traffic periods
π‘ How it works: CloFix Custom Rules engine processes rules in execution priority order across three scripting languages. CloFixRule directives are compiled into optimized decision trees for O(log n) lookup times. JavaScript and Lua scripts execute in isolated VMs with 2-second (JS) or 50ms (Lua) timeouts. Files execute alphabetically - use numeric prefixes like `01_rate_limit.js`, `02_bot_detection.lua`, `03_clofixrule.conf` to control pipeline order. The intelligent bypass system supports rule ID, tag, phase, path, and IP bypasses - documented bypasses are essential for production. All rule executions are traced in the audit log with detailed match information for forensics and tuning. Shared dictionaries (`sharedDict` in JS, `clofix.shared` in Lua) maintain cross-request state with TTL support. Pattern extraction from JavaScript files automatically creates fast-matching signatures checked against every request.
π Official Documentation:CloFixRule & Custom Rules Guide - Complete syntax reference with variables, operators, transformations, bypass configuration, and 50+ rule examples
π§ CloFix AI Protection Engine
Inline obfuscated-payload classifier and behavioral anomaly scoring with Threat Learning - CRS-independent, mode-capped, sub-millisecond hot path
π‘ How it works: On each request the AI Protection Engine builds a capped field map (path, query, body, headers), runs Module A payload scoring and Module B behavioral scoring under a hard millisecond budget, then applies CapAction so enforcement never exceeds the configured mode. When Threat Learning is on, high-confidence decisions create or hit IP-independent signatures (skeleton + SimHash for payloads, client fingerprints, behavior sequences). Matching active signatures can challenge or block without CRS. Decisions stream to ClickHouse asynchronously; the in-memory ring powers the Recent table on `/waf-dashboard/ai-engine`. Safe rollout: start at `mode monitor`, watch FP rate, raise to `challenge`, then `block`.
π Official Documentation:CloFix AI Protection Engine Guide - payload shapes, Threat Learning, mode ceilings, and dashboard workflows
π CloFix API Security Engine
GraphQL, API abuse, and schema validation for scoped API paths with block or log-only modes
π‘ How it works: When a request path matches a configured API prefix, the API Security Engine evaluates GraphQL risk (introspection, depth, dangerous ops), abuse signals (methods, rate, admin paths), and schema rules (Content-Type / JSON on mutations). In block mode matching requests are denied; in log mode they continue after telemetry. Non-matching paths are ignored so public pages and static assets are unaffected. Configure under domain conf `api_engine` or Configuration Manager β API Security Engine; monitor at `/waf-dashboard/api-engine`.
π‘ How it works: Each request is scored by the Bot Management Engine using TLS fingerprint, automation UA shape, behavioral context, and related signals. Scores below the challenge threshold continue; scores between challenge and block thresholds receive a JS challenge; scores at or above the block threshold are denied. Verified good bots can bypass scoring when enabled. Tune thresholds per domain via `bot_engine` or Configuration Manager; observe outcomes on `/waf-dashboard/bot`. Pair with Advanced Protection Under Attack Mode during volumetric bot floods.
π‘ How it works: Advanced Protection evaluates browser integrity signals and the active sensitivity / Under Attack setting before the request proceeds. Missing browser headers or Under Attack Mode send HTML navigations through the JS challenge; successful clients receive a verification cookie and skip re-challenge when challenge passage is on. Excluded paths (APIs, health, dashboard) bypass these checks so machine clients on allowlisted prefixes keep working. Raise `sensitivity` or flip `under_attack on` during incidents; dial back when traffic normalizes. Manage from `/waf-dashboard/advanced` or domain `advanced_protection { }`.
π Official Documentation:CloFix Advanced Protection Guide - Under Attack Mode, Browser Integrity, sensitivity, and challenge passage
Default Protection
π Behavioral Analysis
Advanced browser vs. bot detection using behavioral patterns and TLS fingerprinting
Key Benefits
Request-1 Blocking: FastBlocker fires on the very first request - no history needed. Missing Sec-Fetch-*, bare Accept headers, and low header count score instantly before any proxying occurs
JA3 TLS Fingerprinting: Computed directly from Go's tls.ClientHelloInfo via GetConfigForClient hook - no nginx module required. CipherSuites, SupportedVersions, SupportedCurves, SignatureSchemes, ALPN, and SNI all contribute to the hash
Known Browser Database: Chrome, Firefox, Safari, Edge, Opera, Brave, and Tor Browser JA3 hashes pre-loaded. Exact match = instant allow with zero behavioral scoring overhead
UA Structure Analysis: Detects tools by shape, not name - no hardcoded tool strings. Checks Mozilla/ token, platform () grouping, and AppleWebKit/Gecko presence. All three must exist simultaneously
Sec-Fetch Header Detection: Injected by all browsers since Chrome 76 / Firefox 90 - absent in every HTTP library. Missing all three Sec-Fetch-Site/Mode/Dest headers scores +35pts instantly
Tiered Velocity Scoring: Three escalating tiers - warn (+20), high (+35), extreme (+50) - scored per JA3 fingerprint over a 5-minute sliding window. IP rotation doesn't help if TLS stack is consistent
Machine Timing Detection: Coefficient of variation (stddev/mean) of inter-request intervals. CV <0.05 AND mean <2s = machine precision timing (+45pts). Requires only 4 requests to compute
Uniform Response Time Detection: Tools receive consistent server response times. CV <0.1 across 6+ requests flags automated polling (+20pts)
Shannon Path Entropy: Entropy <0.6 on normalized paths = scanner repeating same endpoints (+20pts). Entropy <0.3 with 10+ requests = very low entropy (+35pts). Paths normalized: /api/users/123 β /api/users/*
Sequential Enumeration: Detects /item/1, /item/2, /item/3 numeric crawl patterns. Fires when >30% of consecutive path pairs are sequential (+35pts)
High Path Density: >90% unique paths in <8 requests = scanner walking endpoints (+25pts). Combined with velocity = strong scanner signal
Zero Static Assets: Real users load CSS/JS/images - tools never do. 0% static asset ratio after 10+ requests adds +30pts. Checked against 18 file extensions
Method Probing Detection: 4+ distinct HTTP methods (GET/POST/PUT/DELETE/PATCH/OPTIONS/HEAD) against the same path = method enumeration attack (+30pts)
Error Rate Analysis: Three tiers - elevated (>25% 4xx β +12pts), high (>50% 4xx/5xx β +25pts), 404-dominant (>50% 404 β +35pts). Distinguishes path probing from application errors
Parameter Fuzzing Detection: Same endpoint with 10+ unique parameter names across 20+ requests = automated parameter discovery (+30pts)
UA Rotation Detection: >30% unique User-Agents across 10+ requests = evasion attempt via UA cycling (+25pts)
Burst Pattern Detection: Zero requests in the prior 9-minute window followed by 20+ in the last minute = attack burst after reconnaissance silence (+30pts)
Path Traversal Scoring: Double-dot sequences (../, ..\, %2e%2e), null bytes (\x00, %00), CRLF injection (\r, \n) in request paths scored independently in both FastBlocker and BehaviorEngine layers
Query String Injection: Structural injection patterns in query strings - union+select, <script, onerror=, exec(, base64_decode(, javascript: - scored +50β55pts on first occurrence
Sticky Block System: Score β₯70 triggers a 15-minute hard block written to the profile. Pre-request IsBlocked() check fires before WAF rules, DDoS engine, or upstream proxy
Block Auto-Expiry: Block TTL auto-expires on the next request after 15 minutes. Profile demoted to challenge state rather than deleted - retains behavioral history
Session Trust Bonus: Established sessions older than 10 minutes with score <20 receive a β15pts reduction. Prevents over-blocking legitimate power users
New Profile Penalty: Profile younger than 10 seconds with 15+ requests scores +20pts - human-impossible volume in that window
Domain Isolation: Profile store is per-domain. Dashboard locked to r.Host - ?domain= query parameter is completely ignored server-side, preventing cross-tenant data leakage
IP Rate Limiter: Sliding window 30 req/10s per IP. Fires independently of behavioral scoring - instant 5-minute block regardless of headers or UA
Health Check Bypass: Silent monitoring probes (no UA, GET /, no body) are whitelisted at FastBlocker level - load balancer checks never accumulate false-positive scores
Learning Mode: Monitor-only mode records detections and flags profiles without blocking. Safe for baseline establishment. Toggle live via /waf-dashboard/behavior-learning endpoint
Profile Ring Buffer: Each profile stores the last 100 requests in memory with O(1) eviction. Fixed memory footprint regardless of request volume
Background Sweeper: Idle profiles evicted every 5 minutes after 30-minute TTL. Prevents unbounded memory growth under sustained scan traffic
2 Layers, 20+ Signals: Layer 1 (FastBlocker) - 7 instant signals on request 1. Layer 2 (BehaviorEngine) - 13 multi-request signals over sliding 5-minute window. Both run synchronously before upstream proxy. No external dependencies - no Redis, no database, no sidecar
π‘ How it works: Every request passes through two independent scoring layers. FastBlocker evaluates structural signals immediately - Sec-Fetch headers, Accept quality, header count, UA shape, path anomalies, and IP rate. BehaviorEngine builds a per-fingerprint profile and scores velocity, timing regularity, path entropy, error rates, static asset ratio, burst patterns, and more over a sliding 5-minute window. A fingerprint reaching score β₯70 is sticky-blocked for 15 minutes. JA3 hash from the TLS ClientHello is the primary profile key - IP rotation, VPN hops, and proxy chains don't reset the profile if the TLS fingerprint is consistent. The entire system runs in-process with no external dependencies.
π No-IP Device Behavioral Protection
Advanced device fingerprinting that tracks malicious actors across IP changes, VPNs, proxies, and Tor. Uses behavioral biometrics (keystrokes, mouse movements, scrolling patterns), canvas/webGL fingerprints, TLS JA3 hashing, and velocity analysis to identify and block automated threats even when they rotate IP addresses
Key Benefits
IP-Agnostic Fingerprinting: Generates persistent device IDs using browser fingerprints, canvas/WebGL hashes, audio context, fonts, screen resolution, hardware concurrency, and OS detection - tracks devices even when they change IP addresses via VPN, proxy, or Tor
Browser & OS Detection: Identifies browser (Chrome, Firefox, Safari, Edge, Opera, Brave), browser engine (Blink, WebKit, Gecko), OS (Windows, macOS, iOS, Android, Linux), OS version, and architecture (x86_64, ARM64) - detects spoofing attempts
Canvas Fingerprinting: Generates unique canvas hashes from rendered text, shapes, and colors - persistent across sessions and IP changes. Detects canvas hash changes within consistency window as indication of emulation or spoofing
WebGL Fingerprinting: Extracts WebGL renderer and vendor information (Mali, Adreno, Apple GPU, NVIDIA, Intel) via WEBGL_debug_renderer_info extension - detects emulated GPU environments
Audio Context Fingerprinting: Analyzes oscillator waveform rendering differences across browsers and devices - each device produces unique audio hashes based on hardware
Font Fingerprinting: Detects installed system fonts via flash of invisible text (FOIT) measurement - 100+ font families tested for device uniqueness
Hardware Fingerprinting: Collects screen resolution, color depth, pixel ratio, hardware concurrency (CPU cores), device memory, and max touch points - creates comprehensive device signature
Headless Browser Detection: Scores headless probability (0.0-1.0) based on User-Agent patterns (HeadlessChrome, PhantomJS, Puppeteer, Playwright) and behavioral anomalies - blocks scores above 0.5 with 0.9 confidence
Behavioral Biometrics - Keystroke Dynamics: Tracks key press timing (inter-key latency) and key hold duration - calculates average typing speed, rhythm hash, and standard deviation. Standard deviation <2ms indicates robotic typing (+20% risk)
Behavioral Biometrics - Mouse Movements: Records mouse coordinates, calculates speed, acceleration, and curvature. Sustained near-zero curvature indicates robotic movement +15% risk. Generates mouse movement hash from last 20 points
Behavioral Biometrics - Click Patterns: Tracks click coordinates and target elements, calculates average click position, detects exact click repetition (>80% same pixel = robotic +15% risk)
Behavioral Biometrics - Scroll Patterns: Records scroll position, speed, and direction - calculates average scroll speed and dominant direction (up/down/both)
Request Velocity Tracking: Rolling windows (1-minute, 5-minute, 1-hour) track request density - thresholds: 300 req/min, 1400 req/5min, 30 req/sec burst detection triggers +35% risk score
IP Hopping Detection: Tracks unique IPs per device in 1-hour window. 3+ unique IPs flags IP hopping +30% risk - blocks VPN/proxy rotation attacks
Geo-Impossible Travel Detection: Calculates speed between geographic locations (requires GeoIP). Speed >900 km/h triggers geo-impossible travel +35% risk - detects VPN hopping across continents
Canvas Consistency Monitoring: Tracks canvas hash changes within 15-minute window on same User-Agent. Hash changes indicate emulation/anti-fingerprinting +25% risk
TLS JA3 Fingerprinting: Cross-references JA3 hash from CloudFlare or proxy headers - tracks TLS stack even when IP changes. Self-signed certificates bypass JA3 checks to avoid false positives
Login Brute Force Detection: 5-minute rolling window tracks failed login attempts - 5+ failures in 5m = +30% risk, 15+ in 1h = +25% risk. Persistent threat memory stores total failed logins across sessions
Sensitive Path Probing: Detects enumeration of /wp-admin, /admin, /phpmyadmin, /.env, /.git, /backup, /config - +15% risk per probe
Rapid Request Detection: Inter-request intervals <50ms flag automation +10% risk
Header Completeness Analysis: Detects missing Accept, Accept-Language, Accept-Encoding headers - common in tools (+15% risk each). Chrome missing Connection header is normal (HTTP/2)
User-Agent Structure Validation: Validates Mozilla signature, parentheses structure, version numbers. Empty UA +40pts, missing Mozilla +20pts, no parentheses +10pts
Accept Header Analysis: */* without quality values flags generic accept +15% risk for non-browser clients
Cookie Handling Detection: Missing cookies +10% risk for authenticated paths (tools often don't handle cookies)
Referer Validation: Missing referer on non-root paths +10% risk
Persistent Threat Memory: Tracks total blocks, failed logins, attack types, and suspicion score across sessions - survives block expiry, increases risk weighting by 30% for repeat offenders
Memory Efficient: Ring buffers for request history (last 200 requests), keystroke/mouse data (last 1000 points), IP history (last 100 entries) - prevents unbounded memory growth
Client-Side Collector: 8KB JavaScript automatically injects into HTML pages - collects canvas hash, WebGL, audio fingerprint, keystrokes, mouse movements, clicks, scrolls. sendBeacon API ensures delivery without blocking navigation
Zero External Dependencies: No Redis, No database - all fingerprint data stored in memory with automatic cleanup. 10,000 fingerprints consume ~200MB RAM
Performance Impact: <50Β΅s per request for fingerprint lookup, <500KB memory per active fingerprint, FIFO eviction prevents leaks
π‘ How it works: The No-IP Behavioral Protection system generates a persistent device ID using browser fingerprints that survive IP changes. When a request arrives, the system extracts device identity from User-Agent, OS, browser engine, and hardware signals. Canvas/WebGL/Audio fingerprints create a hardware-level signature. The client-side JavaScript collects behavioral biometrics (keystroke timing, mouse movement curves, click patterns, scroll velocity) and sends them via sendBeacon API. The server tracks velocity in rolling windows (1m/5m/1h), detects IP hopping via history analysis, and calculates geographic speed using GeoIP (if available). Each violation adds weighted risk points - reaching 0.70 triggers a 15-minute IP-agnostic block based on device ID. The threat memory persists across block expiry, so repeat offenders face stricter scrutiny. All fingerprint data stays in memory with automatic TTL-based cleanup (30 days idle). No external dependencies required - the entire system runs in-process with sub-50Β΅s overhead.
High-performance WAF engine with 100+ attack type modules, 10,000+ rules, multi-layer behavioral analysis, No-IP device fingerprinting, and network-level blocking - all loaded in memory for sub-millisecond response times
Key Benefits
Memory-First Architecture: All 100+ modules pre-loaded into RAM at startup - zero disk I/O during request processing, 1000x faster than traditional WAF
100+ Attack Type Modules: SQLi, XSS, LFI, RFI, SSRF, XXE, Log4Shell, Slowloris, GraphQL, NoSQLi, CMDi, LDAPi, SSTI, and 90+ more
10,000+ Rules: Single-line and multi-line rule support with regex caching - compile once, use forever
Hot Reload: Update rules without restarting - zero downtime security updates
Sub-millisecond Latency: 0.5-2ms per request even with 10,000 rules loaded
Network-Level Blocking: iptables/nftables integration for kernel-level IP blocking
Attack Type = Folder Name: Intuitive organization - just add files to /etc/clofix/cadre_modules/
Multi-Line Rule Support: Group related patterns in single files with comments
Parameter Fuzzing: Same endpoint with 10+ unique parameter names across 20+ requests = automated discovery (+30pts)
UA Rotation: >30% unique User-Agents across 10+ requests = evasion attempt (+25pts)
Burst Pattern: Zero requests in prior 9-minute window followed by 20+ in last minute = attack burst (+30pts)
Sticky Block System
Score β₯70: 15-minute hard block written to profile
Block Auto-Expiry: Block TTL auto-expires after 15 minutes - profile demoted to challenge state
Session Trust Bonus: Established sessions older than 10 minutes with score <20 receive β15pts reduction
New Profile Penalty: Profile younger than 10 seconds with 15+ requests scores +20pts
Domain Isolation: Profile store per-domain - prevents cross-tenant data leakage
Health Check Bypass: Silent monitoring probes whitelisted - never accumulate false-positive scores
Learning Mode: Monitor-only mode records detections without blocking - safe for baseline establishment
Profile Ring Buffer: Last 100 requests stored per profile - O(1) eviction, fixed memory footprint
Background Sweeper: Idle profiles evicted every 5 minutes after 30-minute TTL
π‘ How it works: Every request passes through two independent scoring layers. FastBlocker evaluates structural signals immediately - Sec-Fetch headers, Accept quality, header count, UA shape, path anomalies, and IP rate. BehaviorEngine builds a per-fingerprint profile and scores velocity, timing regularity, path entropy, error rates, static asset ratio, burst patterns, and more over a sliding 5-minute window. A fingerprint reaching score β₯70 is sticky-blocked for 15 minutes. JA3 hash from the TLS ClientHello is the primary profile key - IP rotation, VPN hops, and proxy chains don't reset the profile if the TLS fingerprint is consistent. The entire system runs in-process with no external dependencies.
π CADRE No-IP Device Behavioral Protection
Advanced device fingerprinting that tracks malicious actors across IP changes, VPNs, proxies, and Tor. Uses behavioral biometrics (keystrokes, mouse movements, scrolling patterns), canvas/WebGL fingerprints, TLS JA3 hashing, and velocity analysis to identify and block automated threats even when they rotate IP addresses
Device Fingerprinting
IP-Agnostic Fingerprinting: Generates persistent device IDs using browser fingerprints, canvas/WebGL hashes, audio context, fonts, screen resolution, hardware concurrency, and OS detection - tracks devices even when they change IP addresses via VPN, proxy, or Tor
Browser & OS Detection: Identifies browser (Chrome, Firefox, Safari, Edge, Opera, Brave), browser engine (Blink, WebKit, Gecko), OS (Windows, macOS, iOS, Android, Linux), OS version, and architecture (x86_64, ARM64) - detects spoofing attempts
Canvas Fingerprinting: Generates unique canvas hashes from rendered text, shapes, and colors - persistent across sessions and IP changes. Detects canvas hash changes within consistency window as indication of emulation or spoofing
WebGL Fingerprinting: Extracts WebGL renderer and vendor information (Mali, Adreno, Apple GPU, NVIDIA, Intel) via WEBGL_debug_renderer_info extension - detects emulated GPU environments
Audio Context Fingerprinting: Analyzes oscillator waveform rendering differences across browsers and devices - each device produces unique audio hashes based on hardware
Font Fingerprinting: Detects installed system fonts via flash of invisible text (FOIT) measurement - 100+ font families tested for device uniqueness
Hardware Fingerprinting: Collects screen resolution, color depth, pixel ratio, hardware concurrency (CPU cores), device memory, and max touch points - creates comprehensive device signature
Behavioral Biometrics
Keystroke Dynamics: Tracks key press timing (inter-key latency) and key hold duration - calculates average typing speed, rhythm hash, and standard deviation. Standard deviation <2ms indicates robotic typing (+20% risk)
Mouse Movements: Records mouse coordinates, calculates speed, acceleration, and curvature. Sustained near-zero curvature indicates robotic movement +15% risk. Generates mouse movement hash from last 20 points
Click Patterns: Tracks click coordinates and target elements, calculates average click position, detects exact click repetition (>80% same pixel = robotic +15% risk)
Scroll Patterns: Records scroll position, speed, and direction - calculates average scroll speed and dominant direction (up/down/both)
Threat Detection
Headless Browser Detection: Scores headless probability (0.0-1.0) based on User-Agent patterns (HeadlessChrome, PhantomJS, Puppeteer, Playwright) and behavioral anomalies - blocks scores above 0.5 with 0.9 confidence
π‘ How it works: The No-IP Behavioral Protection system generates a persistent device ID using browser fingerprints that survive IP changes. When a request arrives, the system extracts device identity from User-Agent, OS, browser engine, and hardware signals. Canvas/WebGL/Audio fingerprints create a hardware-level signature. The client-side JavaScript collects behavioral biometrics (keystroke timing, mouse movement curves, click patterns, scroll velocity) and sends them via sendBeacon API. The server tracks velocity in rolling windows (1m/5m/1h), detects IP hopping via history analysis, and calculates geographic speed using GeoIP (if available). Each violation adds weighted risk points - reaching 0.70 triggers a 15-minute IP-agnostic block based on device ID. The threat memory persists across block expiry, so repeat offenders face stricter scrutiny. All fingerprint data stays in memory with automatic TTL-based cleanup (30 days idle). No external dependencies required - the entire system runs in-process with sub-50Β΅s overhead.
Comprehensive security for WordPress sites - blocks XML-RPC attacks, login brute force, user enumeration, REST API abuse, vulnerability scanners, and zero-day exploit patterns
Key Benefits
XML-RPC Attack Prevention: Blocks xmlrpc.php completely with multicall brute force detection - identifies large POST bodies (8KB+) used for credential stuffing. Add 60 threat points instantly
Login Brute Force Protection: 5-attempt window triggers temporary ban (default 30 minutes). Configurable attempt limits and ban duration. Threat score adds 60 points on ban
User Enumeration Blocking: Blocks ?author=N scans and /author/ archive enumeration - prevents attackers from discovering usernames for brute force attacks. Adds 20 threat points
REST API Security: Blocks /wp-json/wp/v2/users enumeration, rate-limits REST API (60 req/min), protects unauthenticated write endpoints (POST/PUT/DELETE). Adds 30 threat points for enumeration attempts
Sensitive File Protection: Blocks access to .env, .git/config, .htaccess, .htpasswd, wp-config.php, backup files (.zip, .tar.gz, .sql), and 25+ other sensitive patterns
Exploit Path Blocking: Pre-configured detection for 25+ known vulnerability paths including RevSlider RCE, TimThumb, File Manager, Duplicator installer, Adminer, and Elementor exploits. Adds 50 threat points
PHP Execution in Uploads: Blocks any .php, .php5, .phtml, .phar execution from /wp-content/uploads/ directory - prevents uploaded shell access. Adds 70 threat points
SQL Injection Protection: Regex patterns detecting UNION SELECT, INSERT INTO, DROP TABLE, OR 1=1, time-based attacks (SLEEP/BENCHMARK), information_schema access. Adds 50 threat points
Threat Score Accumulation: Each blocked attempt adds configurable points. Reaching threshold (default 100) triggers 30-minute IP ban. Prevents distributed attacks
wp-cron.php External Blocking: Only allows execution from localhost - prevents external trigger abuse and DoS via cron endpoint
Debug Log Protection: Blocks /wp-content/debug.log access - prevents information leakage of PHP errors, database queries, and backtraces
Installer File Protection: Blocks /wp-admin/install.php, upgrade.php, setup-config.php after initial setup - prevents site takeover via reinstallation
TimThumb Vulnerability Block: Detects timthumb.php patterns in URI or query strings - prevents famous 0-day RCE exploit. Adds 50 threat points
Directory Browsing Prevention: Blocks directory listings in /wp-content/ and /wp-includes/ - prevents asset enumeration and version fingerprinting
Hotlink Protection: Prevents external sites from hotlinking your images, CSS, or static assets - saves bandwidth and prevents DDOS via image requests
Admin CSRF Protection: Validates Referer header on wp-admin POST requests - prevents cross-site request forgery attacks. Adds 30 threat points on failure
Strict HTTP Methods: Only allows GET, POST, HEAD methods on wp-admin - blocks DELETE, PUT, PATCH, OPTIONS, TRACE methods. Returns 405 Method Not Allowed
Admin IP Allowlisting: Restrict /wp-admin and /wp-login.php to specific IP ranges - perfect for corporate environments or jump hosts
REST API Rate Limiting: Separate rate limits for REST endpoints (default 60 req/min) - prevents API abuse while allowing normal plugin operations
Version Fingerprint Removal: Strips tag, removes ?ver=x.x.x from assets (CSS/JS/images), sanitizes Link header with wp-json - hides WordPress version
Emoji Script Removal: Removes wp-emoji-release.min.js - hides version leak and reduces DOM size. Saves ~15KB per page load
Feed Discovery Removal: Strips RSS/Atom feed links from HTML headers - prevents content scraping and reduces attack surface
Theme & Plugin Info Blocking: Blocks access to /wp-content/themes/*/readme.txt, style.css, license.txt - prevents version fingerprinting and vulnerability matching
Generator JSON-LD Stripping: Removes "generator": "WordPress x.x.x" from JSON-LD structured data - complete version hiding across all content types
XML-RPC Multicall Detection: Identifies brute force attempts via system.multicall with 8KB+ payloads - blocks 90% of credential stuffing attacks. Adds 60 threat points
Custom Login IP Blocklist: Multi-IP allowlist support for admin areas - CIDR notation not yet supported, explicit IPs only (configurable via LoginIPBlocklist array)
Auto-Ban on Threshold: Configurable threat score threshold (default 100) triggers 30-minute IP ban - stops attacks before they succeed without permanent blocking
Logging & Forensics: Comprehensive logging includes timestamp, IP, method, URI, and reason. Optional LogAllBlocks for full audit trail - SIEM compatible
π‘ How it works: The WordPress protection engine intercepts requests before they reach your WordPress installation. It applies 35+ security checks in sequence - from early detection (scanner UAs, SQLi patterns, null bytes) to application-specific rules (XML-RPC blocking, login brute force, REST API rate limiting). Each violation adds threat points; reaching configurable threshold triggers temporary IP ban (default 30 minutes). Threat scores decay naturally after 30 minutes of clean behavior. The response path strips version fingerprints, emoji scripts, and feed links from HTML output. All regex patterns are pre-compiled at startup - performance impact under 1ms per request even on high-traffic WordPress sites.
π Protection Metrics:
XML-RPC attacks blocked: 100% (when enabled)
Login brute force prevention: 5 attempts β 30-min ban
User enumeration blocked: 100% for ?author=N and /author/ URLs
SQLi detection: 15+ regex patterns covering all major vectors
XSS detection: 12+ patterns including modern evasion techniques
Known exploit paths: 25+ signatures updated from WPScan DB
False positive rate: <0.1% with proper configuration
Scanning: Vulnerability scanners, bad bots, content scrapers, directory brute forcing
π¬ Prototype Pollution Protection
Prevents JavaScript prototype pollution attacks targeting object prototypes in Node.js and browser environments
Advanced protection against prototype pollution attacks that attempt to modify JavaScript object prototypes, leading to RCE, property injection, or DoS.
π― Attack Vectors Blocked
__proto__ Property Injection
constructor.prototype Manipulation
JSON-based Prototype Pollution
Query String Prototype Injection
Form Parameter Prototype Attacks
Header-based Prototype Pollution
Nested Object Injection
Array Prototype Manipulation
Function Prototype Override
Object.prototype Pollution via Object.assign
π‘οΈ Detection Methods
Recursive Object Key Scanning
Pattern-based Payload Detection
JSON Payload Validation
Parameter Pollution Correlation
Context-Aware Filtering
Whitelist-based Property Validation
π― Protected Environments
Node.js Applications
Browser-based JavaScript Apps
MongoDB (prototype pollution to RCE)
Express.js / Nest.js / Next.js
React / Vue.js / Angular
Serverless Functions
π Open Redirect Protection
Blocks unvalidated redirects and forwards that could be used for phishing attacks
Prevents attackers from redirecting users to malicious external sites using unvalidated redirect parameters.
π― Attack Patterns Blocked
External Domain Redirects
JavaScript Protocol Redirects (javascript:)
Data URI Redirects (data:text/html)
URL Encoding Bypasses
Double Encoding Tricks
Unicode Homograph Domains
Subdomain Takeover Redirects
Open Proxy Abuse
π‘οΈ Protection Mechanisms
Whitelist-based Domain Validation
Protocol Restriction (HTTP/HTTPS only)
URL Canonicalization
Redirect Parameter Detection
Referrer Validation
Same-Origin Enforcement
Pattern-based URL Sanitization
π Common Redirect Parameters Protected
redirect, redirect_uri, redirect_url
return, return_to, next
goto, url, dest, destination
callback, continue, forward
to, target, relay_state
π GraphQL Security Protection
Comprehensive security for GraphQL APIs against introspection, depth bombs, and batch attacks
Specialized protection layer for GraphQL endpoints preventing DoS, data extraction, and abuse attacks.
π― Attack Types Blocked
GraphQL Depth Bomb (Nested Queries)
GraphQL Introspection Probing
Batch Query Abuse (Alias Bomb)
Circular Fragment Attacks
Resource Intensive Queries
Field Duplication Attacks
Cost Analysis Bypass
Persisted Query Abuse
π‘οΈ Protection Features
Query Depth Limiting (configurable)
Alias Count Limiting
Query Cost Analysis
Introspection Blocking (production)
Persisted Query Whitelisting
Rate Limiting per Query Type
Field Usage Analytics
Batch Request Throttling
βοΈ Configuration Options
Max Query Depth: 10 (default)
Max Aliases: 50 (default)
Introspection: Blocked in production
Query Cost Limit: configurable
Batch Limit: 20 per request
π Secure File Upload Protection
Blocks malicious file uploads including webshells, malware, and double-extension attacks
Prevents attackers from uploading malicious files that could lead to RCE, XSS, or server compromise.
π« Blocked File Types
PHP Files (.php, .php3, .php4, .phtml)
ASP / ASPX Files (.asp, .aspx, .ashx)
JSP Files (.jsp, .jspx)
Executables (.exe, .dll, .msi)
Shell Scripts (.sh, .bash, .zsh)
JavaScript HTML (.html, .htm containing scripts)
π‘οΈ Detection Techniques
MIME Type Validation (content-based)
Extension Whitelist/Blacklist
Double-Extension Detection (shell.jpg.php)
Null Byte Poisoning Prevention (.php\x00.jpg)
Magic Number Verification
Content Inspection for Malware
Image Resampling (re-compress uploads)
βοΈ Security Actions
Reject dangerous file types
Sanitize filenames
Generate random filenames
Scan with antivirus
Store outside webroot
Apply restrictive permissions
π¨ HTTP Request Smuggling Protection
Blocks CL.TE, TE.CL, and TE.TE request smuggling attacks against proxies and load balancers
Prevents attackers from bypassing security controls by sending ambiguous HTTP requests to front-end and back-end servers.
π― Attack Variants Blocked
CL.TE (Content-Length vs Transfer-Encoding)
TE.CL (Transfer-Encoding vs Content-Length)
TE.TE (Obfuscated Transfer-Encoding)
Duplicate Content-Length Headers
Chunked Encoding Smuggling
Header Folding Attacks
HTTP/2 to HTTP/1.1 Smuggling
π‘οΈ Detection Methods
Normalize ambiguous headers
Validate Content-Length values
Reject conflicting headers
Parse chunked encoding strictly
Drop malformed requests
Log smuggling attempts
IP blocking for repeat offenders
π Protected Components
Reverse Proxies (Nginx, HAProxy, Envoy)
Load Balancers (AWS ALB, F5, Citrix)
Application Servers (Tomcat, IIS, Apache)
API Gateways (Kong, Traefik, Ambassador)
CDN Edge Servers (Cloudflare, Fastly, Akamai)
π¨ Server-Side Template Injection Protection
Prevents SSTI attacks that could lead to RCE in templating engines
Blocks template injection attacks targeting Jinja2, Twig, Freemarker, Velocity, ERB, and other templating engines.
π― Protected Template Engines
Jinja2 / Django (Python)
Twig / Smarty (PHP)
Freemarker / Velocity (Java)
ERB (Ruby)
Handlebars / Mustache (JavaScript)
Pug / Jade (Node.js)
Go Templates
π Detected Attack Patterns
{{ config.items() }} - Config Access
{{ self.__class__ }} - Object Traversal
${7*7} - Expression Evaluation
{{7*7}} - Encoded Expression
<%= system('id') %> - Code Execution
{php}system('id');{/php} - PHP Injection
π‘οΈ Protection Techniques
Sandboxed Template Rendering
Disable Dangerous Functions
Input Sanitization
Context-Aware Escaping
Template Whitelisting
Expression Depth Limiting
π CORS Abuse Protection
Prevents Cross-Origin Resource Sharing misconfigurations and abuse attacks
Blocks malicious cross-origin requests exploiting permissive CORS policies and credential leakage.
π― Attack Vectors Blocked
Wildcard Origin with Credentials (Access-Control-Allow-Origin: * with credentials)
Null Origin Abuse (Origin: null)
Reflected Origin Headers
Private IP Origin Attacks
Subdomain Origin Spoofing
Preflight Cache Poisoning
CORS Misconfiguration Exploitation
π‘οΈ Protection Features
Origin Whitelist Validation
Block Credentials with Wildcard Origin
Reject Null Origin
Validate Preflight Requests
Restrict Dangerous Methods
Limit Exposed Headers
Cache Control for Preflight
βοΈ Security Headers Applied
Access-Control-Allow-Origin (restrictive)
Access-Control-Allow-Credentials (conditional)
Access-Control-Allow-Methods (limited)
Access-Control-Allow-Headers (whitelist)
Access-Control-Max-Age (capped)
π±οΈ ClickJacking Protection
Prevents UI redress attacks that trick users into clicking hidden elements
Blocks clickjacking attempts by enforcing frame-busting headers and detecting framing attacks.
π‘οΈ Protection Headers Applied
X-Frame-Options: SAMEORIGIN or DENY
Content-Security-Policy: frame-ancestors 'self'
Frame-Options for legacy browsers
π― Attack Vectors Blocked
Invisible IFrame Overlays
Cursor Jacking
Drag-and-Drop Jacking
Touch Screen Jacking (Mobile)
Form Grabbing
Token Extraction via Frames
Session Riding
π Detection Capabilities
Frame-Busting Detection
Cross-Origin Frame Detection
Referrer Analysis
User-Agent Context Analysis
Mobile Viewport Analysis
π WebSocket Abuse Protection
Secures WebSocket connections against abuse, flooding, and cross-origin attacks
Protects WebSocket endpoints from connection flooding, cross-origin hijacking, and protocol abuse.
π― Attack Vectors Blocked
Cross-Origin WebSocket Connections
WebSocket Connection Flooding
Message Flooding (DoS)
Oversized Frame Attacks
Invalid Frame Type Injection
Protocol Downgrade Attacks
WebSocket Tunnel Abuse
π‘οΈ Protection Features
Origin Validation
Connection Rate Limiting
Message Rate Limiting
Frame Size Limits
Protocol Whitelisting
Authentication Required
Automatic Connection Cleanup
βοΈ Rate Limits (configurable)
Max Connections per IP: 10
Max Messages per Second: 100
Max Frame Size: 64KB
Idle Timeout: 60 seconds
Handshake Timeout: 5 seconds
π API Abuse Protection
Comprehensive API security including rate limiting, schema validation, and abuse detection
Protects REST and GraphQL APIs from abuse, scraping, brute force, and business logic attacks.
π― Protected API Types
REST APIs (JSON, XML, Form)
GraphQL APIs
SOAP Web Services
gRPC endpoints
Webhook endpoints
OAuth/OIDC endpoints
π‘οΈ Protection Features
Rate Limiting (per IP, per API key, per endpoint)
API Key Validation
JWT Token Validation
Request Schema Validation
Response Schema Validation
SQL Injection for APIs
XXE Protection for XML APIs
Parameter Pollution Detection
Payload Size Limits
Request Throttling
βοΈ Rate Limit Configuration
Public endpoints: 60 req/min
Authenticated endpoints: 600 req/min
Admin endpoints: 600 req/min
Login endpoint: 10 req/min
OTP endpoint: 5 req/min
File upload: 10 req/hour
π§ HTTP Method Spoofing Protection
Blocks HTTP method override attacks that bypass security controls
Prevents attackers from using HTTP method override headers to bypass security restrictions.
π― Blocked Headers
X-HTTP-Method-Override
X-HTTP-Method
X-Method-Override
X-Original-Method
_method (query parameter)
π― Blocked Spoofing Attempts
GET to POST (circumventing CSRF)
GET to DELETE (data deletion)
GET to PUT (data modification)
POST to DELETE (auth bypass)
Invalid HTTP Methods
π Host Header Injection Protection
Prevents host header attacks including cache poisoning, password reset poisoning, and SSRF
Blocks attackers from manipulating the Host header to poison caches, bypass virtual host routing, or launch password reset poisoning attacks.
π― Attack Vectors Blocked
Cache Poisoning via Host Header
Password Reset Poisoning
Virtual Host Bypass
Web Cache Deception
DNS Rebinding via Host
XSS via Host Reflection
π‘οΈ Protection Mechanisms
Host Whitelist Validation
Duplicate Host Header Blocking
Localhost/Private IP Blocking
CRLF Injection Prevention
Port Stripping & Validation
π HTTP Response Splitting Protection
Prevents CRLF injection attacks that split HTTP responses and enable XSS
Blocks CRLF (Carriage Return Line Feed) injection attacks that split HTTP response headers and enable cross-site scripting.
π― Attack Vectors Blocked
CRLF Injection (\r\n)
LF Injection (\n)
URL Encoded CRLF (%0d%0a)
Double Encoding (%250d%250a)
Set-Cookie Injection
Redirect Splitting
π‘οΈ Protected Headers
Referer, User-Agent
Location, Cookie
X-Forwarded-For
Origin, Host
π― MIME Sniffing Protection
Prevents browsers from interpreting files as executable content types
Forces browsers to respect declared MIME types, preventing XSS via MIME type confusion attacks.
π‘οΈ Protection Applied
X-Content-Type-Options: nosniff header
Content-Type validation on uploads
MIME mismatch detection (image/ HTML content)
Executable content blocking in text contexts
π― Attack Vectors Blocked
HTML disguised as images
CSS disguised as text/plain
JSON with HTML injection
SVG with script execution
π Content-Type Enforcement
Enforces strict Content-Type headers for API endpoints
Ensures API endpoints receive expected Content-Type headers, preventing confusion attacks.
π― Enforced Types
JSON APIs β application/json
XML APIs β application/xml or text/xml
Form APIs β application/x-www-form-urlencoded
File Upload β multipart/form-data
π Charset Validation
Only UTF-8, ISO-8859-1, Windows-1252 allowed
Block UTF-7, UTF-16, UTF-32 (encoding attacks)
Charset normalization
βοΈ Unicode Homograph Protection
Prevents IDN homograph attacks that use visually similar Unicode characters
Blocks attackers from using visually identical Unicode characters to create phishing domains and URLs.
π― Blocked Character Sets
Cyrillic (looks like Latin)
Greek characters
Fullwidth characters
Superscript/Subscript numbers
Letter-like symbols
Combining characters
π Detection Examples
Π°pple.com (Cyrillic 'Π°') vs apple.com
gΞΏΞΏgle.com (Greek 'ΞΏ') vs google.com
paypaI.com (Fullwidth 'I') vs paypal.com
π API Schema Validation
Validates API requests against OpenAPI/JSON Schema definitions
Ensures API requests conform to declared schemas, preventing malformed and attack payloads.
Allowed Methods per Path (e.g., /api/ POST, PUT, DELETE allowed)
Override Header Block Policy (block or strip)
Method Validation Strictness Level
Custom Method Allowlist
Admin-Only Method Restriction
π Example Blocked Requests
GET /admin/users/123 HTTP/1.1
X-HTTP-Method-Override: DELETE
POST /api/payment HTTP/1.1
X-Method-Override: GET
GET /profile/edit?_method=PUT HTTP/1.1
π― Mass Assignment Protection
Blocks privilege escalation attempts via hidden JSON body parameters
Prevents attackers from modifying protected model attributes by injecting extra fields in JSON/Form requests (Mass Assignment/RBAC bypass vulnerabilities).
Blocks attackers from manipulating the Host header to poison password reset links, bypass virtual host routing, and launch web cache deception attacks.
π― Attack Vectors Blocked
Password Reset Poisoning: Host header modified to point to attacker domain
Cache Poisoning: Malicious host header cached by CDN/proxy
Virtual Host Bypass: Access restricted vhosts via host header
Web Cache Deception: Host variation causing cache mismatch
XSS via Host Reflection: Malicious script in host header
DNS Rebinding: Host header pointing to internal IPs
Port Injection:example.com:8080 bypassing port restrictions