vaultCLI 5.9 - Whitepaper & Tool-Dokumentation
vaultCLI
Version 5.9.1 - Projektübersicht & Entwicklungsstadium
Minimalistisches CLI-Tool für Dateiverschlüsselung, TOTP und Keymanagement
Autor: Triplum
Datum: 22. März 2025
Status: Entwickler-Dokumentation & Projektbeschreibung
Willkommen auf meinem kleinen Blog. Hier dokumentiere ich meine Projekte, Ideen und Werkzeuge rund um Sicherheit, Automatisierung und Kontrolle unter Linux - speziell Slackware.
Inhaltsverzeichnis
- Motivation und Hintergrund
- Zielsetzung
- Technische Neuerungen
- Zusatzfunktionen in Version 5.9.1
- Alle Unterbefehle
0. Motivation und Hintergrund
vaultCLI entstand nicht aus einem Experiment oder Spieltrieb, sondern aus echtem Misstrauen und Erfahrung mit existierenden Passwort-Tools.
Trotz der Vielfalt an Open-Source-Lösungen blieb stets ein ungutes Gefühl:
- Hintergrundprozesse
- Temporäre Speicherung im Klartext
- Unklare RAM-Verwendung
- Fehlende Kontrolle über Editor und Speicherverhalten
Als jemand, der sicherheitsbewusst und gleichzeitig tief im Linux-Ökosystem verwurzelt ist, reichte mir das nicht.
Ich wollte ein Werkzeug, das nur das tut, was es soll - ohne Kompromisse, ohne Blackbox, ohne Nebenwirkungen.
Daraus entstand vaultCLI.
1. Zielsetzung
vaultCLI ist ein minimalistisches, rein terminalbasiertes Werkzeug zur sicheren Verwaltung und Verschlüsselung sensibler Dateien.
Der Fokus liegt auf maximaler Kontrolle über Speicher, Dateisystemzugriffe und Editor-Integrität - ohne versteckte Prozesse, Daemons oder externe Abhängigkeiten.
2. Technische Neuerungen in Version 5.9
a) Speichersicherheit
- Integration von
securemem
: RAM wird aktiv per memzero()
gelöscht.
mlockmod
: Verhindert Auslagerung sensibler Daten.
- Verwendung von
bytearray
für veränderliche Speicherbereiche.
b) Editor-Integrität
- Editor-Hash (SHA-256) wird geprüft und muss exakt mit Konfiguration übereinstimmen.
- Nur explizit als vertrauenswürdig eingestufte Editoren sind zugelassen.
c) Temporäre Dateiverarbeitung
- Alle temporären Dateien entstehen ausschließlich in
/dev/shm
.
- Sichere Löschung erfolgt direkt nach der Verwendung.
- Keine unverschlüsselten Daten werden persistent gespeichert.
d) Konfigurationssicherheit
- Optionaler SHA-256-Hash-Abgleich
e) Verhalten bei Fehlern
- Fehlende sicherheitskritische Module führen zum sofortigen Abbruch (z. B. fehlendes
securemem
).
- Kein unsicherer Fallback-Betrieb vorgesehen.
f) Verschlüsselung und Schlüsselableitung (teilweise konfigurierbar)
- Algorithmus: AES-256-GCM (Authenticated Encryption)
- Schlüssel: 256 Bit, zufällig aus Argon2id abgeleitet
- Argon2id: 32 Iterationen, 256 MB RAM, 4 Threads
- Salt: 16 Bytes, zufällig pro Datei
- Nonce: 12 Bytes, sicher generiert
g) Passwort-Verwechslungsschutz
- Warnung bei versehentlicher Eingabe eines abweichenden Passworts
h) Weitere Features
- TOTP-Generierung (Einzel- oder Dauermodus)
- Keygenerator
- Dateivorschau
- Automatische Backups
2a. Zusatzfunktionen in Version 5.9.1
Security-Watchdog-Modul
- Neuer Befehl
vaultcli-safe check
zur systemweiten Sicherheitsprüfung.
- Erkennt sicherheitsrelevante Zustände wie veränderte Systemdateien, Hinweise auf Rootkits oder kompromittierte Anwendungen, ebenso wie ausstehende sicherheitsrelevante Updates oder unerwartete Benutzeraktivität.
- Integrierter Selfcheck von vaultCLI prüft Konfiguration, Dateirechte, Editor-Integrität und RAM-Schutzmechanismen.
- Optionales Logging aller Prüfergebnisse für spätere Auswertung.
- Modular aufgebaut - zukünftige Erweiterungen wie Cron-, Uptime- oder LVM-Überwachung sind vorgesehen.
Zusätzliche technische Aspekte
- Technologie: vaultCLI basiert auf
Python 3
für die Programmlogik sowie C++
für sensible Speicheroperationen mittels securemem, mlock..
.
- Selbstschutz: Durch Editor-Hashprüfung, Rechte-Checks, Hash-Vergleich der Konfiguration, temporäre Dateispeicherung in
/dev/shm
sowie einem modularen Watchdog ist vaultCLI gegen Manipulation und Speicherlecks besonders gehärtet.
Alle Unterbefehle
Beispiel: vaultCLI Hilfeausgabe
usage: vaultcli-safe [-h]
{keygen,encrypt,decrypt,list,show,new,edit,totp,version}
...
vaultCLI 5.9.1 - Secure File Encryption and Management Tool (AES-256-GCM)
positional arguments:
{keygen,encrypt,decrypt,list,show,new,edit,totp,check,version}
Befehl
keygen Zufälligen Schlüssel generieren
encrypt Datei verschlüsseln
decrypt Datei entschlüsseln
list Verschlüsselte Dateien auflisten
show Zeilenweise Anzeige einer verschlüsselten Datei
new Neue Datei erstellen und verschlüsseln
edit Bestehende Datei bearbeiten
totp TOTP-Code aus einer Datei generieren
check Führt die Sicherheitsüberprüfung aus
version Zeigt Versionsinformationen an
optional arguments:
-h, --help show this help message and exit
Copyright (c) 2025 Triplum. Alle Rechte vorbehalten. Tipp: Mit 'vaultcli keygen --help' lassen sich sichere Schlüssel generieren.
Beispiel: Sicherheitsprüfung mit vaultcli-safe check
Starte vaultCLI (Firejail)...
============================================================
🔒 SECURITY-WATCHDOG: Statusübersicht
============================================================
scan-4.6 [✔ OK] Keine Bedrohung erkannt
pyscan-3 [✔ OK] Alle sicherheitsrelevanten Pakete sind aktuell
usercheck [✔ OK] Keine Fremdzugriffe erkannt
vaultCLI [🔐 Selfcheck]
├─ config Rechte ✔ 0600 korrekt
├─ config Hash ✔ Hash korrekt
├─ securemem ✔ funktioniert
├─ mlockmod ✔ Speicher gesperrt
├─ Editor-Hash ✔ Signatur korrekt
├─ Vault-Verzeichnis ✔ 0700 korrekt
Diese Tools, die ich entwickle, biete ich nicht direkt zum Download an.
Sie sollen als Ausgangspunkt für gemeinschaftliche Weiterentwicklung dienen - vor allem innerhalb der Slackware-Community.
Bei Fragen: Kontakt gerne hier oder per Email.
...
4. Vergleich mit anderen Passwort-Managern
Ein sachlicher Vergleich zwischen vaultCLI und etablierten Open-Source-Tools wie KeePassXC, pass, gopass und Bitwarden. Alle genannten Programme haben unterschiedliche Stärken – hier liegt der Fokus auf Sicherheitsaspekten und Kontrolle.
Merkmal |
vaultCLI |
KeePassXC |
pass / gopass |
Bitwarden |
CLI-Unterstützung |
✔ |
✔ (inkl. TOTP, Import, Merge) |
✔ |
✔ (`bw` CLI) |
GUI-Unterstützung |
❌ |
✔ |
❌ |
✔ |
Sandbox-fähig (z. B. Firejail) |
✔ |
✔ (mit Profil) |
✔ |
✔ (mit Profil) |
Speichersperre (mlock) |
✔ |
❌ |
❌ |
❌ |
RAM-Löschung (securemem) |
✔ |
❌ |
❌ |
❌ |
Temporäre Dateien in /dev/shm |
✔ |
❌ |
⚠ abhängig vom Editor |
❌ |
Editor-Hashprüfung |
✔ (SHA-256) |
❌ |
❌ |
❌ |
Offline nutzbar |
✔ |
✔ |
✔ |
⚠ nur mit Self-Hosting |
KDF konfigurierbar (Argon2) |
✔ Iterationen, RAM, Threads |
✔ (Argon2, PBKDF2) |
❌ |
❌ |
Verschlüsselung |
AES-256-GCM (symm.) |
AES, ChaCha20, Twofish |
GPG (hybrid) |
AES-256 (PBKDF2) |
TOTP-Unterstützung |
✔ CLI & Loop-Modus |
✔ GUI & CLI |
⚠ nur via Plugin |
✔ |
Keygenerator |
✔ integriert (CLI) |
✔ in GUI |
❌ |
⚠ nur im Web |
Selfcheck vorhanden |
✔ |
❌ |
❌ |
❌ |
Konfig-Datei-Hashprüfung |
✔ |
❌ |
❌ |
❌ |
Hinweis: Alle Tools sind Open Source und erfüllen unterschiedliche Anforderungen. Dieser Vergleich fokussiert sich gezielt auf sicherheitskritische Aspekte und vertrauenswürdige Ausführung auf Minimal-Systemen wie Slackware.
Sollte ich irgendwo falsch liegen, freue ich mich über einen kurzen Hinweis zur Korrektur.