-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Labels
P0Priority: criticalPriority: criticalbackendBackend relatedBackend relatedsecuritySecurity relatedSecurity related
Description
Problem
Authentication infrastructure exists (api/auth.py, api/models.py:APIKey), and api/config.py has auth_enabled=True, but no endpoints in api/main.py use the @Depends(get_api_key) decorator. All 30+ endpoints are publicly accessible regardless of auth configuration.
Impact
- All data mutation endpoints (vessel specs, zones, calibration) are unprotected
- Rate limiting that depends on API key identification doesn't work
- Security gap for any deployment
Steps to fix
- Audit endpoints and determine which need auth:
- Mutation endpoints: vessel specs, zones POST/DELETE, calibration → require auth
- Health, metrics, read-only weather → public
- Add
Depends(get_api_key)to protected endpoints - Add tests for authenticated vs unauthenticated requests
- Update OpenAPI docs to show auth requirements
Files
api/auth.pyapi/main.py(all endpoint handlers)api/config.py(auth_enabled flag)
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
P0Priority: criticalPriority: criticalbackendBackend relatedBackend relatedsecuritySecurity relatedSecurity related