
XML परिदृश्य फ़ाइलों से पुनरुत्पादनीय CORE नेटवर्क टोपोलॉजी उत्पन्न करता है, जो साइबर सुरक्षा प्रशिक्षण और प्रयोग के लिए होता है। यह नियतात्मक टोपोलॉजी पूर्वावलोकन, भेद्यता निर्धारण और ट्रैफ़िक जनरेशन के लिए Web GUI और CLI प्रदान करता है।
समृद्ध वेब GUI या कमांड-लाइन इंटरफ़ेस का उपयोग करके परिदृश्य XML फ़ाइलों से पुनरुत्पादनीय CORE नेटवर्क टोपोलॉजी जनरेट करें।
WebUI छवि गैलरी देखें docs/screenshots.md।
core-daemon चल रहा होpython -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 के साथ TLS रिवर्स प्रॉक्सी कॉन्फ़िगर करें। सहायक स्क्रिप्ट scripts/dev_gen_certs.sh SAN समर्थन के साथ सेल्फ-साइन्ड प्रमाणपत्र जारी करती है।Existing Router, Existing Switch, या New Router प्रदान करता है। पुराने New Switch विकल्प को छिपे हुए स्विच फैन-आउट को रोकने के लिए हटा दिया गया था; इसका उपयोग करने वाले सहेजे गए परिदृश्य लोड के दौरान में सामान्यीकृत हो जाते हैं।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/ में Markdown रिपोर्ट लिखता है।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 मानों को में बदल दिया जाता है ताकि पूर्वावलोकन नियतात्मक बने रहें और स्विच ओवरले अंतर्निहित रूप से संश्लेषित न हों।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 में प्रति-नोड docker-compose फ़ाइलें जोड़ती हैं, जिनका मेटाडेटा CORE नोड्स में एम्बेडेड होता है।core_topo_gen.plugins.traffic.register() के माध्यम से पंजीकृत हो सकते हैं।./reports/scenario_report_<timestamp>.md) टोपोलॉजी आँकड़े, योजना मेटाडेटा, विभाजन परिणाम और रनटाइम आर्टिफैक्ट्स सूचीबद्ध करती हैं। प्रत्येक रन Markdown फ़ाइल के साथ एक JSON सारांश (scenario_report_<timestamp>.json) और राउटर डिग्री डेटा उपलब्ध होने पर प्रति-रन कनेक्टिविटी CSV भी उत्पन्न करता है।outputs/run_history.json में संग्रहीत किया जाता है।outputs/ के अंतर्गत संबद्ध आउटपुट साफ़ करता है।core-python नहीं मिला** – make host-webसे पहलेWEBUI_PYसेट करें याpython3पर निर्भर रहें; बैकएंड आवश्यकता पड़ने परsys.executable` पर फॉलबैक करता है।nginx/certs) – nginx compose करने से पहले scripts/dev_gen_certs.sh या make dev-certs चलाएँ।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}
}
Existing Routerexisting_router| फ़ोल्डर | उद्देश्य |
|---|
core_topo_gen/cli.py | CLI प्रवेश बिंदु; पार्सिंग, योजना, निर्माण और रिपोर्ट जनरेशन का समन्वय करता है |
core_topo_gen/parsers/ | प्रति परिदृश्य अनुभाग मॉड्यूलर XML पार्सर (नोड जानकारी, रूटिंग, ट्रैफ़िक, सेवाएँ, भेद्यताएँ, विभाजन) |
core_topo_gen/builders/topology.py | CORE gRPC APIs का उपयोग करके स्टार, मल्टी-स्विच और विभाजित टोपोलॉजी बनाता है |
core_topo_gen/utils/ | सहायक आवंटक, रिपोर्ट लेखक, ट्रैफ़िक/विभाजन/सेवा सहायक |
webapp/ | Flask वेब UI, टेम्पलेट्स, SSE लॉग स्ट्रीमिंग, इतिहास स्थिरता |
webapp/templates/partials/dock.html | फ़ॉलो टॉगल और फ़िल्टर के साथ स्थायी लॉग/XML डॉक |
tests/ | pytest सूट जो योजना शब्दार्थ, नीति प्रवर्तन, पूर्वावलोकन समता और CLI व्यवहारों को कवर करता है |
docs/ | अतिरिक्त दस्तावेज़ीकरण संपत्तियाँ (स्क्रीनशॉट, नोट्स) |