
एक AI-संचालित खतरा मॉडलिंग उपकरण जो STRIDE पद्धति पर आधारित किसी दिए गए एप्लिकेशन के लिए खतरा मॉडल उत्पन्न करने के लिए OpenAI के GPT मॉडल का उपयोग करता है।
STRIDE GPT एक AI-संचालित खतरा मॉडलिंग टूल है जो किसी दिए गए एप्लिकेशन के लिए STRIDE पद्धति के आधार पर खतरे के मॉडल और हमले के पेड़ उत्पन्न करने के लिए बड़े भाषा मॉडल (LLMs) का लाभ उठाता है। उपयोगकर्ता एप्लिकेशन विवरण प्रदान करते हैं, जैसे एप्लिकेशन प्रकार, प्रमाणीकरण विधियाँ, और क्या एप्लिकेशन इंटरनेट-फेसिंग है या संवेदनशील डेटा संसाधित करता है। मॉडल फिर प्रदान की गई जानकारी के आधार पर अपना आउटपुट उत्पन्न करता है।
यदि आपको STRIDE GPT उपयोगी लगता है, तो कृपया परियोजना का समर्थन करने पर विचार करें:
mitre_attack गुणों के रूप में प्रस्तुत किया जाता हैembed.diagrams.net से लोड होता है; स्व-होस्टेड या एयर-गैप्ड तैनाती के लिए, इसे STRIDE_GPT_DRAWIO_URL पर्यावरण चर के माध्यम से अपने स्वयं के draw.io पर इंगित करेंअपने संगठन के लिए STRIDE-GPT को अनुकूलित करना चाहते हैं? हमारी व्यापक संचालन मार्गदर्शिका देखें ताकि यह जान सकें कि कैसे:
गाइड में चरण-दर-चरण निर्देश, कोड उदाहरण और संगठनों के लिए तैनाती पैटर्न शामिल हैं जो अपनी टीमों में AI-संचालित खतरा मॉडलिंग को स्केल करना चाहते हैं।
जनवरी 2024 में मैंने ओपन सिक्योरिटी समिट में STRIDE GPT के बारे में एक वार्ता दी थी। वार्ता के दौरान, मैंने परियोजना की शुरुआत, इसकी मुख्य कार्यक्षमताओं, हाल के अपडेट और कुछ भविष्य की योजनाओं पर चर्चा की। आप नीचे पूरी प्रस्तुति देख सकते हैं:
यह वीडियो किसी भी व्यक्ति के लिए एक उत्कृष्ट संसाधन है जो यह समझने में रुचि रखता है कि STRIDE GPT कैसे काम करता है और इसका उपयोग खतरा मॉडलिंग को बेहतर बनाने के लिए कैसे किया जा सकता है।
--version फ़्लैग (#161): stride-gpt --version अब स्थापित संस्करण प्रिंट करता है और बाहर निकलता है, और इंटरैक्टिव TUI बैनर चल रहे संस्करण को दिखाता है ताकि आप एक नज़र में पुष्टि कर सकें कि आप किस पर हैं।uv.lock अब हर निर्भरता के लिए एकमात्र स्रोत है। डुप्लिकेट requirements.txt फ़ाइलों को हटा दिया गया है; Docker UI छवि और सुरक्षा-स्कैन वर्कफ़्लो uv.lock से uv export के माध्यम से स्थापित करते हैं, इसलिए जो शिप होता है और जो स्कैन किया जाता है, वह लॉक किए गए से विचलित नहीं हो सकता। pip install stride-gpt उपयोगकर्ताओं के लिए कोई बदलाव नहीं।STRIDE_GPT_DRAWIO_URL के माध्यम से कॉन्फ़िगर करने योग्य है (डिफ़ॉल्ट embed.diagrams.net है), iframe postMessage मूल इसके लिए स्कोप किया गया है, और अविश्वसनीय आरेख XML को defusedxml के साथ पार्स किया जाता है।deepseek-v4-pro और deepseek-v4-flash प्रदान करता है। कॉल LiteLLM के मूल deepseek/ एकीकरण (होस्टेड एंडपॉइंट, किसी कस्टम बेस URL की आवश्यकता नहीं) के माध्यम से रूट होती हैं; अपनी कुंजी DEEPSEEK_API_KEY के माध्यम से सेट करें।/analyze और /quick द्वारा उत्सर्जित खतरे अब MITRE ATT&CK Enterprise (v17.1) और MITRE ATLAS (2026.05) से मानकीकृत प्रतिद्वंद्वी तकनीक आईडी ले जा सकते हैं। दो नए प्रगतिशील-प्रकटीकरण संदर्भ कार्ड (mitre_enterprise, mitre_atlas) एजेंट को केवल सूचीबद्ध आईडी और नामों का उपयोग करने का निर्देश देते हैं, आईडी भ्रम को समाप्त करते हैं। कार्ड मॉडल रिकॉल से लिखे जाने के बजाय scripts/refresh_mitre_cards.py के माध्यम से अपस्ट्रीम STIX/YAML से पुनर्जीवित किए जाते हैं। तकनीकें मार्कडाउन तालिकाओं में MITRE ATT&CK कॉलम के रूप में, HTML में क्लिक करने योग्य आसमानी-रंग की गोलियों के रूप में और SARIF में properties.mitre_attack सरणियों के रूप में प्रस्तुत होती हैं।/analyze और /quick अब मार्कडाउन / JSON / SARIF आउटपुट के साथ एक स्व-निहित ब्राउज़र-दृश्य HTML रिपोर्ट उत्सर्जित करते हैं, जो हितधारकों के साथ साझा करने के लिए उपयुक्त है।claude-opus-4-8 के लिए समर्थन जोड़ा गया, जो Anthropic का सबसे नया फ्रंटियर-स्तरीय मॉडल है। किसी को भी आर्किटेक्ट या कार्यकर्ता मॉडल के रूप में चुना जा सकता है।pip install stride-gpt CLI के रूप में, जो विरासत Streamlit वेब UI से अलग किया गया। दो मुख्य कमांड: /analyze (एक योजनाकार, प्रति-उपप्रणाली टूल-उपयोग करने वाले एजेंट लूप और क्रॉस-कटिंग संश्लेषण पास के साथ स्वायत्त एजेंटिक कोडबेस विश्लेषण) और /quick (लिखित एप्लिकेशन विवरण से एकल-शॉट खतरा मॉडल)।genai (OWASP LLM Top 10), agentic (OWASP ASI Top 10) और insider_threat कार्ड YAML फ्रंटमैटर के माध्यम से स्व-वर्णन करते हैं; एजेंट उन्हें list_references के माध्यम से खोजता है और load_reference के माध्यम से निकायों को खींचता है।stride_gpt/__init__.py में LiteLLM लॉगर को ERROR पर उठाया गया ताकि Bedrock/SageMaker प्री-लोड चेतावनियाँ ताज़ा इंस्टॉल पर दिखाई न दें जिनमें नहीं है।एजेंटिक AI एप्लिकेशन समर्थन: OWASP Top 10 for Agentic Applications (ASI01-ASI10) एकीकरण के साथ एजेंटिक AI सिस्टम के लिए खतरा मॉडलिंग के लिए व्यापक समर्थन जोड़ा गया। बस "Agentic AI application" चुनें और अपने सिस्टम का वर्णन करें - LLM स्वचालित रूप से आर्किटेक्चरल पैटर्न का पता लगाता है और प्रासंगिक खतरे की श्रेणियां लागू करता है। सुसंगत खतरा विश्लेषण के लिए प्रत्येक ASI जोखिम को उपयुक्त STRIDE श्रेणी में मैप किया जाता है।
जनरेटिव AI एप्लिकेशन समर्थन: OWASP LLM Top 10 (LLM01-LLM10) एकीकरण के साथ GenAI एप्लिकेशन के लिए खतरा मॉडलिंग के लिए समर्थन जोड़ा गया। "Generative AI application" चुनें और व्यापक कवरेज के लिए अपने सिस्टम का वर्णन करें ताकि अनुरूप LLM-विशिष्ट खतरा विश्लेषण प्राप्त हो सके। एजेंटिक AI एप्लिकेशन में व्यापक कवरेज के लिए LLM और ASI दोनों जोखिम श्रेणियां शामिल हैं।
MAESTRO-प्रेरित आर्किटेक्चरल पैटर्न डिटेक्शन: एप्लिकेशन विवरणों से आर्किटेक्चरल पैटर्न का स्वचालित पता लगाने के साथ उन्नत एजेंटिक खतरा विश्लेषण, Cloud Security Alliance MAESTRO framework से प्रेरित। LLM अब पैटर्न-विशिष्ट खतरों की पहचान करता है और लागू करता है:
क्रॉस-लेयर खतरा विश्लेषण: खतरे के मॉडल में अब क्रॉस-कंपोनेंट हमला श्रृंखलाएँ शामिल हैं जो दिखाती हैं कि एक आर्किटेक्चरल परत में समझौता दूसरों पर हमलों को कैसे सक्षम कर सकता है (जैसे, RAG विषाक्तता → एजेंट लक्ष्य अपहरण → टूल दुरुपयोग → डेटा बहिर्गमन)।
उन्नत सुधार सुझाव: एजेंटिक एप्लिकेशन के लिए, सुधार सुझाव अब एजेंट फ्रेमवर्क, अंतर-एजेंट संचार प्रोटोकॉल, सैंडबॉक्स तंत्र और सर्किट ब्रेकर कार्यान्वयन जैसे विशिष्ट आर्किटेक्चरल विवरण के लिए संकेत देते हैं।
pip install stride-gpt
यह `stride-gpt` कमांड को इंस्टॉल करता है। CLI और Streamlit वेब UI अब अलग-अलग उत्पाद हैं — `pip install stride-gpt` आपको बिना Streamlit फुटप्रिंट के लीन CLI देता है। वेब UI को स्रोत से चलाने के लिए, नीचे विकल्प 2 देखें।
### विकल्प 2: स्रोत से
1. रिपॉजिटरी को क्लोन करें:
```bash
git clone https://github.com/mrwadams/stride-gpt.git
cd stride-gpt
```
2. [uv](https://docs.astral.sh/uv/) के साथ इंस्टॉल करें (अनुशंसित — `uv.lock` निर्भरताओं के लिए एकमात्र स्रोत है): ```bash
# CLI plus the Streamlit web UI deps
uv sync
या केवल CLI को pip के साथ स्थापित करें: ```bash pip install -e .
3. (वैकल्पिक) पर्यावरण चर सेट करें: ```bash
cp .env.example .env
अपनी API कुंजियाँ जोड़ने के लिए .env संपादित करें — या बाद में इंटरैक्टिव REPL में stride-gpt चलाकर और /config कमांड का उपयोग करके, या Streamlit UI के माध्यम से कॉन्फ़िगर करें।
Streamlit वेब UI एक Docker इमेज के रूप में उपलब्ध है:```bash docker pull mrwadams/stridegpt:latest
CLI के लिए, `pip install stride-gpt` का उपयोग करें — कोई अलग CLI छवि नहीं है। यदि आपको एक सैंडबॉक्स्ड CLI चाहिए, तो एक न्यूनतम Python बेस इमेज से अपना खुद का बनाएँ।
## रिपॉजिटरी लेआउट
STRIDE-GPT एक छोटे मोनोरेपो के रूप में व्यवस्थित है: एक साझा Python लाइब्रेरी, एक या अधिक ऐप्स जो इसका उपभोग करते हैं।```
stride-gpt/
├── stride_gpt/ # shared library + Python CLI (core, agent loop, prompts, schemas, models)
├── apps/
│ └── web/ # Streamlit web UI
├── tests/ # pytest suite
└── pyproject.toml # single project file; web UI deps live in the `web` dependency-group
apps/ निर्देशिका अतिरिक्त तैनाती योग्य फ्रंटएंड के लिए स्थान है — उदाहरण के लिए, एक भविष्य का Node/TypeScript CLI apps/web/ के साथ रहेगा। Python CLI स्वयं stride_gpt/cli.py में रहता है क्योंकि यह साझा लाइब्रेरी से कसकर जुड़ा हुआ है।
एजेंटिक कोडबेस विश्लेषण — एजेंट स्वायत्त रूप से कोडबेस का अन्वेषण करता है, अपने विश्लेषण की योजना बनाता है, और एक STRIDE खतरा मॉडल तैयार करता है:```bash
stride-gpt analyze .
stride-gpt analyze ./my-app --worker-model anthropic/claude-sonnet-4-6 -y
stride-gpt analyze . -o report.json -f json # also writes report.html alongside stride-gpt analyze . -o report.sarif -f sarif stride-gpt analyze . -o report.html -f html
> प्रत्येक विश्लेषण `~/.stride-gpt/reports/analyze/` में एक JSON और एक HTML साथी को स्वतः सहेजता है, ताकि ब्राउज़र-दृश्य दृश्य हमेशा एक क्लिक दूर हो, भले ही आप `-o` के बिना चलाएँ।
> **लागत पर ध्यान दें:** एजेंटिक विश्लेषण गहन है — एजेंट कई LLM कॉल करता है और अन्वेषण करते समय कई फ़ाइलें पढ़ता है। टोकन उपयोग और लागत कोडबेस आकार और आपके चुने हुए मॉडल के अनुसार बढ़ती है, और किसी बड़े रिपॉजिटरी पर फ्रंटियर मॉडल के साथ पूर्ण रन महँगा हो सकता है। अपने प्रदाता डैशबोर्ड में चलाने से पहले खर्च सीमाएँ निर्धारित करें, और पहले पास के लिए तेज़/सस्ते मॉडल पर विचार करें।
**त्वरित एकल-शॉट मोड** — टेक्स्ट विवरण से एक खतरा मॉडल उत्पन्न करें (स्ट्रीमलिट UI की तरह, लेकिन टर्मिनल में):```bash
# Read description from a file
stride-gpt quick -i app-description.txt
# Pipe from stdin
echo "A web API that processes payments..." | stride-gpt quick
इंटरएक्टिव REPL — टैब पूर्णता और इतिहास के साथ एक इंटरैक्टिव सत्र प्रारंभ करें:```bash stride-gpt
REPL के अंदर, उपलब्ध कमांड और फ्लैग देखने के लिए `/help` टाइप करें। संस्करण स्टार्टअप पर ASCII बैनर के नीचे दिखाया गया है। पूर्ण कमांड और शॉर्टकट संदर्भ के लिए नीचे [Interactive REPL cheat sheet](#interactive-repl-cheat-sheet) देखें।
#### इंटरैक्टिव REPL चीट शीट
REPL को `stride-gpt` (बिना तर्कों के) से लॉन्च करें, फिर इन कमांड और शॉर्टकट का उपयोग करें।
**कमांड** — प्रॉम्प्ट पर स्लैश कमांड टाइप करें:
| कमांड | यह क्या करता है |
|---------|--------------|
| `/analyze [path]` | STRIDE खतरों के लिए कोडबेस का विश्लेषण करें (एक सादा डायरेक्टरी पथ भी काम करता है) |
| `/quick` | टेक्स्ट विवरण से त्वरित खतरा मॉडल |
| `/reports` | पिछले विश्लेषण रिपोर्ट सूचीबद्ध करें (`/reports <n>` एक देखता है) |
| `/config` | सेटिंग्स देखें या बदलें (मॉडल, प्रदाता, API कुंजियाँ) |
| `/help` | उपलब्ध कमांड, फ्लैग और उदाहरण दिखाएं |
| `/quit` | बाहर निकलें (उपनाम: `/exit`, `/q`) |
`/analyze`, `/quick`, और `/reports` फ्लैग स्वीकार करते हैं: `-o`/`--output <path>`, `-f`/`--format <markdown\|json\|sarif\|html>`, `-y`/`--yes`, और `-i`/`--input <path>` (`/quick`)। पूरी सूची के लिए `/help` टाइप करें।
**कीबोर्ड शॉर्टकट:**
| कुंजी | कार्रवाई |
|-----|--------|
| `Tab` | स्लैश कमांड और फ़ाइल पथ पूर्ण करें |
| `↑` / `↓` | कमांड इतिहास में स्क्रॉल करें |
| `→` / `End` | ग्रे आउट इतिहास सुझाव स्वीकार करें |
| `Ctrl+L` | स्क्रीन और स्क्रॉलबैक साफ़ करें |
| `Ctrl+C` / `Ctrl+D` | REPL से बाहर निकलें |
**स्थापित संस्करण जांचें:**```bash
stride-gpt --version # prints e.g. "stride-gpt 0.19.0" and exits
सामान्य फ़्लैग:
प्रत्येक स्तर --worker-api-key / --worker-api-base / --worker-max-tokens (और --architect-* समतुल्य) भी स्वीकार करता है। पूरी सूची के लिए stride-gpt analyze --help या stride-gpt quick --help चलाएँ।
संरचित मध्यवर्ती — जब -o <path> उपयोग किया जाता है, तो रिपोर्ट के साथ तीन JSON सहोदर लिखे जाते हैं ताकि रन का ऑडिट किया जा सके या डाउनस्ट्रीम टूल द्वारा उपयोग किया जा सके:
प्रारूप फ़्लैग (-f) केवल रिपोर्ट आर्टिफ़ैक्ट को नियंत्रित करता है; सहोदर हमेशा JSON होते हैं। मेनिफ़ेस्ट और findings में फ़ाइल पथ संपादित किए जाते हैं (./… जब कार्यशील निर्देशिका के अंतर्गत, ~/… जब $HOME के अंतर्गत) ताकि मेनिफ़ेस्ट साझा करना सुरक्षित हो। ~/.stride-gpt/reports/{analyze,quick}/ पर स्वतः-संग्रह प्रभावित नहीं होता — सहोदर केवल तब उत्सर्जित होते हैं जब आप -o पास करते हैं।
पिछली रिपोर्ट देखें:```bash stride-gpt reports # List recent reports stride-gpt reports 1 # View report #1 stride-gpt reports 1 -o r.json -f json # Export a report
### Streamlit Web UI
वेब UI CLI से एक अलग ऐप है। इसे इस प्रकार लॉन्च करें:```bash
streamlit run apps/web/main.py
प्रदान किए गए URL को अपने ब्राउज़र में खोलें और ऑन-स्क्रीन चरणों का पालन करें।
docker run -p 8501:8501 --env-file .env mrwadams/stridegpt
## नमूना आउटपुट
प्रत्येक `stride-gpt analyze` और `stride-gpt quick` रन डिफ़ॉल्ट रूप से एक मार्कडाउन रिपोर्ट जारी करता है (JSON, SARIF, और `-f` के माध्यम से उपलब्ध एक स्व-निहित HTML दृश्य के साथ)। मार्कडाउन खतरों को STRIDE तालिकाओं में उप-प्रणाली द्वारा समूहित करता है, घटकों में फैले खतरों के लिए एक क्रॉस-कटिंग अनुभाग जोड़ता है, और एक रन सारांश के साथ समाप्त होता है। वैकल्पिक कॉलम (OWASP LLM/ASI, Insider Category, MITRE ATT&CK) तभी दिखाई देते हैं जब कोई रन उन्हें भरता है।
नीचे एक काल्पनिक भुगतान API के विरुद्ध रन से मार्कडाउन है, ताकि आप टूल चलाने से पहले आउटपुट का आकार देख सकें। यह रिपोर्ट इंजन से एक वास्तविक रेंडर है, कोई मॉक-अप नहीं।
<details>
<summary>नमूना मार्कडाउन खतरा मॉडल (विस्तार करने के लिए क्लिक करें)</summary>````markdown
# STRIDE Threat Model: acme-payments-api
> Generated by STRIDE-GPT on 2026-07-16T09:42:00Z
## Overview
A Python FastAPI service that accepts card payments, stores customer profiles in PostgreSQL, and calls a third-party payment processor. Authentication is handled by JWT bearer tokens issued by an internal auth service; the API is internet-facing behind an API gateway.
## Data Flow Diagram
```mermaid
flowchart LR
Client[Client App] -->|HTTPS + JWT| Gateway[API Gateway]
Gateway --> API[Payments API]
API -->|SQL| DB[(PostgreSQL)]
API -->|HTTPS| Processor[Payment Processor]
app/auth/jwt.pyapp/auth/dependencies.py| Threat Type | Scenario | Potential Impact | MITRE ATT&CK |
|---|---|---|---|
| Spoofing | An attacker forges a JWT using a weak or leaked signing secret to impersonate another customer. |
app/payments/routes.pyapp/db/models.py| Threat Type | Scenario | Potential Impact | MITRE ATT&CK |
|---|---|---|---|
| Information Disclosure | Full card numbers are logged in request debug logs when a payment fails. | PCI-DSS violation and exposure of cardholder data to anyone with log access. |
| Threat Type | Scenario | Potential Impact | MITRE ATT&CK | Affected Subsystems |
|---|---|---|---|---|
| Denial of Service | No rate limiting on the payment endpoint lets an attacker exhaust the processor quota and DB connections. | Legitimate payments fail during the attack; possible processor throttling. | T1499 (Endpoint Denial of Service) | Authentication & Authorization, Payments & Data Storage |
</details>
`stride-gpt quick` एक लिखित विवरण से समान तालिका आकार उत्पन्न करता है, जो प्रति-सबसिस्टम निष्कर्षों के बजाय एकल **एप्लिकेशन** सबसिस्टम में संक्षिप्त होता है।
## सुरक्षा सर्वोत्तम अभ्यास
STRIDE GPT स्थानीय, एकल-उपयोगकर्ता तैनाती के लिए डिज़ाइन किया गया है। टूल का उपयोग करते समय:
### अपनी API कुंजियों की सुरक्षा करना
**आपकी API कुंजियाँ संवेदनशील क्रेडेंशियल हैं जो आपके खाते पर शुल्क लगा सकती हैं।**
✅ **करें:**
- UI के माध्यम से API कुंजियाँ दर्ज करें (वे आपके ब्राउज़र सत्र में रहती हैं)
- अपने व्यक्तिगत कंप्यूटर पर सुविधा के लिए .env फ़ाइल का उपयोग करें
- अपने LLM प्रदाता डैशबोर्ड में खर्च सीमा निर्धारित करें
- नियमित रूप से अपने API उपयोग और लागतों की समीक्षा करें
- साझा कंप्यूटर पर उपयोग करते समय सत्र साफ़ करें
❌ **न करें:**
- .env फ़ाइलों को संस्करण नियंत्रण में कमिट करें (पहले से .gitignore में)
- API कुंजियाँ दिखाने वाले स्क्रीनशॉट साझा करें
- अविश्वसनीय/समझौता की गई प्रणालियों पर STRIDE GPT चलाएँ
- अपनी API कुंजियाँ दूसरों के साथ साझा करें
- अप्रत्याशित API शुल्कों को अनदेखा करें
### डेटा गोपनीयता संबंधी विचार
जब आप खतरे के मॉडल उत्पन्न करते हैं, तो STRIDE GPT आपके चुने हुए LLM प्रदाता को डेटा भेजता है:
- एप्लिकेशन विवरण (प्रकार, प्रमाणीकरण विधियाँ, आर्किटेक्चर)
- सिस्टम आर्किटेक्चर विवरण
- अपलोड किए गए आर्किटेक्चर आरेख/चित्र
- उत्पन्न खतरे के मॉडल और शमन
**इसका क्या अर्थ है:**
- OpenAI, Anthropic, Google, आदि अपनी गोपनीयता नीतियों के अनुसार इस डेटा को लॉग कर सकते हैं
- प्रदर्शनों के लिए सामान्य/काल्पनिक सिस्टम विवरण का उपयोग करने पर विचार करें
- अपने LLM प्रदाता की डेटा प्रतिधारण और गोपनीयता नीतियों की समीक्षा करें
- संवेदनशील प्रणालियों के लिए, विचार करें:
- स्थानीय मॉडल (LM Studio) का उपयोग करना
- सख्त गोपनीयता गारंटी वाले प्रदाताओं का उपयोग करना
- इनपुट से पहले सिस्टम विवरण को साफ़ करना
### टीम/संगठन तैनाती के लिए
यदि कई उपयोगकर्ताओं के लिए STRIDE GPT तैनात कर रहे हैं (डिफ़ॉल्ट उपयोग के मामले में नहीं):
- प्रमाणीकरण/प्राधिकरण जोड़ें (डिफ़ॉल्ट रूप से शामिल नहीं)
- API कुंजियों के लिए एक गुप्त प्रबंधन सेवा का उपयोग करें
- VPN या आंतरिक नेटवर्क के पीछे तैनात करें
- अतिरिक्त विचारों के लिए [SECURITY.md](https://github.com/mrwadams/stride-gpt/blob/HEAD/SECURITY.md) दस्तावेज़ की समीक्षा करें
- डेटा निवास और अनुपालन आवश्यकताओं पर विचार करें
- उत्पन्न खतरे के मॉडलों के लिए उपयुक्त पहुँच नियंत्रण लागू करें
### निर्भरता सुरक्षा
हम निर्भरता बनाए रखते हैं और कमजोरियों की निगरानी करते हैं:
- Dependabot के माध्यम से नियमित रूप से निर्भरताएँ अपडेट की जाती हैं
- प्रत्येक कमिट पर स्वचालित सुरक्षा स्कैनिंग चलती है
- सुरक्षा सलाहकार GitHub सुरक्षा टैब में ट्रैक किए जाते हैं
- स्थानीय रूप से ज्ञात कमजोरियों की जाँच करने के लिए `pip-audit` चलाएँ
व्यापक सुरक्षा जानकारी के लिए [SECURITY.md](https://github.com/mrwadams/stride-gpt/blob/HEAD/SECURITY.md) देखें, जिसमें स्वचालित सुरक्षा स्कैनिंग, कमजोरी रिपोर्टिंग और सुरक्षित विकास अभ्यास शामिल हैं।
### सुरक्षा मुद्दों की रिपोर्ट करना
कोई सुरक्षा मुद्दा मिला? कृपया इसे जिम्मेदारी से रिपोर्ट करें:
- GitHub के [निजी कमजोरी रिपोर्टिंग](https://github.com/mrwadams/stride-gpt/security/advisories/new) के माध्यम से एक सुरक्षा सलाहकार बनाएँ
- सुरक्षा मुद्दों को सार्वजनिक रूप से पोस्ट न करें
- हम 48 घंटों के भीतर स्वीकार करेंगे
- फिक्स को प्राथमिकता दी जाएगी और जल्दी जारी किया जाएगा
## योगदान देना
पुल अनुरोधों का स्वागत है। बड़े बदलावों के लिए, कृपया पहले एक मुद्दा खोलें ताकि आप जो बदलना चाहते हैं उस पर चर्चा की जा सके।
## लाइसेंस
[MIT](https://choosealicense.com/licenses/mit/)
/analyze/analyzedata_flow_diagram/ और .git प्रत्यय हटा दिए जाते हैं) ताकि .../repo/ और .../repo.git अब गलती से 404 न हों।/analyze या /quick को -o <path> पास किया जाता है, तो रिपोर्ट के बगल में JSON सहोदर लिखे जाते हैं — <stem>.plan.json ( AnalysisPlan ), <stem>.findings.json (उप-प्रणाली निष्कर्ष, क्रॉस-कटिंग खतरे और डेटा फ़्लो आरेख), और <stem>.run.json (एक RunManifest जो मॉडल, कॉन्फिग हैश, संस्करण, समय, वास्तव में कौन से संदर्भ कार्ड लोड हुए, और एक run_summary रिकॉर्ड करता है जो बताता है कि रन पूरा हुआ या कॉल कैप ने इसे छोटा कर दिया)। मेनिफेस्ट API कुंजियों और एंडपॉइंट को बाहर करता है और फाइलसिस्टम पथों को संशोधित करता है, इसलिए वे कमिट करने या टिकट से संलग्न करने के लिए सुरक्षित हैं। -f प्रारूप फ़्लैग केवल रिपोर्ट कलाकृति को नियंत्रित करता है; सहोदर हमेशा JSON होते हैं।MITRE_ATTACK को अल्पविराम-पृथक स्ट्रिंग (जैसे "T1190, T1059, AML.T0053") के रूप में विहित सूची आकार के बजाय लौटाता है, तो तकनीक आईडी अब छोड़े जाने के बजाय पुनर्प्राप्त की जाती हैं। पहले मार्कडाउन/HTML रिपोर्ट "MITRE ATT&CK" कॉलम दिखाती थीं लेकिन हर सेल खाली छोड़ देती थीं, और SARIF निर्यात आईडी को पूरी तरह से खो देता था। सभी रेंडरर (मार्कडाउन, HTML पिल, SARIF) और कॉलम-दृश्यता जांच अब एक एकल सामान्यीकरणकर्ता के माध्यम से रूट होते हैं, और मुक्त-रूप गद्य जो तकनीक आईडी नहीं है, फ़िल्टर कर दिया जाता है ताकि कॉलम कभी झूठी सकारात्मकता से न भरे।The api_key client option must be set के साथ विफल होने से ठीक किया गया जब पर्यावरण में कोई क्लाउड प्रदाता कुंजी मौजूद नहीं थी। LM Studio LiteLLM के openai/ उपसर्ग के माध्यम से रूट होता है, और OpenAI SDK एक कुंजी के बिना क्लाइंट बनाने से इनकार करता है, भले ही api_base लोकलहोस्ट को इंगित करता हो, इसलिए CLI अब उन प्रदाताओं के लिए एक प्लेसहोल्डर पास करता है जो प्रमाणित नहीं करते हैं। संबंधित रूप से, कार्यकर्ता स्तर का अंतिम-उपाय पर्यावरण स्कैन अब उन प्रदाताओं पर लागू नहीं होता है: एक कॉन्फ़िगर ANTHROPIC_API_KEY या OPENAI_API_KEY पहले api_base द्वारा नामित किसी भी होस्ट को भेजा जाता था, जिसने इस बग को मास्क किया और वायर पर एक वास्तविक कुंजी डाल दी। यदि आप LM Studio का उपयोग करते हैं और ऐसी कुंजी सेट है, तो यह अब आपके एंडपॉइंट पर प्रेषित नहीं होती है।mrwadams/stridegpt-ui) हटा दिया गया; Streamlit वेब UI अब केवल mrwadams/stridegpt पर रहता है। CLI उपयोगकर्ताओं को कंटेनर खींचने के बजाय pip install stride-gpt करना चाहिए।mistralai पैकेज हटा दिया गया (Mistral पहुंच पहले से ही LiteLLM के माध्यम से प्रवाहित होती है)। UI छवि के लिए python:3.12-slim आधार ताज़ा किया गया और curl हटा दिया गया, PR #113–#115 में 21 मध्यम/उच्च CVE अलर्ट साफ़ किए गए।except, मृत कोड) (#116)।botocoreOpenAI मॉडल अपडेट: GPT-5.2 श्रृंखला मॉडल में अपडेट किया गया (gpt-5.2, gpt-5.2-pro, gpt-5-mini, gpt-5-nano, gpt-5, gpt-4.1)। पदावनत मॉडल हटाए गए (gpt-4o, gpt-4o-mini, o3, o3-mini, o4-mini)।
Anthropic Claude 4.5 मॉडल: Claude 4.5 श्रृंखला में अपडेट किया गया (claude-sonnet-4-5, claude-haiku-4-5, claude-opus-4-5)। किसी भी Claude मॉडल पर उन्नत तर्क क्षमताओं के लिए "Enable Extended Thinking" चेकबॉक्स जोड़ा गया। अधिकतम टोकन 32k (मानक) और 48k (सोच मोड) तक बढ़ाए गए।
Google Gemini 3 प्रीव्यू: Gemini 2.5 मॉडल के साथ Gemini 3 प्रीव्यू मॉडल (gemini-3-pro-preview, gemini-3-flash-preview) जोड़ा गया। Gemini 3 मॉडल के लिए विस्तारित सोच मोड समर्थन।
Mistral मॉडल अपडेट: नवीनतम संस्करणित Mistral मॉडल में अपडेट किया गया जिसमें Mistral Large 3, Medium 3.1, Small 3.2, Ministral 3 (8B/14B), और Magistral 1.2 (Medium/Small) शामिल हैं।
नया परियोजना लोगो: स्वच्छ, न्यूनतम शील्ड + तंत्रिका नेटवर्क डिज़ाइन के साथ ताज़ा ब्रांडिंग।
बग फिक्स: खतरे के मॉडल आउटपुट के डाउनलोड बटन पर क्लिक करने के बाद गायब होने की समस्या ठीक की गई।
max_tokens के बजाय max_completion_tokens का उपयोग करने के लिए पैरामीटर हैंडलिंग अपडेट की गई, जिससे OpenAI की नवीनतम API आवश्यकताओं के साथ अनुकूलता सुनिश्चित होती है।रिलीज़ मुख्य आकर्षण:
इस रिलीज़ ने निम्नलिखित मॉडलों के लिए समर्थन जोड़ा:
रिलीज़ मुख्य आकर्षण:
रिलीज़ मुख्य आकर्षण:
रिलीज़ मुख्य आकर्षण:
रिलीज़ मुख्य आकर्षण:
रिलीज़ मुख्य आकर्षण:
रिलीज़ मुख्य आकर्षण:
रिलीज़ मुख्य आकर्षण:
एप्लिकेशन का प्रारंभिक रिलीज़।
| फ़्लैग | विवरण |
|---|
--version | संस्थापित संस्करण (stride-gpt <version>) प्रिंट करें और बाहर निकलें |
-o, --output | रिपोर्ट को फ़ाइल में सहेजें |
-f, --format | आउटपुट स्वरूप: markdown (डिफ़ॉल्ट), json, sarif, html |
-i, --input | ऐप विवरण को फ़ाइल से पढ़ें (केवल quick) |
-y, --yes | विश्लेषण योजना को स्वतः अनुमोदित करें (केवल analyze) |
--worker-model | डिफ़ॉल्ट-स्तर मॉडल जो अधिकांश कॉल संभालता है (जैसे anthropic/claude-sonnet-4-6). छोड़ने पर सहेजी गई कॉन्फ़िग का उपयोग करता है। |
--architect-model | योजना/संश्लेषण के लिए मज़बूत मॉडल (जैसे openai/gpt-5.4). छोड़ने पर सहेजी गई कॉन्फ़िग का उपयोग करता है। |
--no-architect | इस रन के लिए आर्किटेक्ट स्तर छोड़ें; वर्कर हर कॉल संभालता है। |
--app-type | प्लानर द्वारा पता लगाए गए ऐप प्रकार को ओवरराइड करें (केवल analyze): auto (डिफ़ॉल्ट), web, genai, agentic. |
--max-llm-calls | दोनों स्तरों पर कुल LLM कॉल को सीमित करें (केवल analyze; 0 = असीमित). |
--max-tool-calls | कुल टूल निष्पादन को सीमित करें (केवल analyze; 0 = असीमित). |
| फ़ाइल | सामग्री |
|---|
<stem>.plan.json | वह AnalysisPlan जो आर्किटेक्ट ने उत्पन्न किया — उप-प्रणालियाँ, फोकस क्षेत्र, पता लगाया गया ऐप प्रकार (केवल analyze). |
<stem>.findings.json | प्रति-उप-प्रणाली SubsystemFinding सूची, क्रॉस-कटिंग खतरे, और सिस्टम-स्तरीय डेटा प्रवाह आरेख (केवल analyze). |
<stem>.run.json | एक RunManifest — मॉडल, प्रॉम्प्ट + कॉन्फ़िग हैश, वास्तव में लोड किए गए एजेंट के संदर्भ, git SHA, संस्करण, समय. analyze और quick दोनों के लिए उत्सर्जित. |
| Full account takeover and unauthorized access to stored payment methods. |
| T1550.001 (Application Access Token) |
| Elevation of Privilege | A standard user calls an admin-only refund endpoint that only checks authentication, not role. | Unauthorized refunds and financial loss. | T1068 (Exploitation for Privilege Escalation) |
| T1552.001 (Credentials In Files) |
| Tampering | The payment amount is taken from a client-supplied field and not re-validated server-side against the order. | A user pays less than the order total by editing the request body. |