Mitmachen¶
Mitmachen¶
Danke für Ihr Interesse an Krywerk! Fehlerberichte, Verbesserungsvorschläge, Übersetzungen, Dokumentation und Code sind willkommen.
Bevor Sie anfangen¶
- Sicherheitslücken nie als Issue, sondern wie in
SECURITY.mdbeschrieben. - Für größere Änderungen zuerst ein Issue eröffnen und den Ansatz abstimmen.
- Es gilt der Verhaltenskodex.
Entwicklungsumgebung¶
Voraussetzungen und Bauen: README.md. Danach einmalig:
pre-commit install # prüft rustfmt, clippy, YAML/TOML/JSON und private Schlüssel vor jedem Commit
make test # Unit- und Integrationstests
make lint # rustfmt, clippy -D warnings, cargo deny
Ende-zu-Ende-Tests je Plattform: crates/README.md.
Regeln für Code¶
- Keine geheimen Daten in Logs, Fehlermeldungen oder Tests: Passwörter, Schlüsseldateien, Schlüsselmaterial, Dateiinhalte und Klartext-Dateinamen nie ausgeben. Tests nur mit Wegwerfschlüsseln.
- Keine eigene Kryptografie. Nur geprüfte Bibliotheken (RustCrypto, ring); Begründung neuer
Algorithmen in
docs/security.md. - Clean Room: Kein Code aus Boxcryptor, Cryptomator oder Cryptomator Hub übernehmen.
Kompatibilität entsteht nur aus den Beschreibungen in
SPEC.mdunddocs/(siehe dort, wie sie entstanden sind). - Stil:
cargo fmt(sieherustfmt.toml), keine Clippy-Warnungen, Kommentare und Texte der Oberfläche auf Deutsch, Bezeichner im Code auf Englisch. - Jede Änderung mit Test; Fehlerkorrekturen mit einem Test, der den Fehler zeigt.
- Sichtbare Änderungen in
CHANGELOG.mdunter „Unreleased“ eintragen.
Commits und Pull Requests¶
- Kleine, in sich geschlossene Commits mit aussagekräftiger Nachricht (erste Zeile ≤ 72 Zeichen).
- Developer Certificate of Origin (DCO): Mit
git commit -sbestätigen Sie, dass Sie den Beitrag unter der Lizenz des Projekts einreichen dürfen (developercertificate.org). Jeder Commit braucht die ZeileSigned-off-by: Name <E-Mail>. - Beiträge stehen unter der Lizenz des jeweiligen Teils: GPL-3.0-or-later, Krywerk Server AGPL-3.0-or-later.
- Die CI (Format, Clippy, Tests auf Linux/Windows/macOS, Lizenzen, Geheimnisse) muss grün sein.
Übersetzungen¶
Die Oberfläche ist zweisprachig (Deutsch, Englisch). Texte liegen in
crates/kw-app/ui/i18n/ (App) und crates/kw-server/src/web/i18n/ (Web-Verwaltung);
die Dokumentation in docs/ (Deutsch) und docs/en/ (Englisch).
Sicherheit¶
Krywerk schützt vertrauliche Daten. Wir nehmen Hinweise auf Schwachstellen ernst und danken allen, die sie verantwortungsvoll melden.
Schwachstelle melden¶
Bitte keine öffentlichen Issues, Diskussionen oder Pull Requests für Sicherheitslücken.
- Bevorzugt: über GitHub „Report a vulnerability“ im Reiter Security dieses Repositorys (private Meldung, nur für die Betreuer sichtbar).
- Alternativ per E-Mail an security@krywerk.eu.
Hilfreich sind: betroffene Komponente und Version (krywerk-server --version, „Über Krywerk“),
Betriebssystem, Schritte zum Nachvollziehen, erwartetes und tatsächliches Verhalten und – falls
vorhanden – ein Proof of Concept. Bitte keine echten Daten, Passwörter oder Schlüssel mitschicken.
Was wir zusagen¶
- Eingangsbestätigung innerhalb von 3 Werktagen.
- Erste Einschätzung (Schweregrad, betroffene Versionen) innerhalb von 10 Werktagen.
- Behebung kritischer Lücken so schnell wie möglich, Ziel 30 Tage; wir halten Sie auf dem Laufenden.
- Veröffentlichung koordiniert: Advisory mit CVE (falls zutreffend) und Nennung der meldenden Person, sofern gewünscht. Bitte geben Sie uns bis zur Veröffentlichung einer Korrektur, höchstens 90 Tage, Zeit, bevor Sie Details veröffentlichen.
Wir verfolgen keine Personen, die in gutem Glauben nach dieser Richtlinie handeln: keine Daten Dritter abrufen oder verändern, keine Dienste stören, nur so weit testen, wie zum Nachweis nötig.
Unterstützte Versionen¶
| Version | Sicherheitskorrekturen |
|---|---|
| neueste 0.x | ja |
| ältere | nein – bitte aktualisieren |
Geltungsbereich¶
Desktop-App, Kommandozeilenprogramme, Bibliotheken und Krywerk Server in diesem Repository. Nicht dazu gehören Schwachstellen in WinFsp, FUSE-T, libfuse, dem Anmeldedienst (Keycloak, Entra ID) oder im Cryptomator Hub – bitte direkt beim jeweiligen Projekt melden.
Sicherheitsmodell, Algorithmen und bekannte Grenzen: docs/security.md.