
Asclepius valida la integridad de las copias de seguridad restaurando archivos y probando activamente su recuperabilidad. En lugar de confiar en los metadatos, intenta analizar formatos de archivo reales (documentos, imágenes, archivos comprimidos, configuraciones) para confirmar que las copias de seguridad pueden leerse realmente.
Asclepius valida la integridad de las copias de seguridad restaurando archivos y probando activamente su recuperabilidad. En lugar de confiar en los metadatos, intenta analizar formatos de archivo reales (documentos, imágenes, vídeos, archivos comprimidos, correos electrónicos) para confirmar que las copias de seguridad son realmente legibles y seguras de usar.
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
# Validate all files in directory
uv run asclepius -d /path/to/backups
# Randomly sample N files from directory
uv run asclepius -d /path/to/backups --rand-sample 100
A diferencia de restic check, que verifica la estructura del repositorio y la integridad de los datos, Asclepius realiza una validación funcional restaurando instantáneas y comprobando si los archivos son realmente legibles y analizables.
Ejecuta comprobaciones de metadatos para verificar la integridad del repositorio:
uv run asclepius --restic-repo /path/to/repo --restic-passwd your-password
Restaura cada instantánea a un directorio temporal y valida todos los archivos:
# Validate all files in all snapshots
uv run asclepius --restic-repo /path/to/repo --restic-passwd your-password --recover
# Validate random 100 files from each snapshot (faster for large backups)
uv run asclepius --restic-repo /path/to/repo --restic-passwd your-password --recover --rand-sample 100
Restaura y valida una única instantánea por ID:
# Validate all files in specific snapshot
uv run asclepius --restic-repo /path/to/repo --restic-passwd your-password --recover --snapshot ab4eb95a
# Validate random 50 files from specific snapshot
uv run asclepius --restic-repo /path/to/repo --restic-passwd your-password --recover --snapshot ab4eb95a --rand-sample 50
Los validadores se configuran en validators.yaml. Cada validador especifica los tipos MIME admitidos, las extensiones de archivo y los ajustes de validación.
El validador YARA escanea todos los archivos en busca de firmas de malware. Para habilitarlo:
git clone [email protected]:embee-research/Yara-detection-rules.git
validators.yaml:settings:
yara_rules_path: "Yara-detection-rules"
Si no se encuentran las reglas YARA o no se pueden compilar, el validador omitirá el escaneo con una única advertencia al inicio.
Licencia MIT: consulta LICENSE para más detalles.