
Asclepius valide l'intégrité des sauvegardes en restaurant des fichiers et en testant activement leur récupérabilité. Au lieu de se fier aux métadonnées, il tente d'analyser les formats de fichiers réels (documents, images, archives, configurations) pour confirmer que les sauvegardes peuvent réellement être lues.
Asclepius valide l'intégrité des sauvegardes en restaurant les fichiers et en testant activement leur récupérabilité. Au lieu de se fier aux métadonnées, il tente d'analyser les formats de fichiers réels (documents, images, vidéos, archives, courriels) pour confirmer que les sauvegardes peuvent réellement être lues et sont sûres à utiliser.
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
# Valider tous les fichiers du répertoire
uv run asclepius -d /path/to/backups
# Échantillonner aléatoirement N fichiers du répertoire
uv run asclepius -d /path/to/backups --rand-sample 100
Contrairement à restic check qui vérifie la structure du dépôt et l'intégrité des données, Asclepius effectue une validation fonctionnelle en restaurant les instantanés et en testant si les fichiers sont réellement lisibles et analysables.
Exécute des vérifications de métadonnées pour valider l'intégrité du dépôt :
uv run asclepius --restic-repo /path/to/repo --restic-passwd your-password
Restaure chaque instantané dans un répertoire temporaire et valide tous les fichiers :
# Valider tous les fichiers de tous les instantanés
uv run asclepius --restic-repo /path/to/repo --restic-passwd your-password --recover
# Valider aléatoirement 100 fichiers de chaque instantané (plus rapide pour les grosses sauvegardes)
uv run asclepius --restic-repo /path/to/repo --restic-passwd your-password --recover --rand-sample 100
Restaure et valide un seul instantané par son ID :
# Valider tous les fichiers d'un instantané spécifique
uv run asclepius --restic-repo /path/to/repo --restic-passwd your-password --recover --snapshot ab4eb95a
# Valider aléatoirement 50 fichiers d'un instantané spécifique
uv run asclepius --restic-repo /path/to/repo --restic-passwd your-password --recover --snapshot ab4eb95a --rand-sample 50
Les validateurs sont configurés dans validators.yaml. Chaque validateur spécifie les types MIME pris en charge, les extensions de fichiers et les paramètres de validation.
Le validateur YARA scanne tous les fichiers à la recherche de signatures de logiciels malveillants. Pour l'activer :
git clone [email protected]:embee-research/Yara-detection-rules.git
validators.yaml :settings:
yara_rules_path: "Yara-detection-rules"
Si les règles YARA ne sont pas trouvées ou échouent à compiler, le validateur ignorera l'analyse avec un seul avertissement au démarrage.
Licence MIT – voir LICENSE pour les détails.