
OpenAIのGPTモデルを活用したAI駆動の脅威モデリングツールで、STRIDE手法に基づいて与えられたアプリケーションの脅威モデルを生成します。
STRIDE GPT は、STRIDE 手法に基づいて、与えられたアプリケーションの脅威モデルと攻撃ツリーを生成するために大規模言語モデル(LLM)を活用した、AI を搭載した脅威モデリングツールです。ユーザーは、アプリケーションの種類、認証方法、インターネットに公開されているかどうか、機密データを処理するかどうかなどのアプリケーションの詳細を提供します。モデルは提供された情報に基づいて出力を生成します。
STRIDE GPT が役立つと思われましたら、プロジェクトへのサポートをご検討ください:
mitre_attack プロパティとして表示されます。embed.diagrams.net から読み込まれます。セルフホスト型またはエアギャップ環境の場合は、STRIDE_GPT_DRAWIO_URL 環境変数を使用して独自の draw.io を指定します。/analyze も、その調査結果とともにシステムレベルの DFD を出力します。組織向けに STRIDE-GPT をカスタマイズしたいですか? 包括的な 運用ガイド をチェックして、以下の方法を学びましょう:
このガイドには、チーム全体で AI を活用した脅威モデリングをスケールさせたい組織向けのステップバイステップの手順、コード例、デプロイパターンが含まれています。
2024年1月、Open Security Summit で STRIDE GPT について講演しました。講演では、プロジェクトの始まり、核となる機能、最近のアップデート、将来の計画について説明しました。以下の完全なプレゼンテーションをご覧いただけます:
この動画は、STRIDE GPT の仕組みと、脅威モデリングの改善にどのように活用できるかを理解したい方にとって優れたリソースです。
--version フラグ (#161): stride-gpt --version がインストールされているバージョンを表示して終了するようになりました。また、対話型 TUI のバナーに実行中のバージョンが表示されるため、一目で現在のバージョンを確認できます。uv.lock がすべての依存関係の単一の信頼できる情報源になりました。重複した requirements.txt ファイルは廃止されました。Docker UI イメージとセキュリティスキャンワークフローは uv export を介して uv.lock からインストールするため、出荷されるものとスキャンされるものがロックされたものからずれることはなくなりました。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 エージェントも、統合後にシステムレベルの DFD を生成し、Markdown レポート内の Mermaid ブロックとしてレンダリング、JSON の data_flow_diagram フィールドに含められ、CDN から読み込まれた Mermaid ランタイムを介して HTML ビューに表示されます。DFD 生成はラップされており、不良な図が良いレポートを失敗させることはありません。/ と .git サフィックスを削除)されるため、.../repo/ や .../repo.git が誤って 404 になることはなくなりました。/analyze または /quick に -o <path> が渡されると、レポートの横に JSON の兄弟ファイルが書き込まれます。<stem>.plan.json(AnalysisPlan)、<stem>.findings.json(サブシステムの発見、横断的脅威、データフロー図)、<stem>.run.json(モデル、構成ハッシュ、バージョン、タイミング、実際に読み込まれたリファレンスカード、完了したか呼び出し上限で切り詰められたかを示す run_summary を記録した RunManifest)。マニフェストは API キーとエンドポイントを除外し、ファイルシステムパスをマスクするため、コミットやチケットへの添付が安全です。-f 形式フラグはレポート成果物のみを制御します。兄弟ファイルは常に JSON です。MITRE_ATTACK を標準のリスト形状ではなくカンマ区切りの文字列(例: "T1190, T1059, AML.T0053")で返した場合でも、テクニック ID がドロップされる代わりに復元されるようになりました。以前は Markdown/HTML レポートに「MITRE ATT&CK」列が表示されていてもすべてのセルが空白になり、SARIF エクスポートでは ID が完全に失われていました。すべてのレンダラー(Markdown、HTML ピル、SARIF)と列表示チェックは、単一の正規化関数を経由するようになりました。また、テクニック ID ではない自由形式の文章はフィルタリングされるため、列に誤検出が含まれることはありません。The api_key client option must be set で失敗する問題を修正しました。LM Studio は LiteLLM の openai/ プレフィックスを経由し、OpenAI SDK は api_base が localhost を指していても、キーなしではクライアントを構築しようとしないため、CLI は認証を必要としないプロバイダーに対してプレースホルダーを渡すようになりました。関連して、ワーカーティアの最終手段の環境スキャンはこれらのプロバイダーには適用されなくなりました。以前は設定された ANTHROPIC_API_KEY や OPENAI_API_KEY が api_base が指定するホストに送信されていました。これによりこのバグが隠蔽され、実際のキーがネットワークに送信されていました。LM Studio を使用していてそのようなキーを設定している場合、エンドポイントに送信されなくなります。/analyze および /quick によって出力される脅威が、MITRE ATT&CK Enterprise (v17.1) および MITRE ATLAS (2026.05) の標準化された敵対的テクニック ID を持つことができるようになりました。2 つの新しい段階的開示リファレンスカード(mitre_enterprise、mitre_atlas)が、エージェントにカタログ化された ID と名前のみを使用するよう指示し、ID の幻覚を排除します。カードはモデルの記憶からではなく、scripts/refresh_mitre_cards.py を介して上流の STIX/YAML から再生成されます。テクニックは、Markdown テーブルの MITRE ATT&CK 列、HTML のクリック可能な空色のピル、SARIF の properties.mitre_attack 配列としてレンダリングされます。/analyze および /quick は、Markdown / JSON / SARIF 出力に加えて、関係者と共有するのに適した自己完結型のブラウザ表示可能な HTML レポートを出力するようになりました。claude-opus-4-8 のサポートを追加しました。アーキテクトモデルまたはワーカーモデルとして選択できます。mrwadams/stridegpt-ui)は廃止されました。Streamlit ウェブ UI は mrwadams/stridegpt のみに配置されます。CLI ユーザーはコンテナを pull する代わりに pip install stride-gpt を使用してください。mistralai パッケージを削除しました(Mistral アクセスは既に LiteLLM を経由)。UI イメージのベースとして python:3.12-slim を更新し、curl を削除。PR #113–#115 にわたって 21 件の medium/high CVE アラートをクリアしました。except、デッドコード)をクリアしました (#116)。pip install stride-gpt CLI として STRIDE-GPT の初回リリース。2 つの主要コマンド: /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 に上げ、botocore がない新規インストールで Bedrock/SageMaker のプリロード警告が表示されないようにしました。エージェンティック AI アプリケーションサポート: OWASP Top 10 for Agentic Applications (ASI01-ASI10) との統合によるエージェンティック AI システムの脅威モデリングの包括的なサポートを追加しました。「エージェンティック AI アプリケーション」を選択してシステムを説明するだけで、LLM がアーキテクチャパターンを自動検出し、関連する脅威カテゴリを適用します。各 ASI リスクは、一貫した脅威分析のために適切な STRIDE カテゴリにマッピングされます。
生成 AI アプリケーションサポート: OWASP LLM Top 10 (LLM01-LLM10) との統合による GenAI アプリケーションの脅威モデリングのサポートを追加しました。「生成 AI アプリケーション」を選択してシステムを説明すると、LLM 固有の脅威分析を受けることができます。エージェンティック AI アプリケーションには、包括的なカバレッジのために LLM と ASI の両方のリスクカテゴリが含まれます。
MAESTRO に着想を得たアーキテクチャパターン検出: Cloud Security Alliance MAESTRO フレームワーク に着想を得て、アプリケーションの説明からアーキテクチャパターンを自動検出するエージェンティック脅威分析を強化しました。LLM は以下のパターン固有の脅威を特定し適用します:
クロスレイヤー脅威分析: 脅威モデルにコンポーネント間の攻撃チェーンが含まれるようになりました。これは、あるアーキテクチャ層での侵害が他の層での攻撃を可能にする方法を示します(例: RAG ポイズニング → エージェント目標ハイジャック → ツール悪用 → データ流出)。
改善提案の強化: エージェンティックアプリケーションの場合、改善提案でエージェントフレームワーク、エージェント間通信プロトコル、サンドボックスメカニズム、サーキットブレーカー実装などの具体的なアーキテクチャの詳細を促すようになりました。
OpenAI モデルの更新: 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 モデルで拡張思考機能を有効にする「Extended Thinking を有効にする」チェックボックスを追加しました。最大トークン数を 32k(標準)および 48k(思考モード)に増やしました。
Google Gemini 3 プレビュー: Gemini 2.5 モデルに加えて、Gemini 3 プレビューモデル (gemini-3-pro-preview, gemini-3-flash-preview) を追加しました。Gemini 3 モデルに拡張思考モードのサポートを追加しました。
Mistral モデルの更新: Mistral Large 3、Medium 3.1、Small 3.2、Ministral 3 (8B/14B)、Magistral 1.2 (Medium/Small) を含む、最新のバージョン管理された Mistral モデルに更新しました。
新しいプロジェクトロゴ: よりクリーンでミニマルなシールド + ニューラルネットワークデザインでブランディングをリフレッシュしました。
バグ修正: ダウンロードボタンをクリックした後に脅威モデルの出力が消える問題を修正しました。
max_tokensの代わりにmax_completion_tokensを使用するようにパラメータ処理を更新し、OpenAIの最新API要件との互換性を確保しました。リリースハイライト:
このリリースでは以下のモデルのサポートを追加しました:
リリースハイライト:
リリースハイライト:
リリースハイライト:
リリースハイライト:
リリースハイライト:
リリースハイライト:
リリースハイライト:
アプリケーションの初回リリース。
pip install stride-gpt
これにより、`stride-gpt` コマンドがインストールされます。CLI と Streamlit Web UI は現在別々の製品となっています — `pip install stride-gpt` では Streamlit を含まない軽量な CLI がインストールされます。ソースから Web 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
.envを編集してAPIキーを追加するか、後でstride-gptを実行してインタラクティブREPLで/configコマンドを使用するか、Streamlit UIを介して設定します。
StreamlitのWeb UIはDockerイメージとして提供されています:```bash docker pull mrwadams/stridegpt:latest
For the CLI, use `pip install stride-gpt` — there's no separate CLI image. If you need a sandboxed CLI, roll your own from a minimal Python base image.
## リポジトリのレイアウト
STRIDE-GPTは小さなmonorepoとして構成されています: 1つの共有Pythonライブラリと、それを利用する1つ以上のアプリケーションです。```
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
> すべての分析は、自動的にJSONとHTMLのコンパニオンを`~/.stride-gpt/reports/analyze/`に保存します。そのため、`-o`なしで実行しても、ブラウザで表示可能なビューが常にワンクリックで利用できます。
> **コストに関する注意:** エージェントによる分析は徹底的です。エージェントは調査中に多くのLLM呼び出しを行い、多くのファイルを読み取ります。トークンの使用量とコストは、コードベースのサイズと選択したモデルに応じて拡大し、大規模なリポジトリで最先端のモデルをフル実行すると高額になる可能性があります。実行前にプロバイダのダッシュボードで支出制限を設定し、最初のパスではより高速/安価なモデルを検討してください。
**クイックシングルショットモード** — テキスト説明から脅威モデルを生成します(Streamlit 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
Interactive REPL — タブ補完と履歴を備えたインタラクティブセッションを起動します:```bash stride-gpt
REPL内で`/help`と入力すると、利用可能なコマンドとフラグが表示されます。バージョンは起動時にASCIIバナーの下に表示されます。完全なコマンドとショートカットのリファレンスについては、以下の[インタラクティブREPLチートシート](#interactive-repl-cheat-sheet)を参照してください。
#### インタラクティブREPLチートシート
`stride-gpt`(引数なし)でREPLを起動し、以下のコマンドとショートカットを使用します。
**コマンド** — プロンプトでスラッシュコマンドを入力します:
| コマンド | 機能 |
|---------|------|
| `/analyze [path]` | コードベースをSTRIDE脅威に対して分析します(ディレクトリパスだけでも可) |
| `/quick` | テキスト説明からクイック脅威モデルを作成 |
| `/reports` | 過去の分析レポートを一覧表示(`/reports <n>`で1件表示) |
| `/config` | 設定(モデル、プロバイダ、APIキー)の表示または変更 |
| `/help` | 利用可能なコマンド、フラグ、例を表示 |
| `/quit` | 終了(エイリアス: `/exit`, `/q`) |
`/analyze`、`/quick`、`/reports`はフラグを受け付けます:`-o`/`--output <path>`、`-f`/`--format <markdown\|json\|sarif\|html>`、`-y`/`--yes`、そして`/quick`の場合は`-i`/`--input <path>`。完全なリストは`/help`と入力してください。
**キーボードショートカット:**
| キー | 動作 |
|-----|------|
| `Tab` | スラッシュコマンドとファイルパスを補完 |
| `↑` / `↓` | コマンド履歴をスクロール |
| `→` / `End` | グレー表示された履歴候補を受け入れる |
| `Ctrl+L` | 画面とスクロールバックをクリア |
| `Ctrl+C` / `Ctrl+D` | REPLを終了 |
**インストールされているバージョンの確認:**```bash
stride-gpt --version # prints e.g. "stride-gpt 0.19.0" and exits
共通フラグ:
| フラグ | 説明 |
|---|---|
--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 = 無制限)。 |
各階層は --worker-api-key / --worker-api-base / --worker-max-tokens(および --architect-* に相当するもの)も受け付けます。完全なリストについては stride-gpt analyze --help または stride-gpt quick --help を実行してください。
構造化中間ファイル — -o <path> が使用されると、3つのJSONファイルがレポートと一緒に書き込まれ、実行を監査したりダウンストリームツールで利用したりできます:
| ファイル | 内容 |
|---|---|
<stem>.plan.json | アーキテクトが作成した AnalysisPlan — サブシステム、重点領域、検出されたアプリタイプ(analyzeのみ)。 |
<stem>.findings.json | サブシステムごとの SubsystemFinding リスト、横断的な脅威、システムレベルのデータフロー図(analyzeのみ)。 |
<stem>.run.json | RunManifest — モデル、プロンプト+設定ハッシュ、エージェントが実際にロードした参照、git SHA、バージョン、タイミング。analyze と quick の両方で出力されます。 |
書式フラグ (-f) はレポート成果物のみを制御します。関連ファイルは常にJSONです。マニフェストと所見のファイルパスは編集されます(作業ディレクトリ以下の場合は ./…、$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
Web 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、および自己完結型HTMLビューは `-f` で利用可能)。このマークダウンは脅威をサブシステムごとに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. | 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) |
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. | 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. |
| 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` は、記述から同じテーブル形状を生成しますが、サブシステムごとの結果ではなく、単一の **Application** サブシステムにまとめられます。
## セキュリティのベストプラクティス
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/master/SECURITY.md) ドキュメントを確認する
- データレジデンシとコンプライアンス要件を考慮する
- 生成された脅威モデルに対して適切なアクセス制御を実装する
### 依存関係のセキュリティ
依存関係を管理し、脆弱性を監視しています:
- Dependabot によって依存関係が定期的に更新されます
- すべてのコミットで自動セキュリティスキャンが実行されます
- セキュリティアドバイザリは GitHub の Security タブで追跡されます
- ローカルで既知の脆弱性を確認するには `pip-audit` を実行してください
自動セキュリティスキャン、脆弱性報告、セキュアな開発プラクティスを含む包括的なセキュリティ情報については、[SECURITY.md](https://github.com/mrwadams/stride-gpt/blob/master/SECURITY.md) を参照してください。
### セキュリティ問題の報告
セキュリティ問題を発見しましたか?責任を持って報告してください:
- GitHub の [プライベート脆弱性報告](https://github.com/mrwadams/stride-gpt/security/advisories/new) からセキュリティアドバイザリを作成する
- セキュリティ問題を公開しないでください
- 48時間以内に確認します
- 修正は優先的に行われ、迅速にリリースされます
## コントリビューション
プルリクエストは歓迎します。大きな変更の場合は、まず issue を開いて変更内容を議論してください。
## ライセンス
[MIT](https://choosealicense.com/licenses/mit/)