Security: Default DB-Credentials aus Code entfernen #41

Open
opened 2026-03-30 19:54:50 +00:00 by David · 0 comments
Collaborator

Beschreibung

In config.py:42 steht database_url: str = "postgresql://bruno:bruno@localhost:5432/bruno" als Default. Hardcoded Credentials im Source Code sind ein Sicherheitsrisiko.

Hintergrund

Auch wenn der Wert über .env überschrieben wird: Der Default enthält funktionierende Credentials. Bei versehentlichem Deployment ohne .env verbindet sich die App mit diesen Credentials. Der Source Code ist im Git-Repo sichtbar.

Akzeptanzkriterien

  • Kein funktionierender Default für DATABASE_URL im Code
  • Startup schlägt fehl wenn DATABASE_URL nicht in der Umgebung gesetzt ist
  • Klare Fehlermeldung mit Beispiel-URL
  • Gleiches Prinzip für ODOO_PASSWORD, GITLAB_TOKEN und andere Secrets: kein Default
  • .env.example enthält Platzhalter-Werte die nicht funktionieren

Technische Hinweise

  • Fix in: backend/config.py — Default auf leeren String oder Exception
  • Alle Secret-Felder validieren: database_url, jwt_secret_key, odoo_password, gitlab_token
  • Migration nötig: nein

Aufwand: S

## Beschreibung In `config.py:42` steht `database_url: str = "postgresql://bruno:bruno@localhost:5432/bruno"` als Default. Hardcoded Credentials im Source Code sind ein Sicherheitsrisiko. ## Hintergrund Auch wenn der Wert über `.env` überschrieben wird: Der Default enthält funktionierende Credentials. Bei versehentlichem Deployment ohne `.env` verbindet sich die App mit diesen Credentials. Der Source Code ist im Git-Repo sichtbar. ## Akzeptanzkriterien - [ ] Kein funktionierender Default für `DATABASE_URL` im Code - [ ] Startup schlägt fehl wenn `DATABASE_URL` nicht in der Umgebung gesetzt ist - [ ] Klare Fehlermeldung mit Beispiel-URL - [ ] Gleiches Prinzip für `ODOO_PASSWORD`, `GITLAB_TOKEN` und andere Secrets: kein Default - [ ] `.env.example` enthält Platzhalter-Werte die nicht funktionieren ## Technische Hinweise - Fix in: `backend/config.py` — Default auf leeren String oder Exception - Alle Secret-Felder validieren: `database_url`, `jwt_secret_key`, `odoo_password`, `gitlab_token` - Migration nötig: nein ## Aufwand: S
Sign in to join this conversation.
No description provided.