
تنشئ طوبولوجيات شبكات CORE قابلة لإعادة الإنتاج من ملفات سيناريوهات XML للتدريب والتجريب في مجال الأمن السيبراني. وتوفّر واجهة مستخدم رسومية عبر الويب (Web GUI) وواجهة سطر أوامر (CLI) لمعاينات طوبولوجيا حتمية، وتعيين الثغرات الأمنية، وتوليد حركة المرور.
توليد طوبولوجيات شبكات CORE قابلة لإعادة الإنتاج من ملفات سيناريو XML باستخدام واجهة ويب غنية أو واجهة سطر أوامر.
اعرض معرض صور واجهة الويب docs/screenshots.md.
core-daemonpython -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
python main.py
http://127.0.0.1:9090 افتراضيًا (الوكيل العكسي nginx compose يستهدف https://localhost).coreadmin / coreadmin؛ غيّره فورًا من Profile → Change Password.make host-web أو make host-web-nginx أو make host-web PROXY=envoy. النص المساعد scripts/dev_gen_certs.sh يُصدر شهادات موقعة ذاتيًا مع دعم SAN.Existing Router أو Existing Switch أو New Router. أُزيل الخيار القديم New Switch لمنع التفرع الخفي للمبدلات؛ السيناريوهات المحفوظة التي تستخدمه تُطبَّع إلى Existing Router أثناء التحميل.python -m core_topo_gen.cli --xml path/to/scenario.xml --seed 42 --verbose
خيارات شائعة:
--scenario NAME لاختيار إدخال سيناريو محدد--host / --port لتجاوز نقطة نهاية CORE gRPC (الافتراضي 127.0.0.1:50051)--layout-density {compact|normal|spacious} لضبط تباعد الخريطة--seg-include-hosts, --seg-allow-docker-ports, --nat-mode, --dnat-prob لضبط التجزئة بدقة--traffic-pattern, --traffic-rate, --traffic-content لتجاوز إعدادات حركة المرور الافتراضية./reports/.base_nodes, additive_nodes, combined_nodes, إلخ) لضمان الإخلاص في النقل ذهابًا وإيابًا.explicit_count وderived_count وtotal_planned.scenario_total_nodes على مستوى السيناريو يلخص المضيفين والموجّهات وأهداف الثغرات المخطط لها.core_topo_gen.parsers.planning_metadata.parse_planning_metadata().existing_router أو existing_switch أو new_router؛ وتُحوَّل القيم القديمة new_switch إلى existing_router حتى تظل المعاينات حتمية ولا تُنشأ تراكبات المبدلات ضمنيًا.r2r_mode لكل عنصر توجيه يدعم Exact وUniform وNonUniform وMin وMax والشبكات القديمة المرتبطة بـ --router-mesh-style.r2s_mode, r2s_edges, واختياريًا r2s_hosts_min/max) تعيد تجميع المضيفين خلف مبدلات مخصصة، مع Exact=1 الذي يجمع كل مضيفي كل موجّه في مبدل واحد./tmp/traffic (مع خدمات مصاحبة) وتحترم التجاوزات للنمط والمعدل والارتعاش وتلميحات المحتوى./tmp/segmentation بجانب segmentation_summary.json؛ وضع NAT، واحتمال DNAT، وتضمين المضيفين، وسماحات منافذ docker كلها قابلة للتهيئة./tmp/vulns، مع بيانات وصفية مدمجة في عقد CORE.core_topo_gen.plugins.traffic.register() لكتابة كود مرسل/مستقبل مخصص../reports/scenario_report_<timestamp>.md) تسرد إحصائيات الطوبولوجيا، والبيانات الوصفية للتخطيط، ونتائج التجزئة، والمخرجات الزمنية. كل تشغيل يُصدر أيضًا ملخص JSON بجانب ملف Markdown (scenario_report_<timestamp>.json) بالإضافة إلى ملفات CSV اتصال لكل تشغيل عند توفر بيانات درجات الموجّهات.outputs/run_history.json لصفحة التقارير.outputs/ عند إزالة السيناريوهات عبر الواجهة الرسومية.| المجلد | الغرض |
|---|---|
core_topo_gen/cli.py | نقطة دخول CLI؛ ينسق التحليل والتخطيط والبناء وتوليد التقارير |
core_topo_gen/parsers/ | محللات XML وحداتية لكل قسم سيناريو (معلومات العقد، التوجيه، حركة المرور، الخدمات، الثغرات، التجزئة) |
core_topo_gen/builders/topology.py | يبني طوبولوجيات نجمية ومتعددة المبدلات ومجزأة باستخدام واجهات CORE gRPC |
core_topo_gen/utils/ | مخصصات داعمة، كتّاب تقارير، أدوات مساعدة لحركة المرور/التجزئة/الخدمات |
webapp/ | واجهة ويب Flask، قوالب، بث سجلات SSE، حفظ السجل |
webapp/templates/partials/dock.html | منصة سجلات/XML دائمة مع مفتاح تتبع وعوامل تصفية |
tests/ | مجموعة اختبارات pytest تغطي دلالات التخطيط، وإنفاذ السياسات، وتطابق المعاينة، وسلوكيات CLI |
docs/ | أصول توثيق إضافية (لقطات شاشة، ملاحظات) |
core-python غير موجود** – عيّن WEBUI_PYقبلmake host-webأو اعتمد علىpython3؛ الواجهة الخلفية تتراجع إلى sys.executable` عند الحاجة.nginx/certs) – شغّل scripts/dev_gen_certs.sh أو make dev-certs قبل تشغيل nginx عبر compose.core-daemon غير قابل للوصول` – تحقق من حالة الخفي والمضيف/المنفذ؛ ستعرض نافذة تشغيل GUI مشكلات الاتصال فورًا.طلبات السحب وتقارير المشكلات مرحب بها! يرجى تشغيل أهداف pytest ذات الصلة (pytest -q) قبل إرسال التغييرات والحفاظ على تحديث التوثيق عندما يتغير السلوك.
@article{rodriguez2025agentcyte,
title={AgentCyTE: Leveraging Agentic AI to Generate Cybersecurity Training & Experimentation Scenarios},
author={Rodriguez, Ana M and Acosta, Jaime and Kotal, Anantaa and Piplai, Aritran},
journal={Annual Computer Security Applications Conference Workshop (ACSACW)},
year={2025}
}