
أثكليبيوس يتحقق من سلامة النسخ الاحتياطية عن طريق استعادة الملفات واختبار قابليتها للاسترداد بنشاط. بدلاً من الاعتماد على البيانات الوصفية، يحاول تحليل تنسيقات الملفات الحقيقية (المستندات، الصور، الأرشيفات، ملفات التهيئة) للتأكد من إمكانية قراءة النسخ الاحتياطية فعلياً.
يقوم أسكليبيوس بالتحقق من سلامة النسخ الاحتياطية عن طريق استعادة الملفات واختبار قابليتها للاسترداد بشكل فعّال. بدلاً من الثقة في البيانات الوصفية، يحاول تحليل تنسيقات الملفات الحقيقية (المستندات، الصور، مقاطع الفيديو، الأرشيفات، رسائل البريد الإلكتروني) للتأكد من أن النسخ الاحتياطية يمكن قراءتها بالفعل وأنها آمنة للاستخدام.
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 للتفاصيل.