Security Findings - HIGH
Source: Security audit (2026-02-24)
No Authentication (Finding 4)
All API routes (/extract, /treatments, /recommend, /validate-pgx, /ws/recommend) are exposed without any authentication middleware.
No Request Size Limits (Finding 5)
No body size limits configured. Clients can send multi-GB JSON payloads causing OOM.
No CORS / Rate Limiting
Missing CorsLayer, RateLimitLayer.
Remediation
- Add API key or JWT middleware to clinical endpoints
- Add
axum::extract::DefaultBodyLimit::max(1_048_576) (1MB)
- Add
tower::limit::RateLimitLayer
- Add
tower_http::cors::CorsLayer
- Configure WebSocket message size limits and connection caps
Locations
crates/terraphim-api/src/routes/mod.rs
crates/terraphim-api/src/lib.rs
Security Findings - HIGH
Source: Security audit (2026-02-24)
No Authentication (Finding 4)
All API routes (
/extract,/treatments,/recommend,/validate-pgx,/ws/recommend) are exposed without any authentication middleware.No Request Size Limits (Finding 5)
No body size limits configured. Clients can send multi-GB JSON payloads causing OOM.
No CORS / Rate Limiting
Missing
CorsLayer,RateLimitLayer.Remediation
axum::extract::DefaultBodyLimit::max(1_048_576)(1MB)tower::limit::RateLimitLayertower_http::cors::CorsLayerLocations
crates/terraphim-api/src/routes/mod.rscrates/terraphim-api/src/lib.rs