
Asclepius überprüft die Integrität von Backups, indem es Dateien wiederherstellt und aktiv deren Wiederherstellbarkeit testet. Anstatt Metadaten zu vertrauen, versucht es, echte Dateiformate (Dokumente, Bilder, Archive, Konfigurationen) zu parsen, um zu bestätigen, dass Backups tatsächlich gelesen werden können.
Asclepius validiert die Integrität von Backups, indem es Dateien wiederherstellt und aktiv deren Wiederherstellbarkeit testet. Anstatt sich auf Metadaten zu verlassen, versucht es, echte Dateiformate (Dokumente, Bilder, Videos, Archive, E-Mails) zu parsen, um zu bestätigen, dass Backups tatsächlich lesbar und sicher verwendbar sind.
git clone https://github.com/matank001/asclepius
cd asclepius
uv sync
# macOS
brew install ffmpeg
# Ubuntu/Debian
sudo apt install ffmpeg
# Arch Linux
sudo pacman -S ffmpeg
uv run asclepius -f /pfad/zu/datei.pdf
# Alle Dateien im Verzeichnis validieren
uv run asclepius -d /pfad/zu/backups
# Zufällig N Dateien aus dem Verzeichnis auswählen
uv run asclepius -d /pfad/zu/backups --rand-sample 100
Im Gegensatz zu restic check, das die Repository-Struktur und Datenintegrität überprüft, führt Asclepius eine funktionale Validierung durch, indem es Snapshots wiederherstellt und testet, ob Dateien tatsächlich lesbar und parsebar sind.
Führt Metadatenprüfungen durch, um die Repository-Integrität zu verifizieren:
uv run asclepius --restic-repo /pfad/zu/repo --restic-passwd dein-passwort
Stellt jeden Snapshot in ein temporäres Verzeichnis wieder her und validiert alle Dateien:
# Alle Dateien in allen Snapshots validieren
uv run asclepius --restic-repo /pfad/zu/repo --restic-passwd dein-passwort --recover
# 100 zufällige Dateien aus jedem Snapshot validieren (schneller bei großen Backups)
uv run asclepius --restic-repo /pfad/zu/repo --restic-passwd dein-passwort --recover --rand-sample 100
#### Bestimmten Snapshot wiederherstellen und validieren
Stellt einen einzelnen Snapshot anhand seiner ID wieder her und validiert ihn:
```bash
# Alle Dateien in einem bestimmten Snapshot validieren
uv run asclepius --restic-repo /pfad/zu/repo --restic-passwd dein-passwort --recover --snapshot ab4eb95a
# 50 zufällige Dateien aus einem bestimmten Snapshot validieren
uv run asclepius --restic-repo /pfad/zu/repo --restic-passwd dein-passwort --recover --snapshot ab4eb95a --rand-sample 50
Validatoren werden in validators.yaml konfiguriert. Jeder Validator gibt unterstützte MIME-Typen, Dateierweiterungen und Validierungseinstellungen an.
Der YARA-Validator scannt alle Dateien auf Malware-Signaturen. Um ihn zu aktivieren:
git clone [email protected]:embee-research/Yara-detection-rules.git
validators.yaml:settings:
yara_rules_path: "Yara-detection-rules"
Wenn YARA-Regeln nicht gefunden werden oder die Kompilierung fehlschlägt, überspringt der Validator das Scannen mit einer einmaligen Warnung beim Start.
MIT-Lizenz – siehe LICENSE für Details.