-
Sanctum v0.4.1 (Windows x86_64)
StableSanctum Release / Build & Release (Windows x86_64) (push) Canceled after 0sreleased this
2026-09-14 14:11:51 +02:00 | 5 commits to main since this releaseChangelog
Alle nennenswerten Änderungen an diesem Projekt werden in dieser Datei dokumentiert.
Das Format basiert auf Keep a Changelog
und dieses Projekt folgt den Richtlinien von Semantic Versioning.[0.4.1] - 2026-09-14
Fixed
- Linux Mount-Stabilität & Signal-Handling:
- Behebung eines sofortigen automatischen Aushängens direkt nach erfolgreichem Mount unter Linux: Windows-spezifische Kontrollkanäle (Console-Close, Session-Lock, System-Tray) wurden auf Nicht-Windows-Systemen sofort geschlossen, wodurch
tokio::select!überNonevorzeitig ausgelöst wurde. - Plattform-spezifische Aufteilung der
tokio::select!-Ereignisschleife: Unter Linux/Unix wird nun sauber auf POSIX-Terminierungssignale (SIGINT,SIGTERM,SIGHUP) gelauscht. - Defensives Pattern-Matching mit
Some(()) = rx.recv()stellt sicher, dass geschlossene Kanäle keine unberechtigten Shutdowns mehr auslösen können. - Automatisches Öffnen via
xdg-openauf Linux vorerst unterdrückt.
- Behebung eines sofortigen automatischen Aushängens direkt nach erfolgreichem Mount unter Linux: Windows-spezifische Kontrollkanäle (Console-Close, Session-Lock, System-Tray) wurden auf Nicht-Windows-Systemen sofort geschlossen, wodurch
[0.4.0] - 2026-09-10
Added
- Distribution & Package Ecosystem:
- Offizielles Scoop-Manifest (
packages/scoop/sanctum.json) für One-Click CLI-Installation und nahtlose Upgrades unter Windows. - Windows Package Manager (Winget) Manifest (
packages/winget/HaraldPansi.Sanctum.yaml) zur systemweiten Paketverwaltung. - Vollständiger Installations-Leitfaden (
INSTALL.md) für Scoop, Winget, Standalone-Binaries undcargo install.
- Offizielles Scoop-Manifest (
- Cross-Platform Architektur (Linux & macOS Vorbereitung):
- Neues Plattform-Abstraktionsmodul
src/platform/mod.rsfür OS-unabhängiges Speicherschutz- und Mount-Handling. - POSIX-Memory-Hardening mit
mlockundmunlockSystemaufrufen für Unix-Systeme. - Plattformübergreifendes Datei- und Ordneröffnen (
explorer.exeunter Windows,xdg-openunter Linux,openunter macOS). - Native WebDAV-VFS-Einbindung für Linux GNOME/KDE via
gio mount.
- Neues Plattform-Abstraktionsmodul
- Chaos Engineering & Live-Crash-Resilienz:
tests/live_crash_resilience_test.rs: Umfassende automatisierte Stresstests mit Multi-Worker Schreibabbrüchen, asynchronen Panic-Simulationen und Validierung der SQLite WAL-Konsistenz (Null Korruption).
- Legal, Compliance & Software Bill of Materials (SBOM):
LEGAL.md: Rechtliche Leitlinien, US EAR § 742.15(b) & EU Dual-Use Exportkontroll-Klassifizierung, DSGVO Art. 25 Zero-Data-Erklärung und Haftungsausschluss nach § 521 BGB.THIRD_PARTY_LICENSES.md: Lückenloses Lizenzaudit aller 231 Abhängigkeiten (100% permissive Lizenzen, 0% Copyleft) zur strikten Compliance mit Apache-2.0 Section 4.- Aufnahme von
LEGAL.mdundTHIRD_PARTY_LICENSES.mdin das offizielle Release-Distributionsarchiv (package-release.ps1).
- Statisches Linux Single-Binary (
x86_64-unknown-linux-musl):- 100% statisch gelinktes Linux-Binary ohne GLIBC-Abhängigkeiten via Zig-Cross-Toolchain.
- Neues Linux-Distributionsarchiv
sanctum-v0.4.0-linux-x86_64.tar.gzinklusive Dokumentation und Prüfsummen. - Native Freedesktop
.desktop-Datei und MIME-Type-Integration (application/x-sanctum) viasanctum register.
- OpSec & Disaster Recovery UX:
QUICKSTART.md: Druckbare 24-Wörter BIP-39 Notfallkarte zur sicheren analogen Verwahrung des Notfallschlüssels (Air-Gapped Vault Paper Backup).
[0.3.1] - 2026-09-10
Added
- Human Factors & OpSec-UX (HF-01 bis HF-04):
- Maskierte interaktive Notfallschlüssel-Eingabe:
--recovery-keyohne CLI-Argument liest die 24 BIP-39-Wörter viarpasswordein, ohne Klartextspuren in der PowerShell-Historie (ConsoleHost_history.txt) zu hinterlassen. - BIP-39 Resilienz & Tippfehler-Diagnose: Automatische String-Normalisierung (Kleinschreibung, Whitespace- und Satzzeichenbereinigung) sowie Levenshtein-Kandidatenvorschläge (
\le 2Distanz) bei Eingabefehlern. - Stealth-Mount Modus (
--stealth/-s): Vollständig lautloser Betrieb ohne Banner, Token-Ausgabe, Mount-Pfade oder Box-Rahmen. - VFS Carrier-Schutz im Decoy-Vault: Umfassender Lösch-, Schreib-, Truncate- und Umbenennungsschutz der Alibi-Trägerdatei (
FsError::Forbidden) bei Zugriff über Slot 0.
- Maskierte interaktive Notfallschlüssel-Eingabe:
- Chaos Engineering & Crash-Resilienz (CHAOS-01 bis CHAOS-03):
- Transaktionale Crash-Consistency (CHAOS-01): Bündelung von Chunk-Write und Dateigrößen-Aktualisierung (
write_chunk_and_update_size) in einer einzigen atomaren SQLite-Transaktion (tx.commit()) für vollständige Resilienz gegen plötzlichen Stromausfall. - Path Fuzzing & Injection Guard (CHAOS-02): Strikte Validierung aller VFS-Pfade und Knotennamen gegen Null-Bytes (
\0) und ASCII-Steuerzeichen (< 0x20). - Fault Recovery bei Disk Full (CHAOS-03): Sofortige Invalidierung des In-Memory-Chunk-Caches bei Schreibfehlern zur Vermeidung kaskadierender Drop-Panics bei vollem Zieldatenträger.
- Transaktionale Crash-Consistency (CHAOS-01): Bündelung von Chunk-Write und Dateigrößen-Aktualisierung (
- DFIR & Windows Host-Memory Hardening:
- Win32
VirtualLockSpeicherschutz: Physische Verriegelung des Root-DEK im RAM zur Unterbindung von Auslagerungen inpagefile.sysoderswapfile.sys. - Windows Defender Controlled Folder Access (CFA / Ransomware-Schutz) Diagnose mit gezielter Hilfestellung.
- Win32
Changed
- Visuelle Parität & Plausible Deniability beim Mounten (HF-01):
- Beseitigung verräterischer Konsolenausgaben (magenta hervorgehobene Hinweise auf Hidden Vault / Slot 1) und Harmonisierung des Explorer-Verhaltens für beide Safes.
- Vereinheitlichung der Ausgaben von
sanctum verifyundsanctum recovery-keyzur Vermeidung von Rückschlüssen auf vorhandene Hidden-Vault-Slots.
- Interaktiver Assistent für
sanctum restore-headerbei Aufruf ohne CLI-Parameter.
[0.3.0] - 2026-09-09
Added
- Modell A: Steganografischer Carrier & Plausible Deniability Phase 2:
- Zwei-Schichten-AEAD (
DEK_0+DEK_1) zur vollständigen Abwehr von Chunks-Accounting-Angriffen. - Physische Dateigrößen-Invarianz: Versteckte Schreibvorgänge verändern die Host-Dateigröße um exakt 0 Bytes.
- Virtuelles Carrier-Dateisystem (
CarrierFs) mit reserviertem Block 0 für Manifest und Block-Allokationsbitmap. - Schreib-, Lösch- und Umbenennungsschutz der Alibi-Trägerdatei im Decoy-Mount (
FsError::Forbidden).
- Zwei-Schichten-AEAD (
- CLI & Disaster Recovery Erweiterungen:
sanctum backup&sanctum restore: Dedizierte CLI-Befehle für konsistente Online-Sicherungen.sanctum restore-header --slot <0|1>: Gezielte Wiederherstellung für Decoy- oder Hidden-Vault-Header.sanctum init --carrier-file <NAME> --carrier-size <MB>: Frei konfigurierbare Alibi-Trägerdatei mit forensischen Sicherheitsprüfungen.
- SRE & Production Resilience:
- Nativer Win32
SetConsoleCtrlHandler: Synchrones Aushängen und WAL-Checkpointing bei Schließen des Konsolenfensters (CTRL_CLOSE_EVENT,CTRL_LOGOFF_EVENT,CTRL_SHUTDOWN_EVENT). - Stale Mount Self-Healing: Automatische Erkennung und Bereinigung verwaister Windows-Netzlaufwerke (Systemfehler 85).
- Automatische Erkennung und Diagnosehilfe für den Windows
WebClient-Dienst (Fehler 67).
- Nativer Win32
- Red Team & Threat Model Hardening:
- WebDAV Loopback Protection: Dynamisches 128-Bit Session-Token im URL-Pfad (Schutz vor unprivilegierten lokalen Prozessen & CSRF).
- Anti-DNS-Rebinding & Anti-Spoofing: Strikte Fail-Closed Host-Header-Validierung.
- Anti-Slowloris & Connection Limiting: Begrenzung auf maximal 64 gleichzeitige WebDAV-Verbindungen und 15s Header-Read-Timeout.
- Decompression-Bomb-Schutz: Strikter 1-MB-Größen-Guard vor LZ4-Dekomprimierung zur Vermeidung von Speichererschöpfung (CWE-400).
- Verzeichnis-Hijacking-Schutz: Dynamische Bindung verschlüsselter Knotennamen an die
parent_idvia AEAD-AAD. - Vollständige RAM-Zeroization: Schutz sensibler Daten im Heap via
zeroize::Zeroizebei Puffer-Swaps undDrop.
Changed
- Standardname der Trägerdatei auf forensisch plausiblen Typ
system_backup.datgeändert. - Heap- und Schreiboptimierung: Reduzierung der CSPRNG-Padding-Generierung auf den tatsächlichen Slack-Bereich (~30-fache Schreibbeschleunigung).
- Inaktivitäts-Tracking:
self.touch()reagiert nur noch auf echte I/O-Interaktionen (open, read, write) und ignoriert passive Explorer-Hintergrundabfragen (metadata,read_dir). - LZ4-Kompression: Schwellenwert von mindestens 64 Bytes Ersparnis eingeführt (
compressed.len() + 64 <= plaintext.len()).
[0.2.0] - 2026-09-08
Added
- Transparente LZ4-Kompression:
lz4_flexIntegration mit Frame-Format vor der AEAD-Verschlüsselung.- Adaptiver Fallback: Chunks werden nur komprimiert, wenn mindestens 64 Bytes gespart werden.
- Transparente On-the-Fly Dekompression bei Leseoperationen.
- Disaster Recovery & Integrität:
- BIP-39 Mnemonic Seed Phrases (24 Wörter) für Master-Key Recovery.
sanctum recovery-key: Export und Anzeige des BIP-39 Notfallschlüssels.sanctum backup&sanctum restore: Konsistente Online-Sicherungen via SQLite Backup API mit WAL-Flush.sanctum verify: Vollständige kryptografische Integritätsprüfung aller AEAD-Chunks und B-Tree-Validierung.
- Windows Explorer Integration & Bedienkomfort:
sanctum register&sanctum unregister: Windows-Kontextmenü im Explorer (HKCU\Software\Classes\.sanctum, "In Sanctum öffnen", Icon-Zuordnung).- Intelligente Erkennung freier Laufwerksbuchstaben (von Z: abwärts).
- Automatisches Öffnen des gemounteten Laufwerks im Windows Explorer.
- System-Tray Icon (
tray-icon) im Windows Infobereich mit Status und schnellem Unmount.
- Explorer Anti-Leak Shield & OpSec:
- Windows Anti-Leak Filter: Blockiert
thumbs.db,desktop.ini,*.tmp, Office-Lockfiles (~$*) und NTFS Alternative Data Streams (:Zone.Identifier). - Activity Tracking & Inaktivitäts-Timeout: Automatischer Unmount bei Leerlauf.
- Windows Session Lock Monitor: Registrierung für
WTS_SESSION_LOCKmit sicherem Auto-Unmount beim Sperren des PCs.
- Windows Anti-Leak Filter: Blockiert
- Storage Compaction & Anti-Forensics:
- SQLite Incremental Auto-Vacuum (
PRAGMA auto_vacuum = INCREMENTAL;) zur physikalischen Freigabe ungenutzter Dateiseiten an das Host-Dateisystem. - Kryptografisches Chunk-Shredding: Chunks werden vor dem Löschen/Abschneiden mit CSPRNG-Zufallsrauschen überschrieben.
sanctum compact: Manuelles oder beim Aushängen automatisches Freigeben von Freelist-Pages.- Plausible Deniability (Hidden Vault): Dual-Slot Header-Architektur. Unbenutzte Slots enthalten ununterscheidbares CSPRNG-Rauschen.
sanctum init --with-hidden: Erstellung zweier getrennter Safes (Decoy & Hidden) mit individuellen Passphrasen und BIP-39 Recovery-Karten.- Vollständige Dateinamen-Verschlüsselung für den Hidden Vault.
- SQLite Incremental Auto-Vacuum (
- Passwort-Verwaltung (
sanctum passwd):- Sofortiges Ändern des Master-Passworts über DEK-Rewrapping mit neuem Argon2id-Salt und KEK-Parametern ohne Neuverschlüsselung der Nutzdaten. Multi-Slot fähig.
[0.1.0] - 2026-09-07
Added
- Sanctum CLI (
sanctum.exe): Eigenständige, hochperformante Userland-Anwendung zur Verwaltung verschlüsselter Ein-Datei-Container unter Windows 10/11. - Kryptografie & Schlüsselableitung:
- Argon2id KDF (
M=64\,\text{MB}, T=3, P=4) zur Ableitung des KEK aus dem Master-Passwort. - AES-256-GCM DEK-Wrapping mit Nonce und Authentifizierungs-Tag.
- 1-MB Chunk AEAD-Verschlüsselung mit AAD (
node_id || chunk_index) zum vollständigen Schutz gegen Swap- und Block-Vertauschungsangriffe. - Speichersicherheit: Verwendung von
zeroize::Zeroizingfür sensible kryptografische Schlüssel im RAM.
- Argon2id KDF (
- Speicherschicht:
- SQLite3-Container im WAL-Modus (
PRAGMA journal_mode = WAL;,PRAGMA synchronous = NORMAL;,PRAGMA page_size = 8192;). - Automatische Checkpoints (
PRAGMA wal_checkpoint(TRUNCATE)). - Dynamisches Wachstum bis über 100 GB in exakt einer Host-Datei (
.sanctum).
- SQLite3-Container im WAL-Modus (
- WebDAV & Windows Explorer Integration:
- Eingebetteter WebDAV-Server auf
127.0.0.1(dav-server+hyper). - Automatisches Einhängen über Windows-Bordmittel (
net use <DRIVE>: http://127.0.0.1:<PORT>/ /persistent:no) ohne Administratorrechte und ohne Treiber (kein WinFsp, kein Dokan). - Volle Unterstützung für
DavFileSystem,DavFile, Metadaten undsymlink_metadatafür WebDAV MOVE/Rename-Operationen im Explorer. - Saubere URL-Decodierung bei Pfaden mit Leerzeichen, Kommas und Umlauten.
- Eingebetteter WebDAV-Server auf
- CLI & UX:
- Automatische Windows-Konsolen-Initialisierung auf UTF-8 (
CP 65001) und Virtual Terminal Processing. - Strukturierte Statusausgabe (
init,mount,unmount) mit Status-Boxen und Fortschrittsanzeige. - Automatischer Shutdown-Handler (
Ctrl+C) mit sicherem Aushängen des Netzlaufwerks und WAL-Checkpointing.
- Automatische Windows-Konsolen-Initialisierung auf UTF-8 (
- Release Management:
- Automatisches Packaging-Skript
scripts/package-release.ps1mit SHA-256 Checksummen. - Gitea Actions CI/CD Pipeline (
.gitea/workflows/release.yaml).
- Automatisches Packaging-Skript
Downloads
- Linux Mount-Stabilität & Signal-Handling: