
O Asclepius valida a integridade de backups restaurando arquivos e testando ativamente sua recuperabilidade. Em vez de confiar em metadados, ele tenta analisar formatos de arquivo reais (documentos, imagens, arquivos compactados, configurações) para confirmar que os backups podem ser realmente lidos.
O Asclepius valida a integridade de backups restaurando arquivos e testando ativamente sua recuperabilidade. Em vez de confiar em metadados, ele tenta analisar formatos de arquivo reais (documentos, imagens, vídeos, arquivos compactados, e-mails) para confirmar que os backups podem ser realmente lidos e estão seguros para uso.
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
Diferente do restic check, que verifica a estrutura do repositório e a integridade dos dados, o Asclepius realiza validação funcional restaurando snapshots e testando se os arquivos são realmente legíveis e analisáveis.
Executa verificações de metadados para confirmar a integridade do repositório:
uv run asclepius --restic-repo /path/to/repo --restic-passwd your-password
Restaura cada snapshot para um diretório temporário e valida todos os arquivos:
# 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 e valida um único snapshot pelo 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
Os validadores são configurados em validators.yaml. Cada validador especifica os tipos MIME suportados, extensões de arquivo e configurações de validação.
O validador YARA verifica todos os arquivos em busca de assinaturas de malware. Para ativá-lo:
git clone [email protected]:embee-research/Yara-detection-rules.git
validators.yaml:settings:
yara_rules_path: "Yara-detection-rules"
Se as regras YARA não forem encontradas ou falharem ao compilar, o validador não realizará a verificação e exibirá apenas um aviso na inicialização.
Licença MIT - veja LICENSE para mais detalhes.