
Asclepius проверяет целостность резервных копий, восстанавливая файлы и активно тестируя их восстанавливаемость. Вместо доверия к метаданным он пытается разобрать реальные файловые форматы (документы, изображения, архивы, конфигурации), чтобы подтвердить, что резервные копии действительно можно прочитать.
Асклепий проверяет целостность резервных копий, восстанавливая файлы и активно тестируя их восстанавливаемость. Вместо того чтобы полагаться на метаданные, он пытается разобрать реальные форматы файлов (документы, изображения, видео, архивы, электронные письма), чтобы убедиться, что резервные копии действительно могут быть прочитаны и безопасны в использовании.
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
# Проверить все файлы в каталоге
uv run asclepius -d /path/to/backups
# Случайная выборка N файлов из каталога
uv run asclepius -d /path/to/backups --rand-sample 100
В отличие от restic check, который проверяет структуру репозитория и целостность данных, Асклепий выполняет функциональную проверку, восстанавливая снэпшоты и тестируя, действительно ли файлы читаемы и поддаются разбору.
Выполняет проверку метаданных для подтверждения целостности репозитория:
uv run asclepius --restic-repo /path/to/repo --restic-passwd your-password
Восстанавливает каждый снэпшот во временный каталог и проверяет все файлы:
# Проверить все файлы во всех снэпшотах
uv run asclepius --restic-repo /path/to/repo --restic-passwd your-password --recover
# Проверить случайные 100 файлов из каждого снэпшота (быстрее для больших резервных копий)
uv run asclepius --restic-repo /path/to/repo --restic-passwd your-password --recover --rand-sample 100
Восстанавливает и проверяет один снэпшот по идентификатору:
# Проверить все файлы в конкретном снэпшоте
uv run asclepius --restic-repo /path/to/repo --restic-passwd your-password --recover --snapshot ab4eb95a
# Проверить случайные 50 файлов из конкретного снэпшота
uv run asclepius --restic-repo /path/to/repo --restic-passwd your-password --recover --snapshot ab4eb95a --rand-sample 50
Валидаторы настраиваются в файле validators.yaml. Каждый валидатор указывает поддерживаемые MIME-типы, расширения файлов и параметры проверки.
Валидатор YARA сканирует все файлы на наличие сигнатур вредоносного ПО. Чтобы включить его:
git clone [email protected]:embee-research/Yara-detection-rules.git
validators.yaml:settings:
yara_rules_path: "Yara-detection-rules"
Если правила YARA не найдены или не могут быть скомпилированы, валидатор пропустит сканирование, выдав одно предупреждение при запуске.
Лицензия MIT — подробности см. в LICENSE.