
Asclepius convalida l'integrità dei backup ripristinando i file e testandone attivamente la recuperabilità. Invece di fidarsi dei metadati, tenta di analizzare formati di file reali (documenti, immagini, archivi, configurazioni) per confermare che i backup possano effettivamente essere letti.
Asclepius convalida l'integrità dei backup ripristinando i file e testando attivamente la loro recuperabilità. Invece di fidarsi dei metadati, tenta di analizzare formati di file reali (documenti, immagini, video, archivi, email) per confermare che i backup possano effettivamente essere letti e siano sicuri da usare.
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 /path/to/file.pdf
# Valida tutti i file nella directory
uv run asclepius -d /path/to/backups
# Campiona casualmente N file dalla directory
uv run asclepius -d /path/to/backups --rand-sample 100
A differenza di restic check, che verifica la struttura del repository e l'integrità dei dati, Asclepius esegue una validazione funzionale ripristinando gli snapshot e testando se i file sono effettivamente leggibili e analizzabili.
Esegue controlli sui metadati per verificare l'integrità del repository:
uv run asclepius --restic-repo /path/to/repo --restic-passwd your-password
Ripristina ogni snapshot in una directory temporanea e valida tutti i file:
# Valida tutti i file in tutti gli snapshot
uv run asclepius --restic-repo /path/to/repo --restic-passwd your-password --recover
# Valida 100 file casuali da ogni snapshot (più veloce per backup grandi)
uv run asclepius --restic-repo /path/to/repo --restic-passwd your-password --recover --rand-sample 100
Ripristina e valida un singolo snapshot tramite ID:
# Valida tutti i file in uno snapshot specifico
uv run asclepius --restic-repo /path/to/repo --restic-passwd your-password --recover --snapshot ab4eb95a
# Valida 50 file casuali da uno snapshot specifico
uv run asclepius --restic-repo /path/to/repo --restic-passwd your-password --recover --snapshot ab4eb95a --rand-sample 50
I validatori sono configurati in validators.yaml. Ogni validatore specifica i tipi MIME supportati, le estensioni dei file e le impostazioni di validazione.
Il validatore YARA scansiona tutti i file alla ricerca di firme di malware. Per abilitarlo:
git clone [email protected]:embee-research/Yara-detection-rules.git
validators.yaml:settings:
yara_rules_path: "Yara-detection-rules"
Se le regole YARA non vengono trovate o falliscono la compilazione, il validatore salterà la scansione con un singolo avviso all'avvio.
Licenza MIT - vedi LICENSE per i dettagli.