
AttackGen एक साइबर सुरक्षा घटना प्रतिक्रिया परीक्षण उपकरण है जो बड़े भाषा मॉडल और व्यापक MITRE ATT&CK फ्रेमवर्क की शक्ति का उपयोग करता है। यह उपकरण उपयोगकर्ता द्वारा चयनित खतरे वाले अभिनेता समूहों और आपके संगठन के विवरण के आधार पर अनुकूलित घटना प्रतिक्रिया परिदृश्य उत्पन्न करता है।
# AttackGen AttackGen एक साइबरसुरक्षा घटना प्रतिक्रिया परीक्षण उपकरण है जो बड़े भाषा मॉडल की शक्ति और व्यापक MITRE ATT&CK तथा ATLAS फ्रेमवर्क का उपयोग करता है। यह उपकरण उपयोगकर्ता द्वारा चयनित खतरा अभिनेता समूहों, AI आक्रमण केस अध्ययनों और आपके संगठन के विवरण के आधार पर अनुकूलित घटना प्रतिक्रिया परिदृश्य उत्पन्न करता है। ## विषय-सूची - [Star the Repo](#star-the-repo) - [विशेषताएँ](#features) - [रिलीज़](#releases) - [आवश्यकताएँ](#requirements) - [इंस्टॉलेशन](#installation) - [LangSmith सेटअप](#langsmith-setup) - [डेटा सेटअप](#data-setup) - [AttackGen चलाना](#running-attackgen) - [MCP सर्वर](#mcp-server) - [एजेंट स्किल्स](#agent-skills) - [उपयोग](#usage) - [सुरक्षा सर्वोत्तम प्रथाएँ](#security-best-practices) - [योगदान](#contributing) - [लाइसेंस](#licence) ## Star the Repo यदि आपको AttackGen उपयोगी लगता है, तो कृपया GitHub पर रिपॉज़िटरी को स्टार करने पर विचार करें। इससे अधिक लोगों को इस उपकरण की खोज करने में मदद मिलती है। आपके समर्थन की बहुत सराहना की जाती है! ⭐ ## विशेषताएँ - चुने गए थ्रेट एक्टर समूहों या ATLAS केस अध्ययनों के आधार पर अद्वितीय इंसिडेंट रिस्पॉन्स परिदृश्य उत्पन्न करता है। - आपको अपने संगठन का आकार और उद्योग निर्दिष्ट करने की सुविधा देता है ताकि परिदृश्य अनुकूलित हो। - MITRE ATT&CK Enterprise, ICS (औद्योगिक नियंत्रण प्रणालियाँ), और ATLAS (Adversarial Threat Landscape for AI Systems) फ्रेमवर्क का समर्थन करता है। - चयनित थ्रेट एक्टर समूह या केस अध्ययन द्वारा उपयोग की जाने वाली तकनीकों की विस्तृत सूची प्रदर्शित करता है। - ATT&CK या ATLAS तकनीकों के चयन के आधार पर कस्टम परिदृश्य बनाएँ। - सामान्य प्रकार की साइबर घटनाओं, जिनमें AI/ML-विशिष्ट आक्रमण पैटर्न शामिल हैं, के आधार पर त्वरित रूप से कस्टम परिदृश्य उत्पन्न करने के लिए परिदृश्य टेम्पलेट्स का उपयोग करें। - **AI Insider Threat Scenarios** उत्पन्न करें - इंसिडेंट रिस्पॉन्स अभ्यास जिनमें आपके संगठन के भीतर तैनात एक फ्रंटियर AI एजेंट इनसाइडर थ्रेट के रूप में व्यवहार करता है, जो [*Actions Speak Louder Than Tokens: An Insider Threat Model for Frontier AI Agents*](https://ai-insider-threat.matt-adams.co.uk) के थ्रेट मॉडल पर आधारित है। परिदृश्य एजेंट के डिप्लॉयमेंट आर्किटाइप (स्वायत्तता स्तर), थ्रेट श्रेणी, STRIDE थ्रेट्स, और एक वैकल्पिक फ्री-टेक्स्ट परिदृश्य सीड द्वारा आकार दिए जाते हैं। - AttackGen Assistant - उत्पन्न परिदृश्यों को अपडेट करने और/या उनके बारे में प्रश्न पूछने के लिए एक चैट इंटरफ़ेस, जिसमें उस पृष्ठ पर सीधे वापस जाने का मार्ग है जहाँ से परिदृश्य आया था। - निर्देशित सेटअप: प्रत्येक पृष्ठ एक ही **Setup** साइडबार दिखाता है, सभी शेष आवश्यकताओं को एक तैयारी सारांश में सूचीबद्ध करता है, और वर्कफ़्लो तैयार होने तक **Generate** को अक्षम रखता है। - परिणाम सत्र के लिए बने रहते हैं: प्रत्येक परिदृश्य पृष्ठ पुनः चलाने और नेविगेशन के दौरान अपना नवीनतम परिणाम, अपने कैप्चर किए गए इनपुट और अपने डाउनलोड बनाए रखता है, और केवल एक स्पष्ट **Regenerate** या **Clear result** ही इसे बदलता या हटाता है। - लंबे परिदृश्यों के साथ एक संक्षिप्त सारांश और अनुभाग नेविगेशन आता है, जिसमें इंजेक्ट्स, सफलता मानदंड, मेट्रिक्स, आर्टिफैक्ट्स और रूल्स ऑफ एंगेजमेंट के शॉर्टकट शामिल हैं जिनसे एक फैसिलिटेटर अभ्यास चलाता है। - उत्पन्न परिदृश्यों की गुणवत्ता पर उपयोगकर्ता प्रतिक्रिया कैप्चर करें। - Detection & Response साथी: परिदृश्य की तकनीकों के लिए, AttackGen मेल खाती ATT&CK डिटेक्शन रणनीतियाँ, एनालिटिक्स, लॉग स्रोत और शमन उपाय सूचीबद्ध करता है, जिन्हें एक अलग `_detection.md` फ़ाइल के रूप में डाउनलोड किया जा सकता है। - Threat Group और Custom परिदृश्यों के लिए ATT&CK Navigator लेयर डाउनलोड, ताकि आप परिदृश्य की तकनीकों को [ATT&CK Navigator](https://mitre-attack.github.io/attack-navigator/) में देख सकें। - Threat Group और Custom पृष्ठों पर वैकल्पिक टॉगल: **AI-enhanced adversary** उसी किल चेन को AI-त्वरित के रूप में पुनः प्रस्तुत करता है, और **Purple-team narrative** आपूर्त किए गए डिटेक्शन और शमन उपायों से निर्मित एक चरण-दर-चरण डिफेंडर का वॉकथ्रू जोड़ता है। - Markdown प्रारूप में डाउनलोड करने योग्य परिदृश्य, साथ ही डिटेक्शन रिपोर्ट और Navigator लेयर। - MCP सर्वर (`attackgen-mcp`) जो एजेंटिक क्लाइंट्स के लिए किल चेन, डिटेक्शन रिपोर्ट, Navigator लेयर और परिदृश्य निर्माण को उजागर करता है, साथ ही उस आउटपुट को फैसिलिटेटर-तैयार टेबलटॉप अभ्यास में बदलने के लिए `attackgen-tabletop` Agent Skill। - इंसिडेंट रिस्पॉन्स परिदृश्य उत्पन्न करने के लिए OpenAI API, Anthropic API (Claude मॉडल), Google AI API, Mistral API, Groq API, या कोई भी कस्टम OpenAI-संगत एंडपॉइंट (Ollama, LM Studio, Azure OpenAI, OpenRouter, आदि) का उपयोग करें। सभी प्रदाता एक ही आंतरिक रैपर के पीछे [LiteLLM](https://github.com/BerriAI/litellm) के माध्यम से रूट किए जाते हैं, इसलिए नया मॉडल जोड़ना एक पंक्ति का परिवर्तन है। - आसान डिप्लॉयमेंट के लिए Docker कंटेनर इमेज के रूप में उपलब्ध। - मॉडल प्रदर्शन के शक्तिशाली डिबगिंग, परीक्षण और निगरानी के लिए [LangSmith](https://docs.smith.langchain.com/) के साथ वैकल्पिक एकीकरण। - API कुंजियों और रहस्यों के लिए .env फ़ाइल का उपयोग करके सुरक्षित क्रेडेंशियल प्रबंधन।  ## Releases ### v0.17 | नया क्या है? | यह किसलिए उपयोगी है? | | ----------- | ----------------- | | Downloads पर Assistant Refinements लागू करें | - परिवर्तन फ़ाइलों तक पहुँचते हैं: Assistant की चैट पहले केवल किसी बातचीत को परिष्कृत करती थी, इसलिए scenario और Detection & Response downloads कभी नहीं बदलते थे। एक नया **Apply changes to downloads** बटन बातचीत से उन्हें फिर से लिखता है, एक समर्पित model call में जो पूरा संशोधित दस्तावेज़ लौटाता है। **Scenario + Detection & Response** मोड में यह दोनों को संशोधित करता है, प्रत्येक को दूसरे का वर्तमान पाठ दिया जाता है ताकि वे एक-दूसरे के अनुरूप रहें।<br><br>- Reference Section सटीक रहता है: Detection & Response apply केवल narrative को फिर से लिखता है। ATT&CK डेटा से लिया गया deterministic detection और mitigation reference बाइट-दर-बाइट ज्यों का त्यों रखा जाता है। Navigator layer फिर से उत्पन्न नहीं होता और उस पर टिप्पणी होती है कि यह मूल scenario की techniques को दर्शाता है।<br><br>- आज़माना सुरक्षित है: model से खाली उत्तर को बिना कोई परिवर्तन किए अस्वीकार कर दिया जाता है। scenario पृष्ठ और Assistant दोनों एक परिष्कृत परिणाम पर अंतिम apply के समय की टिप्पणी करते हैं, और **Revert to original** scenario और narrative को एक साथ पुनर्स्थापित करता है।<br><br>- जहाँ संपादित करें वहीं Download करें: Assistant अब वही **Download Scenario** और **Download Detection & Response** बटन प्रदान करता है जो scenario पृष्ठ पर हैं।<br><br>- प्रति Scenario एक बातचीत: प्रत्येक चैट उस scenario से संबंधित है जिसके बारे में वह है, इसलिए नया उत्पन्न किया गया scenario एक नई बातचीत शुरू करता है, और apply के बाद पूरा इतिहास दिखाई देता रहता है। | | निर्देशित, सुदृढ़ Scenario Workflow | - क्लिक से पहले तैयारी: अब प्रत्येक पृष्ठ सूचीबद्ध करता है कि क्या अभी भी अनुपलब्ध है — पहले पृष्ठ का अपना चयन, फिर कोई भी अपूर्ण Setup फ़ील्ड — और जब तक कुछ भी शेष न हो, **Generate** को अक्षम रखता है, ताकि कोई क्लिक validation error खोजने में व्यर्थ न जाए।<br><br>- कार्रवाई से पहले विकल्प: AI-enhanced adversary और purple-team टॉगल **Generate** के ऊपर स्थित हैं, purple-team विकल्प यह बताता है कि यह एक दूसरा model call करता है।<br><br>- खर्च से पहले पुष्टि: generation शुरू होने से पहले framework, organisation profile, चयन और modifiers का एक-पंक्ति सारांश दिखाया जाता है।<br><br>- नेविगेशन में टिकने वाले परिणाम: प्रत्येक पृष्ठ सत्र के लिए अपना नवीनतम परिणाम, उसे उत्पन्न करने वाले inputs और उसके download नाम रखता है — Assistant खोलें और वापस आएँ, तो scenario, उसका Navigator layer और उसकी Detection & Response रिपोर्ट अभी भी वहीं हैं। फ़ॉर्म संपादित करने पर परिणाम यथावत रहता है, इस टिप्पणी के साथ कि आपके चयन आगे बढ़ चुके हैं; **Regenerate** और **Clear result** स्पष्ट कार्रवाइयाँ हैं।<br><br>- लंबे Scenario में रास्ता खोजें: पूरे Markdown के ऊपर एक संक्षिप्त सारांश और section index होता है, जिसमें injects, discussion questions, success criteria, metrics, artefacts और rules of engagement के शॉर्टकट होते हैं।<br><br>- उपयोगी खाली अवस्थाएँ: scenario न होने पर, Assistant तीनों तरीकों के लिंक देता है जिनसे एक बनाया जा सकता है; एक होने पर, यह उस scenario का नाम बताता है जिस पर चर्चा हो रही है और उसे उत्पन्न करने वाले पृष्ठ का लिंक देता है। | | विफल या धीमी Narrative से पुनर्प्राप्ति | - जो काम आया उसे रखें: यदि वैकल्पिक purple-team narrative विफल हो जाती है या रोक दी जाती है, तो base scenario, उसके downloads, Navigator layer और deterministic Detection & Response reference पूरी तरह उपयोगी बने रहते हैं, इस संदेश के साथ कि क्या विफल हुआ।<br><br>- केवल जो विफल हुआ उसे फिर आज़माएँ: **Retry purple-team narrative** केवल narrative को फिर से चलाता है, बिना दूसरे base-scenario call के, और इसे Detection & Response दृश्य और download में मिला देता है। विफल base scenario **Generate** पर कैप्चर किए गए inputs का उपयोग करके अपना स्वयं का retry प्रदान करता है।<br><br>- चलता रहने वाला टाइमर: बीता हुआ समय अब model के पहले token की प्रतीक्षा के दौरान भी आगे बढ़ता है, इसलिए लंबी प्रतीक्षा अब हैंग जैसी नहीं दिखती। | | Techniques लोड न होने पर स्पष्ट विफलताएँ | - विफलताओं को विफलता के रूप में रिपोर्ट किया जाता है: जिस threat group की technique lookup विफल हो जाती है, उसे अब बिना techniques वाले समूह के रूप में नहीं दिखाया जाता, और Custom Scenarios अब अपना technique picker नहीं छिपाता और सूची लोड होने में विफल होने पर आपसे techniques चुनने को नहीं कहता।<br><br>- अगला कदम, न कि गतिरोध: दोनों अवरोधक अब बताते हैं कि विफलता के बारे में आप क्या कर सकते हैं। | | सुलभता और अधिक संक्षिप्त प्रतिलिपि | - कीबोर्ड और स्क्रीन-रीडर अनुकूल: केवल-आइकन वाले नियंत्रणों के सार्थक सुलभ नाम हैं, फ़ॉर्म लेबल अद्वितीय हैं, और कीबोर्ड क्रम तथा फ़ोकस दृश्यमान और तार्किक हैं। लेआउट अब फ़ोन की चौड़ाई पर क्षैतिज रूप से ओवरफ़्लो नहीं होता, और खाली थीम-रंग कंसोल चेतावनियाँ हटा दी गई हैं।<br><br>- CI में जाँचा गया: कंसोल स्वच्छता और सुलभता के लिए वास्तविक-ब्राउज़र स्मोक परीक्षण अब प्रत्येक पुल अनुरोध पर चलते हैं और रिलीज़ इमेज को गेट करते हैं।<br><br>- पढ़ने के लिए कम: परिदृश्य पृष्ठ अब प्री-फ़्लाइट सारांश को दूसरे एक्सपैंडर में दोहराते नहीं हैं और न ही अपने स्वयं के स्टेट प्रबंधन को समझाते हैं। | | मॉडल रजिस्ट्री रिफ़्रेश | - नवीनतम मॉडल: मॉडल सूची को प्रत्येक प्रदाता के वर्तमान दस्तावेज़ों के विरुद्ध रिफ़्रेश किया गया है — **GPT-6 Astra** OpenAI सूची में सबसे आगे है, **Claude Opus 5.5**, **Claude Opus 5** और **Claude Fable 5.1** Anthropic की सूची में शामिल होते हैं, और Google में **Gemini 3.5 Flash Lite** के साथ **Gemini 3.8 Flash** जुड़ता है, प्रत्येक मामले में निरंतरता के लिए एक पिछली पीढ़ी रखी गई है। Anthropic की सूची अब **Claude Opus 5.5** के साथ शुरू होती है — जब आपने कोई नहीं चुना हो तो साइडबार का डिफ़ॉल्ट — न कि अधिक महँगे Fable 5.1 के साथ।<br><br>- सेवानिवृत्त प्रविष्टियाँ हटाई गईं: वे आईडी हटा दी गईं जिन्हें प्रदाताओं ने अधिक्रमित या बंद कर दिया है — Claude Opus 4.7 और 4.8 (Opus 5.5 आने के बाद एक से अधिक Opus पीढ़ी पीछे) और Groq के `llama-3.3-70b-versatile` और `llama-3.1-8b-instant` (दोनों 16 अगस्त 2026 को बंद) — ताकि साइडबार ऐसा मॉडल प्रस्तुत न कर सके जो केवल **Generate** दबाने पर त्रुटि दे। Groq का ओपन-वेट रीज़निंग टियर अब `qwen/qwen3.8-27b` है।<br><br>- तापमान नियम ईमानदार रखा गया: `supports_temperature` प्रत्येक Anthropic मॉडल के वास्तविक सैंपलिंग व्यवहार से सेट होता है — 4.7 से आगे का प्रत्येक Claude कस्टम तापमान अस्वीकार करता है, और Haiku 4.5 सूचीबद्ध एकमात्र मॉडल बना हुआ है जो इसे स्वीकार करता है। इसे सुरक्षित रखने वाला परीक्षण अब तब विफल होता है जब कोई नई Anthropic प्रविष्टि फ़्लैग छोड़ देती है, न कि केवल तब जब कोई इसे हाथ से सेट करता है। | | प्लेटफ़ॉर्म और सुरक्षा हाउसकीपिंग | - न्यूनतम Python 3.11: Python 3.10 अब समर्थित नहीं है। LiteLLM 1.98.0 और बाद के संस्करण एक टाइपिंग सुविधा आयात करते हैं जो केवल 3.11 से मौजूद है।<br><br>- पैच की गई बेस इमेज: Docker इमेज को वर्तमान `python:3.14-slim` पर पुनर्निर्मित किया गया है, जिससे Trivy द्वारा चिह्नित Debian बेस-इमेज CVE साफ़ हो जाते हैं, जिनमें `perl-base` में तीन गंभीर CVE शामिल हैं।<br><br>- विफल कॉल से वास्तविक त्रुटियाँ: `tenacity` अब घोषित है, इसलिए विफल मॉडल कॉल प्रदाता की वास्तविक त्रुटि (उदाहरण के लिए अमान्य API कुंजी) रिपोर्ट करता है, न कि `tenacity` स्थापित करने का निर्देश।<br><br>- प्रतिक्रिया अपने परिदृश्य के साथ रहती है: एक रेटिंग उस रन के विरुद्ध दर्ज की जाती है जिसने स्क्रीन पर दिख रहा परिदृश्य उत्पन्न किया, कभी भी किसी अन्य पृष्ठ के नवीनतम रन के विरुद्ध नहीं। | <details> <summary>पिछले रिलीज़ (v0.16 और पुराने)</summary> ### v0.16 | नया क्या है? | यह किस प्रकार उपयोगी है? | | ----------- | ----------------- | | बेस-सिनेरियो-प्रथम जनरेशन | - प्रतीक्षा से पहले सिनेरियो: जनरेशन अब चरणों में चलता है — बेस सिनेरियो पहले रेंडर होता है, जिसके **Download Scenario** और **Download ATT&CK Navigator Layer** बटन पहले से ही सक्रिय रहते हैं, और वैकल्पिक पर्पल-टीम नैरेटिव बाद में स्ट्रीम होता है। यदि वह दूसरा पास धीमा हो, या आपको उसकी आवश्यकता न हो, तो सिनेरियो तुरंत उपयोग करने योग्य होता है, बजाय इसके कि सब कुछ पूरा होने तक उसे रोका जाए।<br><br>- Generate पर इनपुट फ़्रीज़: प्रत्येक रन उसी क्षण लिए गए स्नैपशॉट से काम करता है जब आप **Generate** दबाते हैं, इसलिए रन के दौरान साइडबार बदलने से बन रहे सिनेरियो को आधा-अधूरा फिर से नहीं लिखा जा सकता।<br><br>- ईमानदार प्रगति: एक चलता हुआ बीता-समय लेबल और नामित चरण — इनपुट तैयार करना, बेस सिनेरियो जनरेट करना, नियतात्मक एक्सपोर्ट बनाना, पर्पल-टीम नैरेटिव जनरेट करना — दिखाते हैं कि एक लंबा रन वास्तव में कहाँ तक पहुँचा है। | | न्यूट्रल, डेड-एंड-मुक्त सेलेक्टर | - केवल वे विकल्प जो काम करते हैं: थ्रेट-ग्रुप और केस-स्टडी सेलेक्टर अब केवल वे विकल्प प्रदान करते हैं जो वास्तव में सिनेरियो उत्पन्न करते हैं, इसलिए कोई चयन अब गतिरोध तक नहीं ले जा सकता।<br><br>- प्राकृतिक क्रम: समूह प्राकृतिक संख्यात्मक क्रम में क्रमबद्ध होते हैं, इसलिए APT3, APT28 और APT30 से पहले आता है, बजाय टेक्स्ट के रूप में क्रमबद्ध होकर उनके बीच में आने के। | | हर पेज पर साझा सेटअप साइडबार | - एक बार सेटअप करें: प्रोवाइडर, मॉडल, फ्रेमवर्क, उद्योग और कंपनी का आकार अब हर सिनेरियो पेज — Threat Group, Custom और AI Insider Threat — पर एक ही साझा **Setup** साइडबार में रहते हैं, बजाय हर एक पर दोबारा दर्ज करने के।<br><br>- नेविगेशन के दौरान बने रहते हैं: गैर-गोपनीय चयन पेजों के बीच आगे-पीछे जाने पर बने रहते हैं और URL में प्रतिबिंबित होते हैं, जबकि API कुंजियाँ जानबूझकर क्वेरी स्ट्रिंग से बाहर रखी जाती हैं। | | प्लेटफ़ॉर्म और सुरक्षा हाउसकीपिंग | - 2.x SDK पर MCP: MCP सर्वर अब `mcp` 2.x SDK पर स्थानांतरित हो गया है।<br><br>- नया बेस इमेज: Docker इमेज अब `python:3.14-slim` पर बनाई गई है।<br><br>- CI चेतावनी देने के बजाय गेट करता है: सुरक्षा स्कैन अब निष्कर्षों पर केवल रिपोर्ट करने के बजाय बिल्ड को विफल कर देते हैं — pip-audit और Bandit गेट करते हैं, Trivy अब pip के वेंडर किए गए SBOM को इंस्टॉल किए गए पैकेज के रूप में गलत नहीं गिनता, और कार्रवाई योग्य इमेज CVE हटा दिए गए हैं। GitHub Actions Node 20 रनटाइम से हट गए हैं और Dependabot अब वर्कफ़्लो एक्शन्स को स्वयं ट्रैक करता है। | ### v0.15 | नया क्या है? | यह किसलिए उपयोगी है? | | ----------- | ----------------- | --- [Read more](https://github.com/mrwadams/attackgen)