
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がリポジトリ構造とデータ整合性を検証するのに対し、Asclepiusはスナップショットを復元し、ファイルが実際に読み取り可能で解析可能かどうかをテストすることで機能検証を実行します。
リポジトリの整合性を検証するメタデータチェックを実行します:
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
IDで指定された単一のスナップショットを復元し検証します:
# 特定スナップショットの全ファイルを検証
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 ルールが見つからないかコンパイルに失敗した場合、バリデータは起動時に1回警告を表示してスキャンをスキップします。
MIT ライセンス - 詳細は LICENSE を参照してください。