🛡️ Huginn - Secure Input Validation Library for Rust
A high-performance, thread-safe input validation library with multi-level security checks and customizable sanitization rules. Designed for secure handling of user-provided data in mission-critical applications.
Features ✨
- Military-grade sanitization
Block XSS, SQLi, path traversal, and other injection attacks - Zero-copy processing
Optimized for maximum performance with minimal allocations - Thread-safe architecture
Built withArcandSend + Syncfor concurrent workloads - Custom rule engine
Create domain-specific validation logic with trait-based system - Smart encoding detection
Auto-handle URL-encoded and hex-encoded payloads - Serde integration
(Optional) Serialize/deserialize validation results
Installation 📦
Add to your Cargo.toml:
[]
= "0.9.0-rc.1"
# For serde support:
= { = "0.9.0-rc.1", = ["serde"] }
Usage
Basic Validation
use ;
;
Advanced Configuration
let config = builder
.add_forbidden_char
.add_blocked_pattern
.expect
.build;
let input = "P@ssw0rd123!";
let validator = new;
sanitize_and_validate?;
Validation Pipeline 🔄
- Input Decoding
- Auto-detect and decode URL/hex encoding
- Sanitization
- Remove forbidden characters using pattern matching
- Pattern Blocking
- Check against 50+ built-in dangerous patterns
- Custom Validation
- Execute domain-specific validation rules
- Result Packaging
- Return both original and sanitized data
Documentation 📚
Full API reference available on docs.rs
License 📄
MIT License - See LICENSE for details