fetch_ml/internal/api
Jeremie Fraeys 412d7b82e9
security: implement comprehensive secrets protection
Critical fixes:
- Add SanitizeConnectionString() in storage/db_connect.go to remove passwords
- Add SecureEnvVar() in api/factory.go to clear env vars after reading (JWT_SECRET)
- Clear DB password from config after connection

Logging improvements:
- Enhance logging/sanitize.go with patterns for:
  - PostgreSQL connection strings
  - Generic connection string passwords
  - HTTP Authorization headers
  - Private keys

CLI security:
- Add --security-audit flag to api-server for security checks:
  - Config file permissions
  - Exposed environment variables
  - Running as root
  - API key file permissions
- Add warning when --api-key flag used (process list exposure)

Files changed:
- internal/storage/db_connect.go
- internal/api/factory.go
- internal/logging/sanitize.go
- internal/auth/flags.go
- cmd/api-server/main.go
2026-02-18 16:18:09 -05:00
..
datasets refactor: update WebSocket handlers and database schemas 2026-02-18 14:36:30 -05:00
helpers refactor: Export SelectDependencyManifest for API helpers 2026-02-17 16:45:59 -05:00
jobs refactor: Phase 5 complete - API packages extracted 2026-02-17 13:25:58 -05:00
jupyter refactor: Phase 5 complete - API packages extracted 2026-02-17 13:25:58 -05:00
validate refactor: Phase 5 complete - API packages extracted 2026-02-17 13:25:58 -05:00
ws refactor: update WebSocket handlers and database schemas 2026-02-18 14:36:30 -05:00
errors.go refactor: Phase 5 complete - API packages extracted 2026-02-17 13:25:58 -05:00
factory.go security: implement comprehensive secrets protection 2026-02-18 16:18:09 -05:00
handlers.go refactor: improve API structure and WebSocket protocol 2026-02-16 20:38:12 -05:00
health.go feat(api): refactor websocket handlers; add health and prometheus middleware 2026-01-05 12:31:07 -05:00
metrics_middleware.go feat(api): refactor websocket handlers; add health and prometheus middleware 2026-01-05 12:31:07 -05:00
middleware.go refactor: Phase 5 - split API package into focused files 2026-02-17 13:11:02 -05:00
monitoring_config.go feat(api): refactor websocket handlers; add health and prometheus middleware 2026-01-05 12:31:07 -05:00
protocol.go refactor(internal): update native bridge and queue integration 2026-02-18 12:45:59 -05:00
routes.go feat: implement WebSocket handlers by delegating to sub-packages 2026-02-17 20:49:31 -05:00
server.go refactor: Phase 5 complete - API packages extracted 2026-02-17 13:25:58 -05:00
server_config.go refactor(dependency-hygiene): Move path functions from config to storage 2026-02-17 21:15:23 -05:00
ws_protocol.go refactor: improve API structure and WebSocket protocol 2026-02-16 20:38:12 -05:00