Expand description
RuVector Security Utilities
This crate provides security primitives for the RuVector vector database:
- Path Validation: Prevents path traversal attacks (S-3)
- Authentication: Token-based authentication middleware (S-1)
- CORS Configuration: Configurable CORS policies (S-2)
- Rate Limiting: Token bucket rate limiter (S-5)
- FFI Safety: Safe pointer handling utilities (S-4, S-6)
§Example
use ruvector_security::{PathValidator, SecurityConfig};
let validator = PathValidator::new(vec!["/data".into()]);
assert!(validator.validate("/data/vectors.db").is_ok());
assert!(validator.validate("/etc/passwd").is_err());Re-exports§
pub use auth::AuthConfig;pub use auth::AuthMiddleware;pub use auth::AuthMode;pub use auth::BearerTokenValidator;pub use auth::TokenValidator;pub use cors::CorsConfig;pub use cors::CorsMode;pub use error::SecurityError;pub use error::SecurityResult;pub use ffi::validate_ptr;pub use ffi::FfiError;pub use ffi::TrackedAllocation;pub use middleware::auth_layer;pub use middleware::rate_limit_layer;pub use middleware::security_layer;pub use middleware::SecurityState;pub use path::PathValidator;pub use rate_limit::OperationType;pub use rate_limit::RateLimitConfig;pub use rate_limit::RateLimiter;
Modules§
- auth
- Authentication middleware and token validation
- cors
- CORS (Cross-Origin Resource Sharing) configuration
- error
- Security error types
- ffi
- FFI safety utilities
- middleware
- Axum middleware layers for security
- path
- Path validation utilities
- rate_
limit - Rate limiting using token bucket algorithm
Macros§
- safety_
doc - Helper macro for documenting unsafe blocks
Structs§
- Security
Config - Security configuration combining all security settings