Shuffle/app/assets/security/README.md
cschlaefke 239d0e1ac2
All checks were successful
CI / flutter (pull_request) Successful in 1m16s
CI / web-build (pull_request) Successful in 53s
CI / supabase (pull_request) Successful in 3s
CI / supabase-tests (pull_request) Successful in 32s
fix(auth): address review findings for registration
- expose legal links to screen readers on web
- allow only http(s) legal URLs, prevent double submit
- detect transport errors without runtimeType, keep extra in memory
- ship third-party license text, document decisions

Refs #1

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-03 00:47:42 +01:00

45 lines
1.9 KiB
Markdown

# Liste häufiger Passwörter
`common-passwords.txt` wird von der Registrierung und vom Passwort-Reset genutzt
(KTO-01 Kriterium 3, Spec #1 § 5.6). Die Liste wird nur im Client geprüft; es
gibt keinen Abgleich mit externen Diensten (kein HIBP).
## Format
- Eine Zeile je Eintrag, UTF-8, LF, Kleinschreibung, ohne Leerraum am Rand.
- Nur Einträge mit mindestens 10 Zeichen (kürzere fängt die Längenregel).
- Einmalig, nach Häufigkeit sortiert (deutsche Einträge zuerst).
- 10.000 Einträge, ca. 118 KB.
- Der Vergleich in der App erfolgt ohne Groß-/Kleinschreibung und nach Trim.
## Quelle und Lizenz
SecLists von Daniel Miessler, Lizenz MIT (Volltext in `app/THIRD_PARTY.md`),
Commit `68bcd12457978649d41ae4f56e3b5d2db2b72560`, Verzeichnis
`Passwords/Common-Credentials/`:
| Datei | Verwendung |
|---|---|
| `Language-Specific/German_common-password-list-top-100000.txt` | die ersten 4.000 Einträge mit mindestens 10 Zeichen |
| `xato-net-10-million-passwords-1000000.txt` | die ersten 6.000 weiteren Einträge mit mindestens 10 Zeichen |
**Lizenzfrage entschieden (Chris, 2026-11-03):** Die MIT-Lizenz gilt für das
SecLists-Repository. Die einzelnen Listen stammen aus Datenlecks bzw.
Sammlungen Dritter (die xato-Liste von Mark Burnett); eine eigene Lizenz je
Liste nennt SecLists nicht. Chris hat entschieden, die SecLists-Listen mit
dokumentierter Herkunft (diese Datei) und MIT-Lizenztext (`app/THIRD_PARTY.md`)
zu nutzen. Die Liste enthält ausschließlich Passwörter, keine Konten oder
E-Mail-Adressen.
Der Lizenztext wird zur Laufzeit über `LicenseRegistry` ausgeliefert
(`lib/core/licenses/third_party_licenses.dart`, Asset `THIRD_PARTY.md`) und
erscheint damit in `showLicensePage`.
## Neu erzeugen
```bash
python3 scripts/build-common-passwords.py <xato-1000000.txt> <german-top-100000.txt> app/assets/security/common-passwords.txt
```
Das Skript liegt unter `scripts/build-common-passwords.py` (Filter, Reihenfolge
und Grenzen stehen im Kopf der Datei).