security: Zugangsdaten aus dem Arbeitsverzeichnis entfernen
Some checks are pending
Playwright Tests / test (push) Waiting to run
Test and SonarQube / quality (push) Waiting to run

.env.production.save und .env.local geloescht (per shred ueberschrieben) --
beide waren identische Kopien derselben Zugangsdaten. In deployment-notes.md
und INFRASTRUCTURE_REQUIREMENTS.md sind die Klartext-Werte durch Platzhalter
ersetzt, die Dateien bleiben als Dokumentation lesbar.

Ausserhalb der Git-Historie liegt damit kein Zugangsdatum mehr im Projekt.
Das alte NEXTAUTH_SECRET und SMTP_PASSWORD sind laut Nutzer rotiert und
ausser Betrieb; offen bleibt allein der Status des Datenbank-Passworts
(Pruefbefehl in TODO.md Block F).

v1.117.3

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
mARTin-B78 2026-09-06 23:47:53 +02:00
parent b4e45aca9c
commit 391134f36d
4 changed files with 23 additions and 7 deletions

View File

@ -2,6 +2,17 @@
All notable changes to this project are documented in this file.
## [1.117.3] - 2026-09-06
### Security
- `.env.production.save` und `.env.local` aus dem Arbeitsverzeichnis gelöscht — mit `shred`
überschrieben, damit die Werte nicht aus freiem Speicher rekonstruierbar bleiben. Beide
waren identische Kopien derselben Zugangsdaten.
- Klartext-Werte in `deployment-notes.md` und `INFRASTRUCTURE_REQUIREMENTS.md` durch
Platzhalter ersetzt (je drei Vorkommen: DB-Passwort, `NEXTAUTH_SECRET`, SMTP-Passwort).
Die Dateien bleiben als Dokumentation lesbar.
- Damit liegt außerhalb der Git-Historie kein Zugangsdatum mehr im Projekt.
## [1.117.2] - 2026-09-06
### Security

13
TODO.md
View File

@ -71,11 +71,12 @@ Verification-Mails sind unbegrenzt aufrufbar — Einladung zum Missbrauch deines
Der Token selbst kommt aus `crypto.randomUUID()` — das ist in Ordnung, nur die Ablage nicht.
### B3. Secrets aus dem Git entfernen und rotieren (Audit 2)
- [x] `.env.production.save` aus dem Git-Index entfernt (Datei bleibt lokal)
- [x] `.env.production.save` und `.env.local` gelöscht (mit `shred` überschrieben)
- [x] `.gitignore` auf `.env*` erweitert (Ausnahme `.env.example`)
- [x] `NEXTAUTH_SECRET` neu erzeugt — 44 Zeichen, geprüft
- [x] `SMTP_PASSWORD` neu gesetzt
- [x] `deployment-notes.md` und `INFRASTRUCTURE_REQUIREMENTS.md` aus dem Index entfernt
- [x] Klartext-Werte in beiden Dateien durch Platzhalter ersetzt
- [x] Passwort aus `tests/debug/db-connection-test.spec.ts` entfernt
- [x] Nach dem Wechsel neu eingeloggt
- [ ] Entscheiden: Historie umschreiben oder belassen (Empfehlung: belassen)
@ -207,10 +208,14 @@ Datenbank und damit die App lahm. Das gehört an einen ruhigen Abend, nicht nebe
**Zwei verschiedene Passwörter liegen im Git** (Fingerabdrücke, keine Klartexte):
| Fingerabdruck | Wo | Vermutung |
| Fingerabdruck | Wo | Stand |
|---|---|---|
| `59fb583eaae9` | `deployment-notes.md`, `INFRASTRUCTURE_REQUIREMENTS.md` | altes Docker-Compose-Setup (`@db:5432`), vermutlich tot |
| `9dbb40b14c4d` | `.env.production.save` | Supabase-Zugang, **möglicherweise noch aktiv** |
| `59fb583eaae9` | ehem. `deployment-notes.md`, `INFRASTRUCTURE_REQUIREMENTS.md` | altes Docker-Compose-Setup (`@db:5432`); Dateien bereinigt |
| `9dbb40b14c4d` | ehem. `.env.production.save` | Supabase-Zugang, **Status offen** — Datei gelöscht, Wert steht noch in der Historie |
Vom Nutzer bestätigt: das alte `NEXTAUTH_SECRET` (20 Zeichen) und das alte `SMTP_PASSWORD`
sind **nicht mehr in Verwendung**, beide wurden rotiert. Offen ist allein das
Datenbank-Passwort.
Prüfen lässt sich das auf dem Container, ohne einen Wert auszugeben:

4
package-lock.json generated
View File

@ -1,12 +1,12 @@
{
"name": "my-weekly-todo-list",
"version": "1.117.2",
"version": "1.117.3",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "my-weekly-todo-list",
"version": "1.117.2",
"version": "1.117.3",
"license": "MIT",
"dependencies": {
"@auth/prisma-adapter": "^2.11.1",

View File

@ -1,6 +1,6 @@
{
"name": "my-weekly-todo-list",
"version": "1.117.2",
"version": "1.117.3",
"description": "A web-based weekly task management application that organizes to-dos and calendar events in a single, intuitive weekly view",
"main": "index.js",
"scripts": {