Expand description
Security module for shell-tunnel.
This module provides authentication, rate limiting, and input validation for the API layer.
§Features
- API Key Authentication: Simple Bearer token authentication
- Rate Limiting: IP-based sliding window rate limiter
- Input Validation: Command sanitization and dangerous pattern detection
§Example
use shell_tunnel::security::{ApiKeyStore, RateLimiter, CommandValidator};
// Create authentication store
let auth = ApiKeyStore::default();
auth.add_key("my-secret-key");
// Create rate limiter (100 req/min)
let limiter = RateLimiter::default();
// Create command validator
let validator = CommandValidator::default();
assert!(validator.validate_command("echo hello").is_ok());Re-exports§
pub use auth::auth_middleware;pub use auth::generate_api_key;pub use auth::ApiKeyStore;pub use auth::AuthConfig;pub use auth::TokenRecord;pub use capability::preset;pub use capability::CapabilitySet;pub use capability::WILDCARD;pub use rate_limit::rate_limit_middleware;pub use rate_limit::RateLimitConfig;pub use rate_limit::RateLimitStats;pub use rate_limit::RateLimiter;pub use validation::looks_like_injection;pub use validation::sanitize_for_display;pub use validation::CommandValidator;pub use validation::ValidationConfig;pub use validation::ValidationError;
Modules§
- auth
- API Key authentication.
- capability
- Capability set — the frozen access-control mechanism (Phase A wire contract v1).
- rate_
limit - Rate limiting implementation.
- validation
- Input validation and command sanitization.