
ravage v0.5.0
الأدلة أولاً على اختبار أمن الويب المستقل للأهداف الخاضعة للرقابة والمصرح بها. مع مختبرات قابلة للتكرار، ومسارات التدقيق، والتقارير، واختبارات مقارنة XBEN
Ravage
Ravage هي أداة سطر أوامر تعتمد على الأدلة أولاً لتقييم تطبيق ويب قيد التشغيل تمتلكه أنت أو مُصرَّح لك صراحةً باختباره. تجمع بين الاستطلاع الحتمي والتحقق مع حلقة هجوم اختيارية مدفوعة بالنماذج، مع إبقاء النطاق والمصادقة ومحاسبة حركة المرور والأدلة ضمن حدود يملكها الكود.
Ravage هي نسخة ألفا بحثية قبل الإصدار 1.0. استخدم بيئات قابلة للتخلص وقواعد اشتباك مكتوبة. يمكن أن يغيّر اختبار الأمان حالة التطبيق؛ لا يقوم Ravage بمعالجة النتائج أو نشر الإصلاحات.
بدء سريع · المصادقة · النتائج · القدرات · التوثيق
المتطلبات
- Python 3.12
- Git
- macOS أو Linux أو WSL
- Docker فقط للأدوات المعبأة في حاويات وXBEN واختبارات التكامل
- مفتاح API من المزود فقط لأوامر النماذج
لا يحتاج الفحص الأول العادي إلى مفتاح نموذج أو متصفح أو خادم Docker أو ماسح خارجي.
التثبيت من المصدر
git clone https://github.com/duriantaco/ravage.git
cd ravage
scripts/bootstrap.sh
source .venv/bin/activate
ravage doctor
ينشئ bootstrap مجلد .venv ويُثبّت مساحة العمل. استخدم
scripts/bootstrap.sh --dev لتبعيات التطوير، و
--browser لدعم المتصفح، أو
--install-browser لتثبيت Chromium أيضًا.
بدء سريع محلي في خمس دقائق
شغّل تطبيقك أولاً. يفترض هذا المثال أنه يستمع على
http://127.0.0.1:3000.
-
أنشئ موجز اشتباك محدد النطاق وملف بيئة خاصًا:
ravage init http://127.0.0.1:3000 \ --brief ravage-brief.yaml \ --env-file .env.ravage \ --description "Authorized assessment of my local development app." -
راجع
ravage-brief.yaml. تحقق من الهدف والمسارات داخل النطاق والاستثناءات وميزانية الطلبات وحد المعدل والأهداف ومعايير النجاح. -
نفّذ فحص سطح بدون نموذج:
ravage doctor --workflow scan --brief ravage-brief.yaml ravage scan ravage-brief.yaml --probe surface_map --report
يطبع الأمر دليل التشغيل. انسخ هذا المسار واستخدمه كـ
RUN_DIR في أوامر الفحص أدناه.
تشغيل الوكيل المدفوع بالنماذج
أضف مفتاح مزود مدعومًا، مثل OPENAI_API_KEY، إلى
.env.ravage. يقرأ Ravage هذا الملف مباشرة؛ لا تقم بمصدرته عبر الصدفة.
ravage doctor --workflow attack --brief ravage-brief.yaml
ravage attack ravage-brief.yaml --allow-paid-models --report
--allow-paid-models هو إقرار صريح بأن التشغيل قد يتكبد رسومًا من المزود. اختيار النموذج والمزودون المحليون والملفات الشخصية القابلة للتكرار موثقة في مزودو النماذج.
الاختبار بالمصادقة
أضف هوية اختبار مخصصة إلى الموجز:
ravage auth add ravage-brief.yaml \
--identity user \
--type form \
--login /login \
--health /account \
--marker Logout \
--env-file .env.ravage
املأ مراجع الأسرار المُنشأة وتحقق من الجلسة ثم هاجم بالهوية المحددة:
ravage auth check ravage-brief.yaml --identity user
ravage attack ravage-brief.yaml \
--identity user \
--allow-paid-models \
--report
يتم دعم تسجيل الدخول عبر النماذج ورموز bearer والترويسات الثابتة. تبقى بيانات الاعتماد المُدارة داخل مالك HTTP المُصادق؛ يتم حظر مسارات العملية وPython والأوامر عند تحديد هوية. راجع المصادقة للإعداد والقيود.
الأهداف البعيدة المصرح بها
التنفيذ عن بُعد مغلق عند الفشل ويتطلب علامة صريحة. ابدأ بفحص سطح منخفض التأثير:
ravage init https://staging.example.test \
--brief ravage-brief.yaml \
--env-file .env.ravage \
--description "Authorized assessment of my staging application."
ravage doctor --workflow scan \
--brief ravage-brief.yaml \
--authorized-remote-target
ravage scan ravage-brief.yaml \
--probe surface_map \
--authorized-remote-target \
--report
لتشغيل بعيد مدفوع بالنماذج:
ravage attack ravage-brief.yaml \
--authorized-remote-target \
--allow-paid-models \
--report
تتبع الهجمات البعيدة المصرح بها افتراضيًا سياسة الضوضاء المنخفضة لكامل التشغيل: HTTP محلي مُقاس فقط، وتيرة أقل من طلب واحد في الثانية، وسقف للطلبات الفعلية، وتخزين مؤقت محافظ لـ GET/HEAD وإزالة التكرار، وتراجع تكيفي، ومحاولات محدودة، وقواطع دوائر. يبقى السجل الدائم قائمًا عند الاستئناف. التفاصيل في البنية.
فهم النتائج
يميز Ravage بين الملاحظات والنتائج المحتملة والثغرات المؤكدة. علم CTF هو دليل واحد محتمل وليس شرطًا. في تطبيق عادي، يمكن أن يكون التشغيل مفيدًا وناجحًا دون العثور على أي علم؛ لا تزال الثغرات المؤكدة تُكتب في التقرير.
بمجرد بدء تشغيل الهجوم، يكون الأثر الأساسي القابل للقراءة آليًا والخاص به هو
RUN_DIR/report.json، بما في ذلك التشغيلات غير المكتملة.
يكتب --report أيضًا RUN_DIR/report.md.
ravage observe RUN_DIR
ravage audit verify RUN_DIR
ravage report RUN_DIR --brief ravage-brief.yaml
لحركة HTTP المنظمة التي يلتقطها الرسم البياني للوكيل:
ravage traffic list RUN_DIR
ravage traffic show RUN_DIR REQUEST_ID
يتضمن التقرير مراجع الأدلة وجودة محاسبة الطلبات وحالة الاكتمال وسبب توقف التشغيل غير المكتمل. لا تعامل أبدًا أي افتراض نموذج غير مُتحقق منه كنتيجة مؤكدة.
القدرات
| القدرة | نقطة الدخول | ملاحظات |
|---|---|---|
| استطلاع وفحوصات حتمية | ravage scan | لا يتطلب نموذجًا |
| تقييم مدفوع بالنماذج | ravage attack | محكوم بالأدلة ومحدد النطاق |
| مصادقة مُدارة | ravage auth | نموذج، bearer، ترويسة ثابتة |
| فحص حركة المرور وإعادة تشغيلها | ravage traffic | أثر محدد النطاق |
| مهارات المعرفة | ravage skills, ravage code-bug | استشارية |
| فحص SATCOM سلبي | ravage satcom inspect | بدون إرسال |
| تقييم XBEN | ravage xben | بيئة بحثية قائمة على Docker |
| مختبر التحسين | scripts/improvement_lab.py | أرشيف معزول |
يمكن لمهارات المعرفة توجيه الأولويات، لكنها لا تستطيع إضافة أدوات أو توسيع النطاق أو تأكيد النتائج. ابدأ بـ:
ravage skills list builtin
ravage skills validate builtin
يستوعب مختبر التحسين بنية التشغيلات السابقة المنقاة، ويقيّم التصحيحات المرشحة في مساحات عمل مستقلة، ويؤرشف الإصدارات المقبولة والمرفوضة، ويتطلب أدلة عدم تراجع متطابقة قبل الترقية. إنه مكوّن جانبي: لا يعدّل نسخة المصدر أو يرقّي نفسه بصمت.
يمكن فحص الأثر المداري وحزم البيانات بشكل منفصل:
ravage satcom inspect orbit.tle --format tle --output orbit-report.json
ravage satcom inspect capture.bin \
--format ccsds-space-packets \
--direction auto \
--output packet-report.json
دعم SATCOM هو تحليل وتحليل سلبي، وليس جهاز إرسال لاسلكي أو نظام تحكم في مركبات فضائية.
التطوير
scripts/bootstrap.sh --dev
source .venv/bin/activate
python -m pytest -m "not integration" -q
python -m ruff check --select E9,F .
python scripts/qa/check_docs.py
python scripts/qa/check_release.py
اختبارات التكامل المدعومة بـ Docker ومقارنات XBEN المجمدة هي بوابات إصدار منفصلة. اقرأ القياس قبل تفسير نتائج الحالات؛ علم محظوظ واحد ليس دليلًا على تحسن موثوق.
التوثيق
- كيفية استخدام Ravage
- الإعداد واستكشاف الأخطاء
- المصادقة
- البنية
- المهارات
- SATCOM السلبي
- مختبر التحسين
- القياس
- سياسة الأمان
- المساهمة
استخدم ravage --help و ravage COMMAND --help للخيارات الدقيقة في نسختك المحلية.
الترخيص
رخصة Apache 2.0. راجع LICENSE وDISCLAIMER و SECURITY.md.