mrwadams/attackgen
AttackGen is a cybersecurity incident response testing tool that leverages the power of large language models and the comprehensive MITRE ATT&CK framework. The tool generates tailored incident response scenarios based on user-selected threat actor groups and your organisation's details.
AttackGen – AI‑powered cyber‑incident‑response scenario generator
What it is – AttackGen 是一個使用 Streamlit 建構的 web‑app,用於建立真實的桌面演練式事件響應練習。它結合了 MITRE ATT&CK、MITRE ATLAS 以及新興的 AI Insider Threat 模型與大型語言模型(OpenAI、Anthropic、Google、Mistral、Groq,或透過 LiteLLM 使用任何與 OpenAI 相容的端點)。使用者可以選擇一個威脅行為者群組、一個 ATLAS 個案研究,或是一個 AI‑insider‑threat 範本,並加入組織細節(規模、產業),系統就會產生一個完整的場景、一份檢測與響應報告,以及一個 ATT&CK Navigator layer。
Core capabilities (as described in the README)
- Scenario generation – 為 MITRE ATT&CK Enterprise、ATT&CK ICS 與 ATLAS 威脅群組或個案研究量身打造的敘事內容。
- AI Insider‑Threat templates – 場景中,前沿 AI agent 會扮演內部威脅者,由 Actions Speak Louder Than Tokens 模型驅動(包含自主性層級、STRIDE 威脅等)。
- Two‑phase output – 首先交付基礎場景;可選的「purple‑team」敘事(防禦者視角)會作為第二次模型呼叫時串流傳輸。
- Detection & Response section – 本地數據關聯(不使用 LLM)將場景中的每個技術點進行映射到 MITRE 檢測策略、分析工具、日誌來源與緩解措施。
- Export options – Markdown 報告、ATT&CK Navigator layer (
.json),以及透過 tabletop skill 提供的精簡版 HTML 版本。 - Assistant chat – 整合的 LLM chat 讓使用者可以在不離開頁面的情況下,精煉製作成的場景或檢測敘事。
- Model‑agnostic backend – 所有 LLM 呼叫都透過 LiteLLM 進行,因此新增一個模型即可透過一行程式碼配置即可完成。
- Docker image – 隨即可用於部署的 Docker container。
- LangSmith integration – 可選的 LLM 呼叫追蹤/監控。
- Secure credential handling – API keys 儲存在
.env檔案中。
How to get it running (README‑based steps)
- Prerequisites – Python 3.14+、Docker (可選)、您打算使用的 LLM 提供商的 API keys。
- Clone & install
git clone https://github.com/mrwadams/attackgen.git cd attackgen pip install -r requirements.txt # installs Streamlit, LiteLLM, etc. - Configure – 建立一個包含所需 keys 的
.env檔案,例如:OPENAI_API_KEY=sk-… ANTHROPIC_API_KEY=… - Run locally
UI 會出現在您的瀏覽器中。streamlit run app.py - Docker alternative
docker build -t attackgen . docker run -p 8501:8501 --env-file .env attackgen - Optional LangSmith – 依照「LangSmith Setup」章節進行設定以加入
LANGCHAIN_API_KEY並啟用追蹤功能。 - MCP server – 對於 agentic clients,啟動 FastMCP server 如下:
這會暴露 denata‑tool 與 generate‑tool 端點,可以從其他 LangChain agents 進行呼叫。python -m mcp_server
Typical workflow (user perspective)
Setup sidebar – 選擇 LLM 提供商/模型、組織規模/產業,以及是否需要 purple‑team 敘事。
Select a source – 選擇一個 MITRE ATT&CK 威脅群組、一個 ATLAS case study,或是一個 AI‑insider‑threat 範本。
Generate – 點擊 Generate;UI 會顯示進度階段(輸入準備 → 基礎場景 → 匯出功能 $ ightarrow$ 可選的敘事內容)。進度條會隨著模型串流傳輸。
Review – 結果頁面會顯示 Markdown 場景、帶有導航快捷鍵的精簡摘要,以及檢測與響應應對措施的章節章節。
Refine – 開啟「AttackGen Assistant」chat 進行修改、要求額外細節,或調整防禦者敘事內容。
Export – 下載場景、ATT&CK Navigator layer,以及檢測報告,以便於桌面演練式練習。
Recent highlights (v0.16)
- Base‑scenario‑first generation – 使用者可以立即獲得可用的場景內容,隨後串流傳輸可選的防禦者敘事內容。
- Guided, resilient workflow – UI 會在所有必要輸入都齊全的狀況下才啟用 Generate 鈕,並顯示簡潔的預先執行摘要。
- Neutral selectors – 縮減至僅列出能實際產生場景的選項,威脅群組與 case study 下拉選單僅列出能實際產生場景的選項,防止使用者做無效的選擇。
- Security hardening – CI 現在會針對 pip‑audit、Bandit 與 Trivy 的檢測結果進行攔截;Docker base image 已升級至
python:3.14‑slim。
License & contribution
- 該專案是根據 MIT License 釋出的。
- 歡迎任何形式的貢獻;請參閱 Contributing 章節以了解指南。
Bottom line – AttackGen 是一個真實、且持續維護的開源源碼工具,利用現代 LLM API 來自動化建立豐富、符合 MITRE 架構的網路事件響應應對措施場景,包括新穎的 AI‑insider‑threat 演練。它正處於 AI‑augmented cybersecurity 領域的核心地位。
相關
- 專案
- 專案
- 專案
- 專案
- 專案