Shuffle/app/assets/security
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
..
common-passwords.txt feat(auth): add auth domain, repository, validators and router redirects 2026-11-03 00:09:47 +01:00
README.md fix(auth): address review findings for registration 2026-11-03 00:47:42 +01:00

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

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).