
New releaseAug 22, 2026
attackgen v0.16.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によってのみ置き換えまたは削除されます。
- 長いシナリオには、コンパクトなサマリーとセクションナビゲーションが付属し、ファシリテーターが演習を実施する際に使用するインジェクト、成功基準、メトリクス、成果物、エンゲージメントルールへのショートカットを含みます。
- 生成されたシナリオの品質に関するユーザーフィードバックを収集します。
- 検出と対応のコンパニオン:シナリオのテクニックについて、AttackGenは一致するATT&CK検出戦略、分析、ログソース、緩和策を一覧表示し、別の
_detection.mdファイルとしてダウンロードできます。 - 脅威グループおよびカスタムシナリオ用のATT&CK Navigatorレイヤーのダウンロードにより、シナリオのテクニックをATT&CK Navigatorで表示できます。
- 脅威グループページとカスタムページのオプショントグル:AI-enhanced adversaryは同じキルチェーンをAI加速型として再構成し、Purple-team narrativeは提供された検出と緩和策から構築されたステージごとの防御側のウォークスルーを追加します。
- Markdown形式でダウンロード可能なシナリオに加え、検出レポートとNavigatorレイヤー。
- キルチェーン、検出レポート、Navigatorレイヤー、シナリオ生成をエージェントクライアントに公開するMCPサーバー(
attackgen-mcp)に加え、その出力をファシリテーター対応のテーブルトップ演習に変換するattackgen-tabletopAgent Skill。 - 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 はナラティブのみを再実行し、ベースシナリオの呼び出しを再度行うことなく、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 です。- Temperature ルールの正確性維持: supports_temperature は各 Anthropic モデルの実際のサンプリング動作に基づいて設定されています — 4.7 以降のすべての Claude はカスタム temperature を拒否し、Haiku 4.5 が唯一、カスタム temperature を受け入れる掲載モデルとして残ります。これを保護するテストは、新しい 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 キー) を報告します。- フィードバックはシナリオとともに: 評価は、画面に表示されているシナリオを生成した実行に対して記録され、別のページの最新実行に対して記録されることはありません。 |