
New releaseAug 7, 2026
attackgen v0.15.0
AttackGenは、大規模言語モデルの能力と包括的なMITRE ATT&CKフレームワークを活用する、サイバーセキュリティのインシデント対応テストツールです。このツールは、ユーザーが選択した脅威アクターグループと組織の詳細に基づいて、カスタマイズされたインシデント対応シナリオを生成します。
AttackGen
AttackGenは、大規模言語モデルの力と、包括的なMITRE ATT&CKおよびATLASフレームワークを活用したサイバーセキュリティインシデント対応テストツールです。このツールは、ユーザーが選択した脅威アクターグループ、AI攻撃ケーススタディ、および組織の詳細に基づいて、カスタマイズされたインシデント対応シナリオを生成します。
目次
- リポジトリにスターを付ける
- 機能
- リリース
- 要件
- インストール
- LangSmithのセットアップ
- データのセットアップ
- AttackGenの実行
- MCPサーバー
- エージェントスキル
- 使用方法
- セキュリティのベストプラクティス
- コントリビューション
- ライセンス
リポジトリにスターを付ける
AttackGenが役に立つと思われた場合は、GitHubでリポジトリにスターを付けることをご検討ください。より多くの人にこのツールを知ってもらう助けになります。ご支援に感謝いたします! ⭐
機能
- 選択した脅威アクターグループまたはATLASケーススタディに基づいて、独自のインシデント対応シナリオを生成します。
- 組織の規模と業界を指定して、カスタマイズされたシナリオを作成できます。
- MITRE ATT&CK Enterprise、ICS(産業制御システム)、およびATLAS(AIシステムのための敵対的脅威ランドスケープ)フレームワークをサポートします。
- 選択した脅威アクターグループまたはケーススタディで使用されるテクニックの詳細なリストを表示します。
- ATT&CKまたはATLASテクニックの選択に基づいてカスタムシナリオを作成します。
- シナリオテンプレートを使用して、AI/ML固有の攻撃パターンを含む一般的なサイバーインシデントの種類に基づいて、カスタムシナリオを迅速に生成します。
- AIインサイダー脅威シナリオを生成 - 組織内に展開されたフロンティアAIエージェントがインサイダー脅威として振る舞うインシデント対応演習で、Actions Speak Louder Than Tokens: An Insider Threat Model for Frontier AI Agentsの脅威モデルに基づいています。シナリオは、エージェントの展開アーキタイプ(自律性レベル)、脅威カテゴリ、STRIDE脅威、およびオプションの自由記述シナリオシードによって形作られます。
- AttackGen Assistant - 生成されたシナリオを更新したり、質問したりするためのチャットインターフェースで、シナリオの元のページに直接戻るルートを備えています。
- ガイド付きセットアップ:すべてのページに同じSetupサイドバーが表示され、未完了の要件がすべて1つの準備状況サマリーに一覧表示され、ワークフローの準備が整うまでGenerateが無効のままになります。
- 結果はセッション中保持されます:各シナリオページは、再実行やナビゲーションを通じて、自身の最新結果、キャプチャされた入力、およびダウンロードを保持し、明示的なRegenerateまたはClear resultのみがそれを置き換えたり削除したりします。
- 長いシナリオには、コンパクトなサマリーとセクションナビゲーションが付属し、ファシリテーターが演習を実行する際に使用するインジェクト、成功基準、メトリクス、成果物、および交戦規則へのショートカットが含まれます。
- 生成されたシナリオの品質に関するユーザーフィードバックを収集します。
- Markdown形式でダウンロード可能なシナリオ。
- OpenAI API、Anthropic API(Claudeモデル)、Google AI API、Mistral API、Groq API、または任意のカスタムOpenAI互換エンドポイント(Ollama、LM Studio、Azure OpenAI、OpenRouterなど)を使用して、インシデント対応シナリオを生成します。すべてのプロバイダーは単一の内部ラッパーの背後でLiteLLMを介してルーティングされるため、新しいモデルの追加は1行の変更で済みます。
- 簡単にデプロイできるDockerコンテナイメージとして利用可能です。
- モデルパフォーマンスの強力なデバッグ、テスト、監視のためのLangSmithとのオプションの統合。
- APIキーとシークレットに.envファイルを使用した安全な認証情報管理。

リリース
v0.17
| 新機能 | なぜ役立つのか? |
|---|---|
| ダウンロードへのアシスタント改良の適用 | - 変更がファイルに反映される:アシスタントのチャットは以前、会話を改良するだけだったため、シナリオとDetection & Responseのダウンロードは決して変更されませんでした。新しいApply changes to downloadsボタンは、完全な改訂版ドキュメントを返す専用のモデル呼び出しで、会話からそれらを書き換えます。Scenario + Detection & Responseモードでは、両方を改訂し、それぞれに相手側の現在のテキストを与えることで整合性を保ちます。 - 参照セクションは正確なまま:Detection & Responseの適用はナラティブのみを書き換えます。ATT&CKデータから引き出された決定論的な検出および緩和の参照は、バイト単位でそのまま引き継がれます。Navigatorレイヤーは再生成されず、元のシナリオのテクニックを反映しているものとしてキャプションが付けられます。 - 試すのは安全:モデルからの空の返信は、変更を加えずに拒否されます。シナリオページとアシスタントの両方が、改良された結果に最後の適用時刻をキャプションとして付け、Revert to originalはシナリオとナラティブを一緒に復元します。 - 編集する場所でダウンロード:アシスタントは、シナリオページと同じDownload ScenarioおよびDownload Detection & Responseボタンを提供するようになりました。 - シナリオごとに1つの会話:各チャットは、それが扱うシナリオに属するため、新しく生成されたシナリオは新しい会話を開始し、適用後も履歴全体が表示されたままになります。 |
| ガイド付きで回復力のあるシナリオワークフロー | - クリック前の準備状況:すべてのページに、まだ不足しているもの(まずページ自身の選択、次に未完了のSetupフィールド)が一覧表示され、何も未完了でなくなるまでGenerateが無効のままになるため、クリックが検証エラーの発見に費やされることはありません。 - アクション前のオプション:AI強化敵対者とパープルチームのトグルはGenerateの上に配置され、パープルチームオプションは2回目のモデル呼び出しを行うことを明記しています。 - 消費する前に確認:フレームワーク、組織プロファイル、選択、および修飾子の1行サマリーが、生成開始前に表示されます。 - ナビゲーションを生き残る結果:各ページは、セッション中、自身の最新結果、それを生成した入力、およびそのダウンロード名を保持します。アシスタントを開いて戻ってきても、シナリオ、そのNavigatorレイヤー、およびそのDetection & Responseレポートはまだそこにあります。フォームを編集すると、結果はそのまま残り、選択が変更されたことを示す注記が付きます。RegenerateとClear resultは明示的なアクションです。 - 長いシナリオの見つけ方:コンパクトなサマリーとセクションインデックスが完全なMarkdownの上に配置され、インジェクト、ディスカッションの質問、成功基準、メトリクス、成果物、および交戦規則へのショートカットが含まれます。 - 役立つ空の状態:シナリオがない場合、アシスタントはシナリオを作成する3つの方法すべてにリンクします。シナリオがある場合、それが議論しているシナリオを名指しし、それを生成したページにリンクで戻ります。 |
| 失敗または遅いナラティブからの回復 | - 機能したものを保持:オプションのパープルチームナラティブが失敗または停止された場合、ベースシナリオ、そのダウンロード、Navigatorレイヤー、および決定論的なDetection & Response参照は完全に使用可能なままで、何が失敗したかを示すメッセージが表示されます。 - 失敗したものだけを再試行:Retry purple-team narrativeはナラティブのみを再実行し、2回目のベースシナリオ呼び出しを行わず、それをDetection & Responseビューとダウンロードにマージします。失敗したベースシナリオは、Generate時にキャプチャされた入力を使用して独自の再試行を提供します。 - 動き続けるタイマー:経過時間は、モデルの最初のトークンを待っている間も進むようになったため、長い待機がハングのように見えることはもうありません。 |
| テクニックが読み込まれない場合のより明確な失敗 | - 失敗は失敗として報告される:テクニック検索が失敗した脅威グループは、テクニックを持たないグループとして表示されなくなり、Custom Scenariosは、リストの読み込みに失敗したときにテクニックピッカーを非表示にしてテクニックを選択するよう求めることがなくなりました。 - 行き止まりではなく次のステップ:両方のブロッカーは、失敗に対して何ができるかを示すようになりました。 |
| アクセシビリティとより簡潔なコピー | - キーボードとスクリーンリーダーに対応:アイコンのみのコントロールには意味のあるアクセシブルな名前が付けられ、フォームラベルは一意になり、キーボードの順序とフォーカスは可視化され論理的になりました。レイアウトはスマートフォン幅で水平方向にはみ出さなくなり、空のテーマカラーのコンソール警告はなくなりました。 - CIでチェック:コンソールの衛生状態とアクセシビリティのための実際のブラウザスモークテストが、すべてのプルリクエストで実行され、リリースイメージをゲートするようになりました。 - 読む量を削減:シナリオページは、事前チェックサマリーを2番目のエクスパンダーで繰り返したり、自身の状態管理を説明したりしなくなりました。 |
| モデルレジストリの更新 | - 最新モデル:モデルリストは各プロバイダーの現在のドキュメントに照らして更新されました — 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を獲得し、いずれの場合も継続性のために1つ前の世代が保持されています。Anthropicのリストは、より高価なFable 5.1ではなく、Claude Opus 5.5(未選択時のサイドバーのデフォルト)を先頭にするようになりました。 - 廃止されたエントリの削除:プロバイダーが置き換えたかシャットダウンしたIDを削除しました — Claude Opus 4.7と4.8(Opus 5.5が登場するとOpus世代が2つ以上前になる)およびGroqの llama-3.3-70b-versatileとllama-3.1-8b-instant(両方とも2026年8月16日にシャットダウン)— これにより、サイドバーがGenerateを押したときにのみエラーになるモデルを提供することができなくなりました。Groqのオープンウェイト推論層は現在qwen/qwen3.8-27bです。- 温度ルールを正直に維持: supports_temperatureは、各Anthropicモデルの実際のサンプリング動作から設定されます — 4.7以降のすべてのClaudeはカスタム温度を拒否し、Haiku 4.5はそれを受け入れる唯一のリストされたモデルのままです。これを保護するテストは、新しいAnthropicエントリがフラグを省略した場合に失敗するようになり、誰かが手動で設定した場合だけでなくなりました。 |
| プラットフォームとセキュリティのハウスキーピング | - Python 3.11が最小:Python 3.10はサポートされなくなりました。LiteLLM 1.98.0以降は、3.11以降にのみ存在するtyping機能をインポートします。 - パッチ適用済みベースイメージ:Dockerイメージは現在の python:3.14-slimで再ビルドされ、Trivyによってフラグが立てられたDebianベースイメージのCVE(perl-baseの3つの重大なものを含む)がクリアされました。- 失敗した呼び出しからの実際のエラー: tenacityが宣言されたため、失敗したモデル呼び出しは、tenacityをインストールするよう指示する代わりに、プロバイダーの実際のエラー(たとえば無効なAPIキー)を報告します。- フィードバックはシナリオと共に:評価は、画面上のシナリオを生成した実行に対して記録され、別のページの最新実行に対して記録されることはありません。 |
以前のリリース(v0.16以前)
v0.16
| 新機能 | なぜ役立つのか? |
|---|---|
| ベースシナリオ優先の生成 | - 待つ前のシナリオ:生成はフェーズで実行されるようになりました — ベースシナリオが最初にレンダリングされ、そのDownload ScenarioおよびDownload ATT&CK Navigator Layerボタンがすでに有効になっており、オプションのパープルチームナラティブがその後ストリーミングされます。その2回目のパスが遅い場合、または必要ない場合、シナリオはすべてが終了するまで保留されるのではなく、すぐに使用できます。 - Generate時に凍結された入力:各実行はGenerateを押した瞬間に取得されたスナップショットから動作するため、実行中にサイドバーを変更しても、生成中のシナリオが中途半端に書き換えられることはありません。 - 正直な進捗:実行中の経過時間ラベルと名前付きフェーズ — 入力の準備、ベースシナリオの生成、決定論的エクスポートの構築、パープルチームナラティブの生成 — が、長い実行が実際にどこまで進んだかを示します。 |
| 中立で行き止まりのないセレクター | - 機能するオプションのみ:脅威グループとケーススタディのセレクターは、実際にシナリオを生成する選択肢のみを提供するようになったため、選択が行き止まりにつながることはもうありません。 - 自然な順序:グループは自然な数値順にソートされるため、APT3はAPT28とAPT30の前に来て、テキストとしてソートされてそれらの間に位置することはありません。 |
| すべてのページで共有されるSetupサイドバー | - 一度だけセットアップ:プロバイダー、モデル、フレームワーク、業界、および会社規模は、各ページで再入力するのではなく、すべてのシナリオページ — Threat Group、Custom、AI Insider Threat — の単一の共有Setupサイドバーに配置されるようになりました。 - ナビゲーションを生き残る:非シークレットの選択は、ページ間を移動しても保持され、URLにミラーリングされますが、APIキーは意図的にクエリ文字列から除外されます。 |
| プラットフォームとセキュリティのハウスキーピング | - 2.x SDK上のMCP:MCPサーバーはmcp 2.x SDKに移行しました。- より新しいベースイメージ:Dockerイメージは python:3.14-slimでビルドされるようになりました。- CIは警告ではなくゲートする:セキュリティスキャンは、検出結果を報告するだけでなく、ビルドを失敗させるようになりました — pip-auditとBanditがゲートし、Trivyはpipのベンダー化されたSBOMをインストール済みパッケージとして誤ってカウントしなくなり、対処可能なイメージCVEがクリアされました。GitHub ActionsはNode 20ランタイムから移行し、Dependabotはワークフローアクション自体を追跡するようになりました。 |