- 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>
45 lines
1.9 KiB
Markdown
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).
|