
Ein KI-gestütztes Bedrohungsmodellierungs-Tool, das die GPT-Modelle von OpenAI nutzt, um auf Basis der STRIDE-Methodik Bedrohungsmodelle für eine gegebene Anwendung zu generieren.
STRIDE GPT ist ein KI-gestütztes Bedrohungsmodellierungswerkzeug, das Large Language Models (LLMs) nutzt, um Bedrohungsmodelle und Angriffsbäume für eine bestimmte Anwendung auf Basis der STRIDE-Methodik zu erstellen. Benutzer geben Anwendungsdetails an, wie den Anwendungstyp, Authentifizierungsmethoden und ob die Anwendung internetzugänglich ist oder sensible Daten verarbeitet. Das Modell generiert dann die Ausgabe basierend auf den bereitgestellten Informationen.
Wenn Sie STRIDE GPT nützlich finden, erwägen Sie bitte, das Projekt zu unterstützen:
mitre_attack-Eigenschaften in SARIF dargestellt.embed.diagrams.net; für selbst gehostete oder luftspaltbereinigte Umgebungen konfigurieren Sie ihn über die Umgebungsvariable STRIDE_GPT_DRAWIO_URL auf Ihre eigene draw.io-Instanz.Möchten Sie STRIDE-GPT für Ihre Organisation anpassen? Schauen Sie sich unseren umfassenden Operationalisierungsleitfaden an, um zu erfahren, wie Sie:
Der Leitfaden enthält Schritt-für-Schritt-Anleitungen, Codebeispiele und Bereitstellungsmuster für Organisationen, die KI-gestützte Bedrohungsmodellierung in ihren Teams skalieren möchten.
Im Januar 2024 hielt ich einen Vortrag über STRIDE GPT auf dem Open Security Summit. In dem Vortrag diskutierte ich die Entstehung des Projekts, seine Kernfunktionen, aktuelle Aktualisierungen und einige Zukunftspläne. Sie können die vollständige Präsentation unten ansehen:
Dieses Video ist eine hervorragende Ressource für alle, die verstehen möchten, wie STRIDE GPT funktioniert und wie es zur Verbesserung der Bedrohungsmodellierung eingesetzt werden kann.
--version-Flag (#161): stride-gpt --version gibt nun die installierte Version aus und beendet sich; das interaktive TUI-Banner zeigt die laufende Version an, sodass Sie auf einen Blick sehen, welche Sie verwenden.uv.lock ist nun die alleinige Quelle der Wahrheit für alle Abhängigkeiten. Die doppelten requirements.txt-Dateien werden ausgemustert; das Docker-UI-Image und der Sicherheitsscan-Workflow installieren über uv export aus uv.lock, sodass das Ausgelieferte und das Gescannte nicht mehr von dem abweichen können, was gesperrt ist. Keine Änderung für Benutzer von pip install stride-gpt.STRIDE_GPT_DRAWIO_URL konfigurierbar (Standard: embed.diagrams.net), der postMessage-Ursprung des iframes ist darauf beschränkt und nicht vertrauenswürdiges Diagramm-XML wird mit defusedxml geparst.deepseek-v4-pro und deepseek-v4-flash. Aufrufe erfolgen über die native deepseek/-Integration von LiteLLM (gehosteter Endpunkt, keine benutzerdefinierte Basis-URL erforderlich); setzen Sie Ihren Schlüssel über DEEPSEEK_API_KEY./analyze und /quick ausgegebene Bedrohungen können nun standardisierte Angreifertechnik-IDs von MITRE ATT&CK Enterprise (v17.1) und MITRE ATLAS (2026.05) enthalten. Zwei neue Referenzkarten mit progressiver Offenlegung (mitre_enterprise, mitre_atlas) weisen den Agenten an, nur die katalogisierten IDs und Namen zu verwenden, wodurch das Halluzinieren von IDs verhindert wird. Karten werden über scripts/refresh_mitre_cards.py aus den upstream STIX/YAML-Daten neu generiert, nicht aus dem Modellgedächtnis geschrieben. Techniken werden als Spalte MITRE ATT&CK in Markdown-Tabellen, als anklickbare, himmelblau getönte Pillen in HTML und als properties.mitre_attack-Arrays in SARIF dargestellt./analyze und /quick geben nun zusammen mit den Markdown-/JSON-/SARIF-Ausgaben einen eigenständigen, im Browser anzeigbaren HTML-Bericht aus, der sich zum Teilen mit Stakeholdern eignet.claude-opus-4-8, das neueste Frontier-Modell von Anthropic, zusätzlich zum bestehenden Opus 4.7. Beide können als Architekten- oder Workermodell ausgewählt werden.pip install stride-gpt-CLI, getrennt von der veralteten Streamlit-Weboberfläche. Zwei Hauptbefehle: /analyze (autonome agentische Codebasisanalyse mit einem Planer, pro-Subsystem Tool-verwendenden Agenten-Schleifen und einem querschnittlichen Synthesedurchlauf) und /quick (einmaliges Bedrohungsmodell aus einer geschriebenen Anwendungsbeschreibung).genai (OWASP LLM Top 10), agentic (OWASP ASI Top 10) und insider_threat-Karten beschreiben sich selbst über YAML-Frontmatter; der Agent entdeckt sie über list_references und lädt die Inhalte über load_reference.stride_gpt/__init__.py auf ERROR gesetzt, sodass die Vorab-Ladewarnungen von Bedrock/SageMaker nicht mehr bei frischen Installationen ohne erscheinen.Unterstützung für agentische KI-Anwendungen: Umfassende Unterstützung für die Bedrohungsmodellierung agentischer KI-Systeme mit Integration der OWASP Top 10 für agentische Anwendungen (ASI01-ASI10). Wählen Sie einfach „Agentische KI-Anwendung“ und beschreiben Sie Ihr System – das LLM erkennt automatisch Architekturmuster und wendet relevante Bedrohungskategorien an. Jedes ASI-Risiko wird der entsprechenden STRIDE-Kategorie für eine konsistente Bedrohungsanalyse zugeordnet.
Unterstützung für generative KI-Anwendungen: Unterstützung für die Bedrohungsmodellierung von GenAI-Anwendungen mit Integration der OWASP LLM Top 10 (LLM01-LLM10). Wählen Sie „Generative KI-Anwendung“ und beschreiben Sie Ihr System, um eine maßgeschneiderte LLM-spezifische Bedrohungsanalyse zu erhalten. Agentische KI-Anwendungen umfassen sowohl LLM- als auch ASI-Risikokategorien für eine umfassende Abdeckung.
MAESTRO-inspirierte Erkennung von Architekturmustern: Verbesserte agentische Bedrohungsanalyse mit automatischer Erkennung von Architekturmustern aus Anwendungsbeschreibungen, inspiriert vom Cloud Security Alliance MAESTRO-Framework. Das LLM identifiziert nun musterspezifische Bedrohungen für:
Schichtübergreifende Bedrohungsanalyse: Bedrohungsmodelle enthalten nun komponentenübergreifende Angriffsketten, die zeigen, wie eine Kompromittierung in einer Architekturschicht Angriffe auf andere ermöglichen kann (z.B. RAG-Vergiftung → Zielentführung des Agenten → Tool-Missbrauch → Datenerfassung).
pip install stride-gpt
Dies installiert den Befehl `stride-gpt`. Die CLI und die Streamlit-Web-Benutzeroberfläche sind jetzt separate Produkte — `pip install stride-gpt` liefert dir die schlanke CLI ohne Streamlit-Fußabdruck. Um die Weboberfläche aus dem Quellcode auszuführen, siehe Option 2 unten.
### Option 2: Aus dem Quellcode
1. Klone das Repository:
```bash
git clone https://github.com/mrwadams/stride-gpt.git
cd stride-gpt
```
2. Installiere mit [uv](https://docs.astral.sh/uv/) (empfohlen — `uv.lock` ist die alleinige Quelle der Wahrheit für Abhängigkeiten): ```bash
# CLI plus the Streamlit web UI deps
uv sync
Oder installieren Sie einfach die CLI mit pip: ```bash pip install -e .
3. (Optional) Umgebungsvariablen einrichten: ```bash
cp .env.example .env
Bearbeiten Sie .env, um Ihre API-Schlüssel hinzuzufügen — oder konfigurieren Sie sie später, indem Sie stride-gpt ausführen und den /config-Befehl in der interaktiven REPL oder über die Streamlit UI verwenden.
Die Streamlit web UI wird als Docker-Image ausgeliefert:```bash docker pull mrwadams/stridegpt:latest
Für die CLI verwenden Sie `pip install stride-gpt` – es gibt kein separates CLI-Image. Wenn Sie eine gesandboxte CLI benötigen, bauen Sie Ihre eigene aus einem minimalen Python-Basis-Image.
## Repository-Struktur
STRIDE-GPT ist als kleines Monorepo organisiert: eine gemeinsame Python-Bibliothek, eine oder mehrere Apps, die diese nutzen.```
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
Das Verzeichnis apps/ ist der Platz für zusätzliche bereitstellbare Frontends – zum Beispiel würde eine zukünftige Node/TypeScript-CLI neben apps/web/ existieren. Die Python-CLI selbst bleibt in stride_gpt/cli.py, da sie eng mit der gemeinsam genutzten Bibliothek verknüpft ist.
Agentische Codebasis-Analyse – der Agent erkundet autonom eine Codebasis, plant seine Analyse und erstellt ein STRIDE-Bedrohungsmodell:```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
> Jede Analyse speichert automatisch ein JSON und ein HTML-Begleitdokument in `~/.stride-gpt/reports/analyze/`, sodass die browseransichtsfähige Ansicht immer nur einen Klick entfernt ist, auch wenn Sie ohne `-o` ausführen.
> **Hinweis zu den Kosten:** Die agentische Analyse ist gründlich – der Agent führt viele LLM-Aufrufe durch und liest viele Dateien, während er erkundet. Token-Nutzung und Kosten skalieren mit der Größe der Codebasis und Ihrem gewählten Modell, und ein vollständiger Durchlauf in einem großen Repository mit einem Spitzenmodell kann teuer sein. Legen Sie vor dem Ausführen in Ihrem Provider-Dashboard Ausgabenlimits fest und ziehen Sie für erste Durchläufe schnellere/günstigere Modelle in Betracht.
**Schneller Single-Shot-Modus** – Erstellen eines Bedrohungsmodells aus einer Textbeschreibung (wie die Streamlit-Benutzeroberfläche, aber im Terminal):```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
Interactive REPL — starten Sie eine interaktive Sitzung mit Tab-Vervollständigung und Verlauf:```bash stride-gpt
Geben Sie im REPL `/help` ein, um verfügbare Befehle und Flags anzuzeigen. Die Version wird unter dem ASCII-Banner beim Start angezeigt. Siehe das [Interaktive REPL-Spickzettel](#interactive-repl-cheat-sheet) unten für die vollständige Befehls- und Tastenkürzel-Referenz.
#### Interaktiver REPL-Spickzettel
Starten Sie den REPL mit `stride-gpt` (keine Argumente), verwenden Sie dann diese Befehle und Tastenkürzel.
**Befehle** — geben Sie einen Schrägstrich-Befehl an der Eingabeaufforderung ein:
| Befehl | Bedeutung |
|--------|-----------|
| `/analyze [Pfad]` | Analysiert eine Codebasis auf STRIDE-Bedrohungen (ein einfacher Verzeichnispfad funktioniert auch) |
| `/quick` | Schnelles Bedrohungsmodell aus einer Textbeschreibung |
| `/reports` | Listet frühere Analyseberichte auf (`/reports <n>` zeigt einen an) |
| `/config` | Einstellungen anzeigen oder ändern (Modell, Provider, API-Schlüssel) |
| `/help` | Verfügbare Befehle, Flags und Beispiele anzeigen |
| `/quit` | Beenden (Aliase: `/exit`, `/q`) |
`/analyze`, `/quick` und `/reports` akzeptieren Flags: `-o`/`--output <Pfad>`, `-f`/`--format <markdown\|json\|sarif\|html>`, `-y`/`--yes` und `-i`/`--input <Pfad>` (`/quick`). Geben Sie `/help` ein für die vollständige Liste.
**Tastaturkürzel:**
| Taste | Aktion |
|-------|--------|
| `Tab` | Schrägstrich-Befehle und Dateipfade vervollständigen |
| `↑` / `↓` | Durch die Befehlshistorie scrollen |
| `→` / `Ende` | Den ausgegrauten Historienvorschlag annehmen |
| `Strg+L` | Bildschirm und Rückscrollverlauf löschen |
| `Strg+C` / `Strg+D` | REPL beenden |
**Installierte Version prüfen:**```bash
stride-gpt --version # prints e.g. "stride-gpt 0.19.0" and exits
Allgemeine Flags:
Jede Stufe akzeptiert auch --worker-api-key / --worker-api-base / --worker-max-tokens (und die --architect-*-Entsprechungen). Führen Sie stride-gpt analyze --help oder stride-gpt quick --help aus, um die vollständige Liste zu erhalten.
Strukturierte Zwischenergebnisse — wenn -o <path> verwendet wird, werden drei JSON-Geschwisterdateien zusammen mit dem Bericht erstellt, sodass der Lauf überprüft oder von nachgelagerten Werkzeugen verwendet werden kann:
Das Format-Flag (-f) steuert nur das Berichtsartefakt; die Geschwisterdateien sind immer JSON. Dateipfade im Manifest und in den Ergebnissen werden geschwärzt (./… wenn im Arbeitsverzeichnis, ~/… wenn unter $HOME), sodass ein Manifest sicher geteilt werden kann. Das automatische Archiv unter ~/.stride-gpt/reports/{analyze,quick}/ ist davon nicht betroffen — Geschwisterdateien werden nur ausgegeben, wenn Sie -o angeben.
Vorherige Berichte anzeigen:```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
Die Web-UI ist eine separate Anwendung von der CLI. Starte sie mit:```bash
streamlit run apps/web/main.py
Öffnen Sie die bereitgestellte URL in Ihrem Browser und folgen Sie den Anweisungen auf dem Bildschirm.
docker run -p 8501:8501 --env-file .env mrwadams/stridegpt
## Beispielausgabe
Jeder `stride-gpt analyze`- und `stride-gpt quick`-Durchlauf gibt standardmäßig einen Markdown-Bericht aus (mit JSON, SARIF und einer eigenständigen HTML-Ansicht über `-f`). Das Markdown gruppiert Bedrohungen nach Subsystem in STRIDE-Tabellen, fügt einen querschnittlichen Abschnitt für Bedrohungen hinzu, die Komponenten umfassen, und endet mit einer Zusammenfassung des Durchlaufs. Optionale Spalten (OWASP LLM/ASI, Insider-Kategorie, MITRE ATT&CK) erscheinen nur, wenn ein Durchlauf sie befüllt.
Nachfolgend finden Sie das Markdown eines Durchlaufs gegen eine fiktive Zahlungs-API, damit Sie die Form der Ausgabe sehen können, bevor Sie das Tool ausführen. Es handelt sich um eine echte Wiedergabe aus der Berichtsengine, nicht um einen Entwurf.
<details>
<summary>Beispiel-Markdown-Bedrohungsmodell (zum Erweitern klicken)</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` erzeugt die gleiche Tabellenform aus einer schriftlichen Beschreibung, zusammengefasst in einem einzigen **Application**-Subsystem anstatt aufgeteilt pro Subsystem.
## Sicherheitsempfehlungen
STRIDE GPT ist für die lokale Einzelbenutzerbereitstellung konzipiert. Beachten Sie bei der Nutzung des Tools:
### Schutz Ihrer API-Schlüssel
**Ihre API-Schlüssel sind sensible Anmeldeinformationen, die Kosten auf Ihrem Konto verursachen können.**
✅ **TUN:**
- API-Schlüssel über die Benutzeroberfläche eingeben (sie bleiben in Ihrer Browsersitzung)
- .env-Datei zur Bequemlichkeit auf Ihrem persönlichen Rechner verwenden
- Ausgabenlimits im Dashboard Ihres LLM-Anbieters festlegen
- API-Nutzung und -Kosten regelmäßig überprüfen
- Sitzung bei Verwendung auf gemeinsam genutzten Computern löschen
❌ **NICHT TUN:**
- .env-Dateien in die Versionskontrolle einchecken (bereits in .gitignore)
- Screenshots mit sichtbaren API-Schlüsseln teilen
- STRIDE GPT auf nicht vertrauenswürdigen/kompromittierten Systemen ausführen
- Ihre API-Schlüssel mit anderen teilen
- Unerwartete API-Kosten ignorieren
### Datenschutzüberlegungen
Wenn Sie Bedrohungsmodelle erstellen, sendet STRIDE GPT Daten an Ihren gewählten LLM-Anbieter:
- Anwendungsdetails (Art, Authentifizierungsmethoden, Architektur)
- Systemarchitekturbeschreibungen
- Hochgeladene Architekturdiagramme/-bilder
- Generierte Bedrohungsmodelle und Gegenmaßnahmen
**Was das bedeutet:**
- OpenAI, Anthropic, Google usw. können diese Daten gemäß ihren Datenschutzrichtlinien protokollieren
- Erwägen Sie die Verwendung generischer/fiktiver Systemdetails für Demonstrationen
- Überprüfen Sie die Datenspeicherungs- und Datenschutzrichtlinien Ihres LLM-Anbieters
- Für sensible Systeme sollten Sie Folgendes in Betracht ziehen:
- Verwendung lokaler Modelle (LM Studio)
- Verwendung von Anbietern mit strengeren Datenschutzgarantien
- Bereinigung von Systembeschreibungen vor der Eingabe
### Für Team-/Organisationsbereitstellungen
Wenn Sie STRIDE GPT für mehrere Benutzer bereitstellen (nicht der Standardfall):
- Authentifizierung/Authorisierung hinzufügen (standardmäßig nicht enthalten)
- Verwenden Sie einen Secret-Management-Dienst für API-Schlüssel
- Hinter einem VPN oder internen Netzwerk bereitstellen
- Lesen Sie das Dokument [SECURITY.md](https://github.com/mrwadams/stride-gpt/blob/HEAD/SECURITY.md) für zusätzliche Überlegungen
- Berücksichtigen Sie Anforderungen an Datenaufbewahrungsort und Compliance
- Implementieren Sie geeignete Zugriffskontrollen für generierte Bedrohungsmodelle
### Sicherheit der Abhängigkeiten
Wir pflegen Abhängigkeiten und überwachen auf Schwachstellen:
- Abhängigkeiten werden regelmäßig über Dependabot aktualisiert
- Automatisierte Sicherheitsscans werden bei jedem Commit ausgeführt
- Sicherheitshinweise werden im GitHub Security-Tab verfolgt
- Führen Sie `pip-audit` aus, um lokal auf bekannte Schwachstellen zu prüfen
Siehe [SECURITY.md](https://github.com/mrwadams/stride-gpt/blob/HEAD/SECURITY.md) für umfassende Sicherheitsinformationen, einschließlich automatisierter Sicherheitsscans, Meldung von Schwachstellen und sicheren Entwicklungspraktiken.
### Melden von Sicherheitsproblemen
Ein Sicherheitsproblem gefunden? Bitte melden Sie es verantwortungsvoll:
- Erstellen Sie ein Security Advisory über die [private Schwachstellenmeldung](https://github.com/mrwadams/stride-gpt/security/advisories/new) von GitHub
- Veröffentlichen Sie Sicherheitsprobleme nicht öffentlich
- Wir werden innerhalb von 48 Stunden antworten
- Korrekturen werden priorisiert und schnell veröffentlicht
## Mitwirken
Pull-Requests sind willkommen. Bei größeren Änderungen eröffnen Sie bitte zuerst ein Issue, um zu besprechen, was Sie ändern möchten.
## Lizenz
[MIT](https://choosealicense.com/licenses/mit/)
/analyze gibt ebenfalls ein systemweites DFD zusammen mit seinen Erkenntnissen aus./analyze erzeugt ebenfalls ein systemweites DFD nach der Synthese, dargestellt als Mermaid-Block im Markdown-Bericht, enthalten im JSON-Feld data_flow_diagram und angezeigt in der HTML-Ansicht über eine per CDN geladene Mermaid-Laufzeitumgebung. Die DFD-Erstellung ist so abgesichert, dass ein fehlerhaftes Diagramm niemals einen guten Bericht zum Scheitern bringt./ und .git-Suffix entfernt), sodass .../repo/ und .../repo.git nicht mehr fälschlich mit 404 enden.-o <Pfad> an /analyze oder /quick übergeben wird, werden JSON-Geschwisterdateien neben den Bericht geschrieben – <Stamm>.plan.json (der AnalysisPlan), <Stamm>.findings.json (Subsystem-Erkenntnisse, querschnittliche Bedrohungen und das Datenflussdiagramm) und <Stamm>.run.json (ein RunManifest mit Modellen, Konfigurations-Hash, Version, Zeitmessung, welche Referenzkarten tatsächlich geladen wurden, und einer run_summary, die angibt, ob der Lauf abgeschlossen wurde oder ein Aufruflimit ihn abgeschnitten hat). Manifeste schließen API-Schlüssel und Endpunkte aus und schwärzen Dateisystempfade, sodass sie sicher committet oder an einen Ticket angehängt werden können. Das -f-Format-Flag regelt nur das Berichts-Artefakt; Geschwister sind immer JSON.MITRE_ATTACK als kommagetrennten String zurückgibt (z.B. "T1190, T1059, AML.T0053") anstatt der kanonischen Listeform, werden die Technik-IDs nun wiederhergestellt und nicht verworfen. Zuvor zeigten die Markdown/HTML-Berichte die Spalte „MITRE ATT&CK“, ließen aber jede Zelle leer; der SARIF-Export verlor die IDs vollständig. Alle Renderer (Markdown, HTML-Pillen, SARIF) und die Sichtbarkeitsprüfung der Spalte laufen nun über einen einzigen Normalisierer; freitextliche Prosa, die keine Technik-ID ist, wird herausgefiltert, sodass die Spalte nie mit falsch positiven Ergebnissen gefüllt wird.The api_key client option must be set fehlschlugen, wenn kein Cloud-Anbieter-Schlüssel in der Umgebung vorhanden war. LM Studio läuft über das openai/-Präfix von LiteLLM, und das OpenAI SDK weigert sich, einen Client ohne Schlüssel zu erstellen, selbst wenn api_base auf localhost zeigt; daher übergibt die CLI nun einen Platzhalter für Anbieter, die keine Authentifizierung erfordern. Im Zusammenhang damit scannt die Workerebene bei der letzten Prüfung der Umgebung nicht mehr nach diesen Anbietern: Ein konfiguriertes ANTHROPIC_API_KEY oder OPENAI_API_KEY wurde zuvor an den im api_base genannten Host gesendet, was sowohl diesen Fehler maskierte als auch einen echten Schlüssel über die Leitung schickte. Wenn Sie LM Studio verwenden und einen solchen Schlüssel gesetzt haben, wird dieser nicht mehr an Ihren Endpunkt übertragen.mrwadams/stridegpt-ui) entfällt; die Streamlit-Weboberfläche ist nun nur noch unter mrwadams/stridegpt verfügbar. CLI-Benutzer sollten pip install stride-gpt verwenden, anstatt einen Container zu ziehen.mistralai wurde entfernt (Mistral-Zugriff erfolgt ohnehin über LiteLLM). Die Basis für das UI-Image wurde auf python:3.12-slim aktualisiert und curl entfernt, wodurch 21 mittlere/hohe CVE-Warnungen in den PRs #113–#115 beseitigt wurden.except, toter Code) wurden beseitigt (#116).botocoreVerbesserte Verbesserungsvorschläge: Für agentische Anwendungen fordern Verbesserungsvorschläge nun zur Angabe spezifischer Architekturdetails auf, wie Agenten-Framework, Kommunikationsprotokolle zwischen Agenten, Sandbox-Mechanismen und Implementierung von Schutzschaltern.
OpenAI-Modellaktualisierungen: Aktualisiert auf GPT-5.2-Serienmodelle (gpt-5.2, gpt-5.2-pro, gpt-5-mini, gpt-5-nano, gpt-5, gpt-4.1). Veraltete Modelle entfernt (gpt-4o, gpt-4o-mini, o3, o3-mini, o4-mini).
Anthropic Claude 4.5-Modelle: Aktualisiert auf Claude 4.5-Serie (claude-sonnet-4-5, claude-haiku-4-5, claude-opus-4-5). Kontrollkästchen „Erweitertes Denken aktivieren“ für verbesserte Reasoning-Fähigkeiten bei jedem Claude-Modell hinzugefügt. Maximal-Token auf 32k (Standard) und 48k (Denkmodus) erhöht.
Google Gemini 3-Vorschau: Vorschaumodelle von Gemini 3 hinzugefügt (gemini-3-pro-preview, gemini-3-flash-preview) zusätzlich zu den Gemini 2.5-Modellen. Unterstützung für erweiterten Denkmodus für Gemini 3-Modelle.
Mistral-Modellaktualisierungen: Aktualisiert auf die neuesten versionierten Mistral-Modelle, einschließlich Mistral Large 3, Medium 3.1, Small 3.2, Ministral 3 (8B/14B) und Magistral 1.2 (Medium/Small).
Neues Projektlogo: Überarbeitetes Branding mit einem saubereren, minimalen Schild + neuronalem Netzwerk-Design.
Fehlerbehebung: Problem behoben, bei dem die Ausgabe des Bedrohungsmodells nach dem Klicken auf die Download-Schaltfläche verschwand.
max_completion_tokens anstelle des veralteten max_tokens für GPT-5 und andere OpenAI Reasoning-Modelle zu verwenden, um die Kompatibilität mit den neuesten API-Anforderungen von OpenAI sicherzustellen.Highlights der Version:
Diese Version fügt Unterstützung für die folgenden Modelle hinzu:
GPT4o mini: Unterstützung für das kürzlich von OpenAI veröffentlichte GPT4o mini Modell hinzugefügt. GPT4o mini ist ein kosteneffizientes kleines Modell, das dennoch qualitativ hochwertige Antworten für Bedrohungsmodellierungsaufgaben liefert.
Gemini 1.5 Pro (stabil): Benutzer können jetzt zwischen der stabilen oder der Vorschauversion des Gemini 1.5 Pro Modells wählen.
Highlights der Version:
DREAD Risk Scoring: STRIDE GPT unterstützt jetzt die DREAD-Risikobewertung, sodass Benutzer Risikobewertungen für identifizierte Bedrohungen basierend auf dem DREAD-Modell zuweisen können. Diese Funktion bietet eine umfassendere Bedrohungsbewertung und hilft, Abhilfemaßnahmen zu priorisieren.
Gherkin Test Cases: Benutzer können jetzt Gherkin-Testfälle basierend auf den identifizierten Bedrohungen generieren. Diese Funktion hilft, die Lücke zwischen Bedrohungsmodellierung und Tests zu schließen und stellt sicher, dass Sicherheitsaspekte in den Testprozess integriert werden.
UI Enhancements: Die Benutzeroberfläche wurde überarbeitet, um die Navigation und Interaktion mit der Anwendung und ihren Funktionen zu erleichtern.
Highlights der Version:
Highlights der Version:
Mistral API Integration: Benutzer können jetzt LLMs von Mistral AI auswählen, um Bedrohungsmodelle, Angriffsbäume und Abhilfevorschläge zu generieren. Dies bietet eine Alternative zu OpenAIs GPT-Modellen und bietet den Benutzern mehr Flexibilität und Auswahl.
Refined Prompts: Da immer mehr Personen STRIDE GPT für die Arbeit nutzen, wurden die Vorlagen für Bedrohungsmodell-Eingabeaufforderungen aktualisiert, um die LLMs zu umfassenderen Ausgaben zu ermutigen. Benutzer sollten jetzt mehrere Bedrohungen in jeder STRIDE-Kategorie sehen.
Public Roadmap: Ein öffentlicher Fahrplan wurde erstellt, um einen Einblick in zukünftige Funktionen und Verbesserungen zu geben.
UI Enhancements: Kleinere Aktualisierungen der Benutzeroberfläche vorgenommen, um die neue Mistral API Integration zu berücksichtigen und das allgemeine Benutzererlebnis zu verbessern.
Highlights der Version:
Highlights der Version:
Highlights der Version:
Highlights der Version:
Erste Veröffentlichung der Anwendung.
| Flag | Beschreibung |
|---|
--version | Gibt die installierte Version aus (stride-gpt <version>) und beendet das Programm |
-o, --output | Speichert den Bericht in einer Datei |
-f, --format | Ausgabeformat: markdown (Standard), json, sarif, html |
-i, --input | Liest die App-Beschreibung aus einer Datei (nur quick) |
-y, --yes | Analyseplan automatisch genehmigen (nur analyze) |
--worker-model | Standard-Stufenmodell, das den Großteil der Aufrufe verarbeitet (z.B. anthropic/claude-sonnet-4-6). Verwendet gespeicherte Konfiguration, falls nicht angegeben. |
--architect-model | Stärkeres Modell für Planung/Synthese (z.B. openai/gpt-5.4). Verwendet gespeicherte Konfiguration, falls nicht angegeben. |
--no-architect | Überspringt die Architekturstufe für diesen Lauf; der Worker übernimmt alle Aufrufe. |
--app-type | Überschreibt den vom Planer erkannten App-Typ (nur analyze): auto (Standard), web, genai, agentic. |
--max-llm-calls | Begrenzt die gesamten LLM-Aufrufe über beide Stufen (nur analyze; 0 = unbegrenzt). |
--max-tool-calls | Begrenzt die gesamten Tool-Ausführungen (nur analyze; 0 = unbegrenzt). |
| Datei | Inhalt |
|---|
<stem>.plan.json | Der vom Architekten erstellte AnalysisPlan — Subsysteme, Schwerpunktbereiche, erkannter App-Typ (nur analyze). |
<stem>.findings.json | Liste der SubsystemFinding pro Subsystem, querschnittliche Bedrohungen und das systemweite Datenflussdiagramm (nur analyze). |
<stem>.run.json | Ein RunManifest — Modelle, Hash von Prompt + Konfiguration, Referenzen des tatsächlich geladenen Agents, Git-SHA, Version, Zeitmessung. Wird sowohl für analyze als auch für quick ausgegeben. |
| 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. |