Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
attackgen — AttackGen 是一款网络安全事件响应测试工具,利用大语言模型的强大能力以及全面的 MITRE ATT&CK 框架。该工具根据用户选择的威胁行为者团体和贵组织的详细信息,生成量身定制的事件响应场景。 | Kitploit
工具/GitHubGitHub/mrwadams/attackgen
CTF渗透测试威胁情报学习与教育红队事件响应AI 安全实验室与实践
GitHubmrwadams/attackgen

attackgen

AttackGen 是一款网络安全事件响应测试工具,利用大语言模型的强大能力以及全面的 MITRE ATT&CK 框架。该工具根据用户选择的威胁行为者团体和贵组织的详细信息,生成量身定制的事件响应场景。

查看仓库
1.2k167101天前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

AttackGen

AttackGen 是一款网络安全事件响应测试工具,它利用大语言模型的能力以及全面的 MITRE ATT&CK 和 ATLAS 框架。该工具根据用户选择的威胁行为者组织、AI 攻击案例研究以及您组织的详细信息,生成量身定制的事件响应场景。

目录

  • 为仓库加星
  • 功能特性
  • 版本发布
  • 环境要求
  • 安装
  • LangSmith 设置
  • 数据设置
  • 运行 AttackGen
  • MCP 服务器
  • Agent 技能
  • 使用方法
  • 安全最佳实践
  • 贡献指南
  • 许可证

为仓库加星

如果您觉得 AttackGen 有用,请考虑在 GitHub 上为仓库加星。这有助于更多人发现该工具。非常感谢您的支持!⭐

功能特性

  • 根据选定的威胁行为者组织或 ATLAS 案例研究生成独特的事件响应场景。
  • 允许您指定组织的规模和行业,以获得量身定制的场景。
  • 支持 MITRE ATT&CK Enterprise、ICS(工业控制系统)和 ATLAS(AI 系统对抗性威胁全景)框架。
  • 显示所选威胁行为者组织或案例研究所使用的详细技术列表。
  • 基于选定的 ATT&CK 或 ATLAS 技术创建自定义场景。
  • 使用场景模板快速生成基于常见网络事件类型(包括 AI/ML 特定攻击模式)的自定义场景。
  • 生成 AI 内部威胁场景 —— 一种事件响应演练,其中部署在您组织内部的尖端 AI Agent 表现为内部威胁,基于 Actions Speak Louder Than Tokens: An Insider Threat Model for Frontier AI Agents 中的威胁模型。场景由 Agent 的部署原型(自主级别)、威胁类别、STRIDE 威胁以及可选的自由文本场景种子决定。
  • AttackGen Assistant —— 用于更新和/或询问已生成场景问题的聊天界面。
  • 捕获用户对生成场景质量的反馈。
  • 可下载的 Markdown 格式场景。
  • 使用 OpenAI API、Anthropic API(Claude 模型)、Google AI API、Mistral API、Groq API 或任何自定义的 OpenAI 兼容端点(Ollama、LM Studio、Azure OpenAI、OpenRouter 等)来生成事件响应场景。所有提供商均通过 LiteLLM 路由到单个内部包装器之后,因此添加新模型只需一行更改。
  • 可作为 Docker 容器镜像使用,便于部署。
  • 可选集成 LangSmith,用于强大的模型性能调试、测试和监控。
  • 使用 .env 文件对 API 密钥和机密进行安全的凭据管理。

AttackGen 截图

版本发布

v0.16

早期版本(v0.15 及更早)

v0.15

要求

  • 较新版本的 Python。
  • Python 包:streamlit、litellm、mitreattack-python、pandas(完整列表请参阅 requirements.txt)。
  • OpenAI API 密钥(或您所选模型提供商的 API 密钥)。
  • LangChain API 密钥(可选)——更多详情请参阅下面的 LangSmith 设置 部分。
  • MITRE ATT&CK 和 ATLAS 数据文件。这些文件随仓库提供(位于 ./data/ 中),因此无需手动下载(请参阅 数据设置)。
  • 用于存储 API 密钥和机密的 .env 文件(详情请参阅 安装 部分)。

安装

选项 1:克隆仓库

  1. 克隆此仓库:``` git clone https://github.com/mrwadams/attackgen.git
root@kitploit:~
2. 切换到克隆的仓库目录:```
cd attackgen
  1. 安装所需的 Python 包:``` pip install -r requirements.txt
root@kitploit:~
### 选项 2:使用 Docker

1. 从 Docker Hub 拉取 Docker 容器镜像:```
docker pull mrwadams/attackgen

LangSmith 设置

如果你想使用 LangSmith 来调试、测试和监控模型性能,你需要注册一个 LangSmith 账户,并创建一个包含你的 LangChain API 密钥的 .streamlit/secrets.toml 文件。请按照此处的说明来设置你的账户并获取 API 密钥。你可以在 .streamlit/ 目录下找到一个 secrets.toml-example 文件,可将其作为模板来创建你自己的 secrets.toml 文件。

如果你不希望使用 LangSmith,你仍然需要有一个 .streamlit/secrets.toml 文件,但可以将 LANGCHAIN_API_KEY 字段留空。

数据设置

AttackGen 所需的 MITRE ATT&CK(企业版 + ICS)和 ATLAS 数据集已提交到仓库的 ./data/ 目录下,因此全新克隆即可直接运行,无需额外的下载步骤。这些文件包括 enterprise-attack.json、ics-attack.json、stix-atlas.json、groups.json、groups_ics.json 和 atlas-case-studies.json。

如果你想将它们刷新到最新的上游版本,可以从 MITRE ATT&CK STIX 数据仓库(以及 ATLAS 数据仓库)重新下载 STIX 包,并替换 ./data/ 中的文件。

运行 AttackGen

完成数据设置后,你可以使用以下命令运行 AttackGen:``` streamlit run 00_👋_Welcome.py

root@kitploit:~
你也可以在 [Streamlit Community Cloud](https://attackgen.streamlit.app/) 上试用该应用。

## MCP 服务器

AttackGen 附带一个 [MCP](https://modelcontextprotocol.io/) 服务器,因此代理工作流(Claude Code、Claude Desktop、Cursor 以及其他 MCP 客户端)无需 Streamlit UI 即可驱动场景生成。它提供**两层工具**:

- **数据工具——无需 API 密钥,无需 LLM 调用。** 这些工具展示 AttackGen 的 MITRE 数据:列出威胁组织 / ATLAS 案例研究、解析组织的杀伤链、构建紫队检测与响应报告、生成 ATT&CK Navigator 图层,并列出 AI 内部威胁选项。`list_ai_insider_options` 返回每个快速启动模板及其适用的选择和叙述简报,因此只需使用 `template=` 加上你的行业和公司规模即可调用 `get_ai_insider_prompt` / `generate_ai_insider_scenario`。在有用之处,它们还会返回一个可直接运行的提示词,因此**你客户端的自有模型**可以编写场景——这意味着即使你没有单独的服务商 API 密钥,这些工具也能正常工作。这是适合通过 HTTP 托管的安全表面。
- **生成工具——自带密钥。** `generate_threat_group_scenario`、`generate_custom_scenario` 和 `generate_ai_insider_scenario` 在服务端调用 LLM,并返回一份完整的 Markdown 场景。服务商、模型和密钥在每次调用时提供;如果你省略 `api_key`,LiteLLM 会回退到匹配的环境变量(`OPENAI_API_KEY`、`ANTHROPIC_API_KEY` 等)——即**你自己的**密钥。由于这些工具会从进程环境中读取凭据,请将其保留在**本地 stdio** 上,不要暴露在共享主机上。

### 安装与运行

`mcp` 依赖已包含在 `requirements.txt` 中。安装该项目(可编辑安装还会为你提供 `attackgen-mcp` 控制台脚本):```
pip install -r requirements.txt
# optional, for the console script:
pip install -e .

启动服务器(stdio):``` python -m mcp_server # or: attackgen-mcp

root@kitploit:~
### 将其添加到客户端

**Claude Code:**```
claude mcp add attackgen -- python -m mcp_server

Claude Desktop(claude_desktop_config.json)——密钥放在 env 中:```json { "mcpServers": { "attackgen": { "command": "python", "args": ["-m", "mcp_server"], "cwd": "/absolute/path/to/attackgen", "env": { "OPENAI_API_KEY": "sk-...", "ANTHROPIC_API_KEY": "sk-ant-..." } } } }

root@kitploit:~
你可以在 `env` 中设置 `ATTACKGEN_PROVIDER` 和 `ATTACKGEN_MODEL`,为生成工具提供默认的提供商/模型,这样调用方就不必每次都传入它们。重量级的 MITRE 数据包会在首次调用数据工具时惰性加载,因此服务器可以即时启动。

## Agent 技能

与 MCP 服务器配套的是一个 **[Agent 技能](https://github.com/mrwadams/attackgen/blob/main/skills)**,`attackgen-tabletop`,它能把 AttackGen 的数据转化为可供演练引导者直接使用的应急响应桌面推演。

给定一个威胁组织或 ATLAS 案例研究,该技能会生成一份完整的桌面推演 / 主场景事件列表(MSEL)——包括场景叙述、按阶段映射的攻击链、带时间戳的注入事件、NIST SP 800-61 讨论问题,以及一份检测覆盖评分卡——输出为 Markdown 或一份自包含、适合打印的 HTML 报告。

它还覆盖了 **AI 内部威胁**路径:当对手是部署在组织内部的尖端 AI 智能体时,该技能会改用 `list_ai_insider_options` 和 `get_ai_insider_prompt`,而不是攻击链。演练保持相同的六段式结构,但其主线是 STRIDE 威胁范围和部署原型,其检测评分卡依据该原型的检测态势进行评判,而模板中的 `required_decisions` 则成为强制性的讨论问题。

分工是经过深思熟虑的:MCP **数据工具**提供事实依据(每项技术或 STRIDE ID 都可追溯到某个工具结果),而技能则提供演练设计,因此它可以在你客户自己的模型上运行,**无需额外的 API 密钥**。先连接上述 MCP 服务器,然后将支持技能能力的客户端(如 Claude Code 或 Claude Desktop)指向 [`skills/`](https://github.com/mrwadams/attackgen/blob/main/skills) 目录。有关各客户端的安装位置和详细信息,请参阅 [`skills/README.md`](https://github.com/mrwadams/attackgen/blob/main/skills/README.md)。

## 使用方法

### 运行 AttackGen

#### 选项 1:在本地运行 Streamlit 应用
1. 运行 Streamlit 应用:```
streamlit run 00_👋_Welcome.py
  1. 打开你的网页浏览器,并导航到 Streamlit 提供的 URL。
  2. 使用该应用生成标准或自定义的事件响应场景(详见下文)。

选项 2:使用 Docker 容器镜像

  1. 运行 Docker 容器:``` docker run -p 8501:8501 mrwadams/attackgen
root@kitploit:~
此命令将启动容器,并将容器中的端口 8501(Streamlit 应用的默认端口)映射到您的主机。
2. 打开您的 Web 浏览器,并导航至 `http://localhost:8501`。
3. 使用该应用生成标准或自定义的应急响应场景(详情见下文)。

### 生成场景

#### 标准场景生成
1. 选择使用 OpenAI API、Anthropic API、Google AI API、Mistral API、Groq API,或自定义的 OpenAI 兼容端点(适用于 Ollama、LM Studio、Azure OpenAI 部署、OpenRouter 等)。
2. 为所选提供商输入您的 API 密钥。对于自定义提供商,还需输入基础 URL 和模型名称。
3. 从下拉菜单中选择您偏好的模型。
4. 从下拉菜单中选择您所在组织的行业和规模。
5. 导航至 `Threat Group Scenarios` 页面。
6. 选择您想要模拟的威胁行为者组织。
7. 点击“生成场景”以创建应急响应场景。
8. 使用 👍 或 👎 按钮对生成场景的质量提供反馈。注意:反馈按钮仅在 `.streamlit/secrets.toml` 文件中设置了 `LANGCHAIN_API_KEY` 的值时才会出现。

#### 自定义场景生成
1. 选择使用 OpenAI API、Anthropic API、Google AI API、Mistral API、Groq API,或自定义的 OpenAI 兼容端点。
2. 为所选提供商输入您的 API 密钥。对于自定义提供商,还需输入基础 URL 和模型名称。
3. 从下拉菜单中选择您偏好的模型。
4. 从下拉菜单中选择您所在组织的行业和规模。
5. 导航至 `Custom Scenario` 页面。
6. 使用多选框搜索并选择与您的场景相关的 ATT&CK 技术。
7. 点击“生成场景”,根据所选技术创建您的自定义应急响应测试场景。
8. 使用 👍 或 👎 按钮对生成场景的质量提供反馈。注意:反馈按钮仅在 `.streamlit/secrets.toml` 文件中设置了 `LANGCHAIN_API_KEY` 的值时才会出现。

#### AI 内部威胁场景生成
1. 选择您的模型提供商并输入相应的 API 密钥(对于 Azure OpenAI 部署或本地模型,请使用自定义提供商)。
2. 从下拉菜单中选择您偏好的模型。
3. 从下拉菜单中选择您所在组织的行业和规模。
4. 导航至 `AI Insider Threat Scenarios` 页面。
5. (可选)选择一个模板,以预填充常见场景的部署原型、威胁类别和 STRIDE 威胁。
6. 选择反映 AI 代理在您组织内部自主运行方式的**部署原型**(例如,受监督的助手、自主代理、完全自主的代理群)。这是代理威胁面的主要驱动因素。
7. 选择一个或多个**威胁类别**(凭据泄露、供应链破坏、数据外泄、基础设施破坏、欺骗与规避)。
8. (可选)将场景缩小到特定的 **STRIDE 威胁**。如果留空,则会自动使用与您所选类别关联的 STRIDE 威胁。这些是基础论文中的 23 种 STRIDE 威胁。
9. (可选)调整提示中强调的**前沿代理能力**。
10. 点击“生成场景”。输出内容包括映射到 STRIDE 标识符的攻击叙述、检测机会,以及与 NIST CSF 一致的建议控制措施。
11. 使用 👍 或 👎 按钮提供反馈(需要 `LANGCHAIN_API_KEY`)。

此页面背后的威胁模型在 [*Actions Speak Louder Than Tokens: An Insider Threat Model for Frontier AI Agents*](https://ai-insider-threat.matt-adams.co.uk) 中进行了描述。

请注意,生成场景可能需要一分钟左右。场景生成后,您可以在应用中查看,也可以将其下载为 Markdown 文件。

## 安全最佳实践

AttackGen 专为本地、单用户部署而设计。使用该工具时:

### 保护您的 API 密钥

**您的 API 密钥是敏感的凭据,可能会在您的账户上产生费用。**

✅ **应做事项:**
- 通过 UI 输入 API 密钥(它们会保留在您的浏览器会话中)
- 在您的个人机器上使用 .env 文件以方便操作
- 在您的 LLM 提供商仪表板中设置支出限额
- 定期查看您的 API 使用情况和费用
- 在共享计算机上使用时清除会话

❌ **不应事项:**
- 将 .env 文件提交到版本控制(已在 .gitignore 中)
- 分享带有可见 API 密钥的截图
- 在不受信任/已受损的系统上运行 AttackGen
- 与他人分享您的 API 密钥
- 忽略意外的 API 费用

### 数据隐私注意事项

当您生成场景时,AttackGen 会将数据发送给您选择的 LLM 提供商:
- 组织详细信息(行业、公司规模)
- 选定的 ATT&CK 技术
- 自定义输入文本
- 生成的场景(通过 AttackGen Assistant)

**这意味着什么:**
- OpenAI、Anthropic 等可能会根据其隐私政策记录这些数据
- 对于演示,请考虑使用通用/虚构的组织详细信息
- 查看您的 LLM 提供商的数据保留和隐私政策
- 对于敏感用例,请考虑具有更严格隐私保证的提供商

### 对于团队/组织部署

如果为多个用户部署 AttackGen(非默认用例):
- 添加身份验证/授权(默认不包含)
- 使用机密管理服务来管理 API 密钥
- 部署在 VPN 或内部网络之后
- 查看此威胁模型文档以获取其他注意事项
- 考虑数据驻留和合规性要求

### 依赖项安全性

我们维护依赖项并监控漏洞:
- 依赖项会定期更新
- 安全公告在 GitHub Issues 中跟踪
- 运行 `pip list --outdated` 以检查更新
- 考虑使用 `pip-audit` 进行漏洞扫描

### 报告安全问题

发现安全问题?请负责任地报告:
- 通过 GitHub 的[私有漏洞报告](https://github.com/mrwadams/attackgen/security/advisories/new)创建安全公告
- 不要公开发布安全问题
- 我们将在 48 小时内确认
- 修复将优先处理并快速发布

## 贡献

我非常乐意接受对本项目的贡献。请随时提交问题或拉取请求。

## 许可证

本项目根据 [GNU GPLv3](https://choosealicense.com/licenses/gpl-3.0/) 许可。
下载工具
新增内容为什么有用?
基础场景优先生成- 场景不再等待:生成现在分阶段运行 —— 基础场景首先渲染,其 下载场景 和 下载 ATT&CK Navigator 图层 按钮已立即可用,可选的紫队叙事随后流式生成。如果第二次传递较慢,或者您不需要它,场景立即可用,而不是等到所有内容完成才提供。

- 生成时输入冻结:每次运行都基于您按下 生成 那一刻的快照,因此在运行过程中更改侧边栏不会半途重写正在生成的场景。

- 诚实的进度:一个运行中的已用时间标签和命名阶段 —— 准备输入、生成基础场景、构建确定性导出、生成紫队叙事 —— 显示长时间运行实际进行到哪一步。
中立、无死胡同的选择器- 仅提供有效选项:威胁组织和案例研究选择器现在只提供实际能生成场景的选项,因此选择不再导致死胡同。

- 自然排序:组织按自然数字顺序排序,因此 APT3 排在 APT28 和 APT30 之前,而不是按文本排序并落在它们之间。
每个页面上的共享设置侧边栏- 一次设置:提供商、模型、框架、行业和公司规模现在位于每个场景页面 —— 威胁组织、自定义和 AI 内部威胁 —— 上的单个共享 设置 侧边栏中,而不是在每个页面上重新输入。

- 导航后保留:非机密选择在页面之间移动时保留并镜像到 URL,而 API 密钥则有意不放入查询字符串中。
平台与安全维护- MCP 基于 2.x SDK:MCP 服务器已迁移到 mcp 2.x SDK。

- 更新的基础镜像:Docker 镜像现在基于 python:3.14-slim 构建。

- CI 门禁而非警告:安全扫描现在在发现问题时使构建失败,而不仅仅是报告 —— pip-audit 和 Bandit 作为门禁,Trivy 不再将 pip 的供应商 SBOM 误计为已安装包,可操作的镜像 CVE 已清除。GitHub Actions 已迁移出 Node 20 运行时,Dependabot 现在跟踪工作流操作本身。
新增内容为什么有用?
评估环境逃逸预设与场景种子- 演练特定事件:一个新的 AI 内部威胁模板演练评估 Agent 从假定隔离的环境中到达真实系统 —— 强制进行遏制、凭据轮换、第三方通知和证据保全。它涵盖了 2026 年 7 月披露的评估 Agent 逃逸其沙箱的事件,其中隔离边界是 假定 的而非强制执行的。

- 模板现在到达提示词:快速入门模板以前只预填页面上的小部件,从未影响生成的场景。它们现在携带叙事 brief 和讨论问题必须强制要求的 required_decisions,两者都嵌入提示词中 —— 因此模板产生可用的定时桌面演练,而不是一堆杂乱的问题。这将其分为两类:六个原始 原型 模板仅设置决策,因此模型自行构思前提,重新运行同一模板会为相同的威胁配置文件生成新的演练;事件 模板还设置 brief,固定了情境。

- 自由文本场景种子:AI 内部威胁页面上的可选种子框可引导任何场景的叙事。选择模板会预填它,您可以编辑它或从头编写自己的内容。

- 分类法扩展到 27 种威胁 / 6 个类别:新增第六个威胁类别(遏制与第三方影响)和演练所围绕的四个 STRIDE 威胁 —— S5 可重用工作负载凭据重放、R4 Agent 侧遥测抑制、I5 第三方与下游入侵,以及 E5 遏制边界保证失败。AttackGen 现在 扩展 已发布的威胁模型,而非仅仅镜像它。

- 模板可通过 MCP 使用:get_ai_insider_prompt 和 generate_ai_insider_scenario 接受 template= 和 scenario_seed=,list_ai_insider_options 返回每个模板及其应用的选择和 brief —— 因此客户端可以根据优点选择预设,并仅使用模板、行业和公司规模进行调用。以前模板名称被列出,但没有工具接受它们。
attackgen-tabletop 技能:AI 内部威胁路径- 第二条演练路径:Agent 技能 现在既可以从 MITRE 杀伤链构建桌面演练,也可以从 AI 内部威胁模型构建。选择一个快速入门模板(或部署原型和威胁类别),它将 get_ai_insider_prompt 的有效负载转换为 MSEL。

- 相同结构,不同主线:演练保持相同的六个部分,但杀伤链表变为 Agent 配置文件和 STRIDE 威胁范围,检测记分卡根据部署原型的检测态势进行评判 —— 因此 不会 触发的行成为发现 —— 模板的必需决策成为强制讨论问题。

- 路径自动选择:技能描述现在会触发于流氓 Agent 措辞,因此请求"AI 内部威胁桌面演练"会到达正确的路径。具有 AI 加速战术的外部行为者保持在 MITRE 路径上。

- 响应而非利用:两条路径都明确限定为演练响应团队必须做出的决策 —— 没有利用代码、有效负载或真实的未修补漏洞 —— AI 路径将 Agent 行为归因于配置、访问和目标,而非人类动机。
修复:MCP AI 内部威胁提示词丢失 Agent 能力- 相同模板,相同提示词:前沿 Agent 能力块 —— 使 AI 内部威胁场景可信的基于基准的行 —— 从每个未显式命名 capabilities 的 get_ai_insider_prompt / generate_ai_insider_scenario 调用中省略。没有模板提供它们,因此参数落空为空,提示词替换为通用的"假设一个能力强大的前沿编码 Agent"行,而第 3 页为同一模板发送了全部四个。

- 默认值现在与应用匹配:省略 capabilities 应用完整集合,如同页面的多选所做。传递 [] 仍使它们未指定,因此有意的选择退出不变。
修复:Anthropic Claude 4.7+ 场景生成- 每个 Claude 模型再次可用:Claude 4.7 及更高版本拒绝任何采样 temperature,返回 BadRequestError: 'temperature' is deprecated for this model。列出的五个 Anthropic 模型中的四个 —— Fable 5、Opus 4.8、Sonnet 5 和 Opus 4.7 —— 无法在任何页面上生成场景;只有 Haiku 4.5 可用。

- 按模型而非按提供商门控:温度规则以前从提供商路由,这无法表达其模型意见不一致的提供商。ModelInfo.supports_temperature 现在标记拒绝温度的模型,因此 Haiku 4.5 保留其配置的温度,而其同类模型省略它。OpenAI 保持提供商级规则(每个当前的聊天模型都是推理模型),未注册的模型 —— 本地 Ollama / LM Studio 端点 —— 仍然接收温度。

v0.14

新增内容为什么有用?
用于 Agent 客户端的 MCP 服务器- 场景生成作为工具:一个新的 FastMCP 服务器(mcp_server.py,官方 mcp SDK)通过 stdio 将 AttackGen 暴露给 Agent 客户端,因此像 Claude Code 或 Claude Desktop 这样的助手可以在没有 Streamlit UI 的情况下拉取 MITRE 数据并生成场景。

- 两个层级:数据工具(list_threat_groups、list_case_studies、get_kill_chain、get_detection_report、get_navigator_layer、list_ai_insider_options、get_ai_insider_prompt)不进行 LLM 调用,不需要 API 密钥 —— 它们返回结构化的 MITRE 数据,并在有用时返回可立即运行的提示词,因此它们可以安全地通过 HTTP 托管。生成工具(generate_threat_group_scenario、generate_custom_scenario、generate_ai_insider_scenario)采用自带密钥配置并返回完成的 Markdown —— 将这些保留在本地 stdio 上。

- 共享实现:服务器重用 Streamlit 页面使用的相同无头 core/prompts.py 构建器和 core/attack_data.py 加载器,因此场景与应用匹配而非漂移。使用 python -m mcp_server 或 attackgen-mcp 控制台脚本启动。
attackgen-tabletop Agent 技能- 促进者就绪的桌面演练:一个新的 Agent 技能 基于 MCP 数据工具,将 MITRE ATT&CK/ATLAS 威胁组织或案例研究转化为完整的 IR 桌面演练 / MSEL —— 场景叙事、阶段映射的杀伤链、带时间戳的注入、NIST SP 800-61 讨论问题和检测覆盖率记分卡。

- 在调用者的模型上运行:技能提供演练工艺,而 MCP 服务器提供数据,因此它在客户端自己的模型上运行,无需额外的 API 密钥。

- 两种输出格式:以 Markdown(默认)或自包含、适合打印的 HTML 报告交付。
Assistant 优化检测与响应输出- 紫队编辑:AttackGen Assistant 现在可以优化 检测与响应 叙事,而不仅仅是场景。当场景使用 🟣 紫队叙事开关(威胁组织 / 自定义页面)生成时,Assistant 页面上会出现一个 编辑: 选择器,使聊天可以针对场景或防御者的演练 —— 以前 Assistant 只有场景文本。

- 组合编辑模式:第三个 场景 + 检测与响应 目标同时优化两者,因此跨领域更改 —— 不同的行业、威胁行为者、技术或时间线 —— 在攻击者的场景和防御者的叙事中一致应用,而不是进行两次并漂移。

- 确定性事实不受影响:只有 LLM 叙事是优化目标;本地 STIX 检测连接从不经过 LLM 编辑。每种编辑模式保留自己的聊天历史,组合传递在 LangSmith 中标记为 purple_team_narrative。
更简单的模型注册表- 每个模型少一件事:max_completion_tokens kwarg 和推理模型温度规则现在从 提供商 路由,而非逐模型的 uses_max_completion_tokens 标志 —— 每个当前的 OpenAI 聊天模型都使用它们,因此该标志重复了提供商密钥已捕获的事实。添加新的 OpenAI 模型仍是对 MODELS 的单条目编辑,无需记住额外标志。

- 无行为更改:仅内部简化 —— 包装器为每个当前模型构建相同的 LiteLLM kwargs。

v0.13.1

新增内容为什么有用?
修复:OpenAI GPT-5.x 场景生成- 正确的推理模型处理:OpenAI 的 GPT-5.x 推理模型拒绝任何非默认的采样 temperature,因此每次 GPT-5.x 生成都因 BadRequestError: 'temperature' does not support 0.7 with this model 而失败。AttackGen 不再向这些模型发送自定义温度,而其他提供商保留配置的值。
模型注册表刷新- 最新模型:根据每个提供商的当前文档刷新模型列表 —— OpenAI GPT-5.6(Sol / Terra / Luna 层级)、Claude Fable 5 和 Claude Sonnet 5,每个提供商保留一个先前世代以保持连续性。

- 移除过时条目:删除提供商已取代或正在淘汰的模型 —— 特别是 Groq 的 qwen3-32b(2026 年 7 月 17 日关闭)和 Mistral 的 Magistral Medium —— 因此侧边栏不会提供选择时出错的模型。

- 添加了快速/廉价的 Groq 层级(llama-3.1-8b-instant)。

v0.13

新增内容为什么有用?
紫队模式:检测与响应- 防御性伴侣:每个威胁组织和自定义场景现在都显示 检测与响应 部分,将场景的每个技术与已随附数据中的 MITRE ATT&CK 检测策略、分析、日志源和缓解措施连接起来 —— 将仅红的叙事转变为紫队演练("这是攻击,这是您的 SOC 本应看到的确切内容")。

- 事实无需 LLM 调用:检测部分是 本地数据连接,而非模型调用 —— 因此它列出的分析、日志源和缓解措施是真实、当前的 MITRE 内容,而非模型猜测。它作为独立的 ..._detection.md 下载与场景和图层一起提供。

- 要启用的日志源:按场景的汇总列出检测所读取的不同日志源(例如 WinEventLog:Security (EventCode=4624)),因此 SOC 可以一目了然地看到演练假设的遥测。

- 可选的紫队叙事:每页的 🟣 紫队叙事 开关添加第二次模型传递,从防御者一侧逐步走查场景 —— 什么应该触发、分析师看到什么、如何响应 —— 严格基于上述检测和缓解措施(不虚构检测)。

- ATLAS 感知:ATLAS 场景列出缓解措施(ATLAS 尚无检测策略)并说明这一点,而不是显示空白。
MITRE ATT&CK v19.1 与最新 ATLAS 数据- 更新的框架:MITRE ATT&CK Enterprise 和 ICS 数据从 v18.1 刷新到 v19.1,MITRE ATLAS 刷新到最新版本,因此生成的场景反映当前的战术、技术和案例研究。

- 刷新的组织列表:威胁组织下拉列表从 v19.1 包重新生成(174 个 Enterprise 和 14 个 ICS 活跃组织)。MITRE 已在上游撤销或合并的组织(例如 APT34 → OilRig、UNC2452 → APT29)不再出现,而新跟踪的组织如 MirrorFace 则出现。

- 更多 ATLAS 案例研究:ATLAS 案例研究库增长到 57 个(17 个事件,40 个演练)。

- 可重复刷新:新的 scripts/generate_groups.py 从随附的 STIX 包重新生成组织映射,补充现有的 ATLAS 案例研究脚本 —— 因此下次刷新是脚本化步骤,而非手动整理。
ATT&CK Navigator 图层导出- 可下载图层:威胁组织和自定义场景页面上的每个生成场景现在都提供 ATT&CK Navigator 图层(.json)以及 Markdown 下载,因此场景的技术可以在 ATT&CK Navigator 中可视化、注释和共享。要查看它,请下载图层并通过 Navigator 中的 打开现有图层 → 从本地上传 打开。

- 所有三个矩阵:正确的 Navigator 域按矩阵自动设置 —— 将 Enterprise 和 ICS 图层上传到 MITRE ATT&CK Navigator,将 ATLAS 图层上传到 ATLAS Navigator 分支。(ATLAS 图层不会在 ATT&CK Navigator 中加载,反之亦然,因为每个只识别自己的域。)

- 技术保持可见:评分子技术自动展开其父级,技术 ID 在布局中显示,因此场景的高亮技术立即可见,而非隐藏在折叠行中。

- 无额外 LLM 调用:图层是已为场景选择技术的本地序列化 —— 无额外的模型调用或外部查找。

- 描述性下载文件名:场景和图层下载现在以威胁行为者 / 自定义场景和矩阵命名,并带有生成时间戳(例如 AttackGen_APT29_Enterprise_20260714-153045.md),因此保存的文件有意义且不会跨场景冲突。
新增功能为何有用?
----------------------------
AI 内部威胁场景- 新增场景类型:一个专用页面可生成事件响应桌面演练,其中部署在组织内部的尖端 AI 智能体表现为内部威胁——通过目标错位、奖励黑客行为、涌现目标或提示注入入侵。基于 Actions Speak Louder Than Tokens: An Insider Threat Model for Frontier AI Agents 中的威胁模型。

- 部署原型驱动:场景由智能体的自主级别(L1 监督助手 → L4 完全自主集群)塑造,这是其威胁面和检测态势的主要决定因素。

- 五类内部威胁:凭据入侵、供应链破坏、数据外泄、基础设施破坏以及欺骗与规避——每类均映射到具体的 AI 智能体表现,而非人类动机。
- 面向 AI 智能体的 23 项 STRIDE 威胁:完整的 STRIDE 分类法(欺骗、篡改、抵赖、信息泄露、拒绝服务、权限提升)已针对尖端 AI 智能体进行改编,可选择用于缩小场景范围。- 符合 NIST CSF 的控制措施:生成的场景包含映射到 NIST 网络安全框架(识别、保护、检测、响应、恢复)的优先级缓解措施。- 提供商对等性:支持与 AttackGen 其他部分相同的提供商集合,并可选 LangSmith 追踪。

v0.11

新增功能为何有用?
MITRE ATLAS 框架支持- AI/ML 威胁覆盖:AttackGen 现在支持 MITRE ATLAS(AI 系统对抗威胁全景)框架,能够为针对 AI 和机器学习系统的威胁生成事件响应场景。

- 基于案例研究的场景:基于 45 个有记录的真实世界 AI 攻击案例研究生成场景,包括 14 起实际事件和 31 项研究演练,涵盖提示注入、模型提取和数据投毒等攻击。

- 147 项 ATLAS 技术:访问完整的 ATLAS 技术库,涵盖 16 种 AI 特定战术,包括 AI 模型访问、AI 攻击准备以及为 AI 系统改编的传统攻击阶段。

- AI 特定模板:六个新的自定义场景模板,用于常见 AI/ML 攻击:模型规避、数据投毒、模型提取、提示注入、LLM 越狱和 AI 供应链攻击。
更新 MITRE ATT&CK 数据至 v18.1- 最新威胁情报:AttackGen 现在使用 MITRE ATT&CK v18.1 数据,确保生成的场景反映威胁行为者使用的最新战术、技术和程序。

- 扩展企业覆盖范围:企业威胁组织列表从 150+ 个增长到 187 个,包括新追踪的行为者。

- 扩展 ICS 覆盖范围:ICS 威胁组织列表从 7 个增长到 16 个,为工业控制系统场景提供更好的覆盖。
更新 LLM 模型支持- OpenAI:添加了 GPT-5.2 和 GPT-5.2 Pro 模型;通过移除已弃用的 o 系列推理模型精简了模型列表。

- Anthropic:更新至 Claude 4.5 系列,包括 Sonnet 4.5、Haiku 4.5 和 Opus 4.5。

- Google AI:添加了 Gemini 3 Pro 和 Flash 预览模型;更新了 Gemini 2.5 选项。

- Groq:添加了 GPT-OSS 120B 和 20B 模型,用于高性能推理。

- Mistral:更新至带日期的模型版本(Large 2512、Medium 2508、Small 2506);添加了 Ministral 14B。
错误修复- 修复 Google AI 响应处理:更新了响应解析以处理较新 Gemini 模型返回的结构化内容格式,确保场景文本被正确提取和显示。

- 修复 ICS 矩阵错误消息:使用 ICS 矩阵时,错误消息现在正确显示“ICS ATT&CK”而非“Enterprise ATT&CK”。

- 改进空技术处理:当威胁组织没有关联技术时添加了优雅处理,防止二次错误。

v0.10.1

新增功能为何有用?
LangChain v1.0 兼容性- 修复破坏性导入变更:将所有导入从已弃用的 langchain.prompts.chat 更新为 langchain_core.prompts,确保与 LangChain v1.0 兼容并防止 ModuleNotFoundError 问题。这随着 LangChain 生态系统的演进保持了稳定性。
全面安全基础设施- 自动化安全扫描:引入 GitHub Actions 工作流,使用 Bandit(Python 代码分析)、CodeQL(漏洞检测)、pip-audit(依赖扫描)、Safety(已知漏洞)、Gitleaks(密钥检测)和 Trivy(Docker 镜像扫描)进行持续安全监控。

- 安全最佳实践文档:添加了全面的 SECURITY.md,涵盖受支持版本、漏洞报告、API 密钥管理、数据隐私注意事项和部署安全指南。

- 增强 README 安全部分:扩展了安全指南,明确说明 API 密钥保护的注意事项、数据隐私考虑和负责任部署实践。
Docker 改进- 增强安全性:更新 Dockerfile 以非 root 用户运行,改善容器安全态势。

- Docker Compose 支持:添加了 docker-compose.yml,用于简化多服务部署和更轻松的本地开发设置。

- 更好的构建优化:增强了 .dockerignore 以减小镜像大小并防止敏感文件被包含在容器镜像中。

- 全面配置模板:更新了 .env.example,包含所有受支持的 API 密钥(OpenAI、Anthropic、Azure、Google、Mistral、Groq),便于初始设置。
错误修复- Ollama API 超时:为 Ollama API 请求添加了超时配置,以防止连接挂起。

- Safety CLI 更新:从已弃用的 safety check 命令更新为新的 safety scan 命令,确保持续的安全扫描功能。

- Bandit 配置:修正了 Bandit 安全扫描配置,以实现更准确的 Python 代码分析。

v0.10

新增功能为何有用?
OpenAI Responses API 集成- 下一代 API:AttackGen 现在对所有受支持的模型使用 OpenAI 最新的 Responses API,提供统一且增强的接口。
最新前沿模型支持- GPT-5 集成:添加了对 OpenAI 最新 GPT-5 模型系列的支持,包括 gpt-5、gpt-5-mini 和 gpt-5-nano,为场景生成提供最先进的 AI 能力。

- Claude Sonnet 4.5:添加了对 Anthropic 最新 Claude Sonnet 4.5(claude-sonnet-4-5-20250929)模型的支持,以及更新的 Claude 模型版本,包括 Claude Opus 4.1(claude-opus-4-1-20250805)。
错误修复与改进- 修复 Streamlit 弃用警告:用新的 width 参数替换了已弃用的 use_container_width 参数,以确保与未来 Streamlit 版本的兼容性。

- 增强文档:更新了 CLAUDE.md,为未来开发工作提供全面指导,并添加了详细的架构信息。

v0.9

新增功能为何有用?
扩展模型支持- 最新 OpenAI 推理模型:AttackGen 现在支持 OpenAI 最新的推理模型,包括 o4-mini(最新推理模型)、o3/o3-mini 和 o1-pro(增强推理能力)。这些模型擅长生成需要深度逻辑思维的复杂场景。

- GPT-4.1 系列:添加了对 GPT-4.1 系列模型(gpt-4.1、gpt-4.1-mini 和 gpt-4.1-nano)的支持,提供通用 AI 能力的最新改进,并为成本敏感用例提供更轻量的替代方案。

- Anthropic Claude 模型:添加了对 Anthropic Claude 模型的全面支持,包括 claude-opus-4-20250514、claude-sonnet-4-20250514、claude-3-7-sonnet-latest 和 claude-3-5-haiku-latest。这些模型在生成详细且上下文感知的事件响应场景方面表现出色,具有强大的推理能力。

- 更新 Google AI 模型:刷新了 Google AI 模型选择,包含最新的 Gemini 2.5 预览模型(gemini-2.5-flash-preview-05-20 和 gemini-2.5-pro-preview-05-06)以及 Gemini 2.0 模型,提供对 Google AI 技术最新改进的访问。

- 改进模型组织:重新组织了模型选择下拉菜单,优先显示较新模型,并更新描述以清晰区分不同模型类型和能力。
增强技术选择逻辑- 更稳健的组织处理:修复了空威胁行为者组织可能导致技术选择期间出错的问题。该工具现在通过返回空 DataFrame 正确处理空组织,即使在威胁行为者数据有限的情况下也能确保稳定运行。

- 阶段名称保留:改进了技术选择过程,在输出中正确包含“阶段名称”,在整个场景生成过程中保持杀伤链阶段信息。这确保生成的场景保持关于每项技术属于攻击哪个阶段的适当上下文。
开发环境改进- 增强 .gitignore:除了 venv 之外,添加了对 .venv 虚拟环境目录的支持,以适应不同的开发者偏好和 Python 环境管理工具。

- 代码清理:移除了场景生成脚本中的未使用导入,提高了代码可维护性并减少了潜在混淆。

v0.8

新增功能为何有用?
自定义兼容 OpenAI 的 API 端点- 更高灵活性:AttackGen 现在支持自定义兼容 OpenAI 的 API 端点,如 Anyscale、Together AI 或任何自托管的兼容 API。此功能允许用户利用官方支持提供商之外的更广泛模型和服务。

- 自托管支持:拥有自己的 OpenAI 兼容模型部署的组织现在可以将 AttackGen 直接连接到这些端点。

- 模型选择控制:用户可以为任何兼容服务指定基础 URL、模型名称和 API 密钥,从而更好地控制用于场景生成的模型和端点。
更新模型选择- 访问最新模型:OpenAI 模型选择现在包含新的 GPT-4.1 系列模型(gpt-4.1、gpt-4.1-mini、gpt-4.1-nano),在编码、指令遵循和长上下文任务中提供改进的性能。

- 扩展 Gemini 支持:添加了对最新 Gemini 2.5 Pro 预览版、2.0 Flash 和 2.0 Flash Lite 模型的支持。

v0.7

新增功能为何有用?
Groq API 集成- 增强性能:AttackGen 现在支持 Groq 的高性能 API,提供对 llama-3.3-70b-versatile 和 deepseek-r1-distill-llama-70b 等模型的访问。此集成在保持高质量场景生成的同时提供快速推理时间。

- 改进模型输出显示:对于 DeepSeek 等在其输出之外还提供推理的模型,AttackGen 现在在可折叠的展开器组件中显示此推理。这允许用户在需要时查看模型的思考过程,同时保持主要场景输出的简洁和聚焦。
更新 OpenAI 模型支持- 最新模型:AttackGen 现在支持 OpenAI 最新的 o3 推理模型和 o1 模型的 GA(正式发布)版本,取代了之前的预览版本。这些更新为场景生成提供了更稳定和改进的模型访问。

v0.6

新增功能为何有用?
支持 OpenAI 新的“推理”模型- 增强场景生成:AttackGen 现在支持 OpenAI 新的“推理”模型(o1-preview 和 o1-mini),能够生成高度详细和细致的事件响应场景。这些模型在场景创建中提供改进的连贯性和深度。
MITRE ATT&CK ICS 矩阵支持- 扩展范围:AttackGen 现在支持使用 MITRE ATT&CK ICS(工业控制系统)矩阵生成事件响应测试场景,以及企业矩阵。这允许用户创建针对工业和关键基础设施环境定制的场景。
更新 ATT&CK 源数据至 v15.1- 最新威胁情报:该工具现在使用最新的 MITRE ATT&CK 数据(v15.1),确保生成的场景反映威胁行为者使用的最新已知战术、技术和程序。
更新威胁行为者组织数据- 全面覆盖:组织数据已更新,包含 MITRE ATT&CK 中追踪的最新组织,如 Scattered Spider。这确保用户可以基于可用的最新威胁行为者信息生成场景。
从 .env 文件加载 API 密钥/机密- 增强安全性:用户现在可以将 API 密钥和其他敏感信息存储在 .env 文件中,提高安全性并更轻松地跨不同环境管理凭据。

v0.5.2

新增功能为何有用?
GPT-4o mini 模型支持- 扩展模型选项:AttackGen 现在支持使用 OpenAI 的 GPT-4o mini 模型。GPT4-o mini 是一个高度经济高效的小型模型。
更新 Google AI API 模型选择- 扩展模型选项:AttackGen 现在支持 Gemini 1.5 Pro 的稳定版和预览版。

v0.5.1

新增功能为何有用?
GPT-4o 模型支持- 增强模型选项:AttackGen 现在支持使用 OpenAI 的 GPT-4o 模型。GPT4-o 是 OpenAI 的领先模型,生成场景的速度是 GPT-4 的两倍,成本仅为一半。
新增功能为什么有用?
---------------------------
AttackGen 助手- 迭代式场景优化:新的聊天界面允许用户与其生成的应急响应场景进行交互,使更新和询问场景相关问题变得容易,而无需从头重新生成。此功能支持场景开发的迭代方法,用户可以根据 AI 助手的响应来优化和改进其场景。

- 上下文相关协助:AI 助手根据生成场景的上下文和对话历史来响应用户查询。这确保了助手的响应在优化场景时具有相关性和实用性。
自定义场景的快速启动模板- 快速场景生成:用户现在可以基于常见网络事件类型的预定义模板(如网络钓鱼攻击、勒索软件攻击、恶意软件感染和内部威胁)快速生成自定义应急响应场景。此功能使得无需选择单独的 ATT&CK 技术即可更轻松地创建逼真的场景。

- 简化工作流程:模板选择已无缝集成到自定义场景生成过程中。用户可以选择一个模板,该模板会自动填充相关的 ATT&CK 技术,然后根据需要进一步自定义场景。
Google AI API 集成- 扩展模型选项:AttackGen 现在支持使用 Google 的 Gemini 模型来生成应急响应场景。此集成扩展了可供用户使用的高质量模型范围,使他们能够利用 Google 的 AI 能力来创建逼真且多样化的场景。

v0.4

新增功能为什么有用?
Mistral API 集成- 替代模型提供商:用户现在可以利用 Mistral AI 模型来生成应急响应场景。此集成提供了 OpenAI 和 Azure OpenAI 服务模型的替代方案,允许用户针对其特定用例探索和比较不同语言模型的性能。
使用 Ollama 的本地模型支持- 本地模型托管:AttackGen 现在通过集成 Ollama 支持使用本地托管的 LLM。此功能对于具有严格数据隐私要求或倾向于将数据保留在本地的组织特别有用。请注意,此功能不适用于托管在 https://attackgen.streamlit.app 的 Streamlit Community Cloud 上的 AttackGen 版本用户。
可选的 LangSmith 集成- 提高灵活性:与 LangSmith 的集成现在是可选的。如果未提供 LangChain API 密钥,用户将看到一条信息性消息,表明该运行不会被 LangSmith 记录,而不是抛出错误。此更改改善了整体用户体验,并允许用户无需 LangSmith 即可继续使用 AttackGen。
各种错误修复和改进- 增强用户体验:此版本包含多项错误修复和用户界面改进,使 AttackGen 更加用户友好和稳健。

v0.3

新增功能为什么有用?
Azure OpenAI 服务集成- 增强集成:除了标准 OpenAI API 之外,用户现在还可以选择使用部署在 Azure OpenAI 服务上的 OpenAI 模型。此集成提供了一种无缝且安全的解决方案,可将 AttackGen 纳入现有的 Azure 生态系统,利用既定的商业和保密协议。

- 改进的数据安全性:从 Azure 运行 AttackGen 可确保应用程序描述和其他数据保留在 Azure 环境中,使其成为在威胁模型中处理敏感数据的组织的理想选择。
用于 Azure OpenAI 服务的 LangSmith- 增强调试:现在可以为使用 Azure OpenAI 服务生成的场景提供 LangSmith 追踪。此功能为调试、测试和监控模型性能提供了强大的工具,允许用户深入了解模型的决策过程,并识别生成场景中的潜在问题。

- 用户反馈:LangSmith 还捕获用户对使用 Azure OpenAI 服务生成的场景质量的反馈,为模型性能和用户满意度提供有价值的见解。
OpenAI API 的模型选择- 灵活的模型选项:用户现在可以从 OpenAI API 端点提供的多个模型中进行选择,例如 gpt-4-turbo-preview。这允许对不同语言模型进行更大的定制和实验,使用户能够为其特定用例找到最合适的模型。
Docker 容器镜像- 轻松部署:AttackGen 现在可作为 Docker 容器镜像使用,使其更容易在一致且可重现的环境中部署和运行应用程序。此功能对于希望在容器化环境中运行 AttackGen 的用户,或希望将应用程序部署到云平台的用户特别有用。

v0.2

新增功能为什么有用?
基于 ATT&CK 技术的自定义场景- 适用于成熟组织:如果您的组织具有高级威胁情报能力,此功能尤其有益。例如,如果您正在监控一个新识别或不太知名的威胁行为者组织,您可以针对该组织使用的技术定制应急响应测试场景。

- 聚焦测试:或者,使用此功能将您的应急响应测试重点放在网络杀伤链的特定部分或某些 MITRE ATT&CK 战术(如“横向移动”或“数据外泄”)上。这对于希望评估和改进其防御态势特定领域的组织非常有用。
对生成场景的用户反馈- 收集反馈对于跟踪模型随时间的性能至关重要,并有助于突出场景生成任务中的优势和劣势。
改进了缺失 API 密钥的错误处理- 改善用户体验。
用新的 Streamlit st.status 组件替换了 st.spinner 组件- 为长时间运行的进程(即场景生成)提供更好的可见性。

v0.1

初始版本。






LiteLLM 迁移与提供商整合- 统一 LLM 封装器:所有提供商集成现在都通过使用 LiteLLM 的单一 core/llm.py 封装器进行。添加新模型只需在 core/models.py 的 MODELS 列表中编辑一行;添加提供商只需一条 ProviderInfo 条目。镜像了 stride-gpt 中使用的模式。

- 大幅减少代码:删除了四个页面中约 3,800 行重复的按提供商分支代码(约 1,000 行 if model_provider == ... 代码块,以及每个页面八个几乎相同的封装函数)。每个页面现在构建简单的消息字典并调用 call_llm(config, messages)。

- 注册表驱动的侧边栏:欢迎侧边栏现在由提供商注册表生成,用单个循环取代了八个手工编码的提供商代码块。

- 刷新模型列表:更新至最新模型——OpenAI GPT-5.5 / 5.4 系列、Anthropic Claude 4.6 / 4.7 / 4.8、Google Gemini 3.x 预览版、Mistral Large 3 / Magistral、Groq GPT-OSS 和 Qwen3。

- 提供商整合:用单一的 自定义(兼容 OpenAI) 选项取代了独立的 Azure OpenAI 服务和 Ollama 条目。Azure 部署、Ollama(http://localhost:11434/v1)、LM Studio(http://localhost:1234/v1)、OpenRouter 和自托管端点均可通过这一路径工作。

- 更小的依赖体积:移除了 langchain、langchain-anthropic、langchain-core、langchain-community、langchain-google-genai、langchain-mistralai、langchain-openai 和 anthropic 包——由单一的 litellm>=1.40 依赖取代。langsmith 保留用于可选追踪。

- 保留 LangSmith 追踪:@traceable 装饰器和反馈组件继续透明工作;当存在 LangSmith 客户端时,core/llm.py 将 call_llm 包装在 @traceable 中。
Docker 镜像安全刷新- 刷新基础镜像:更新了 python:3.12-slim 摘要,以清除 Trivy 代码扫描标记的过时 OS 层 CVE,减少针对已发布容器镜像的开放告警数量。

- pip CVE-2025-8869 修复:pip 现在在安装依赖项之前升级,以获取包提取期间缺失符号链接检查的修复。
流式 LLM 输出- 逐 Token 生成:场景和 AttackGen 助手聊天现在在 Token 到达时流式输出,而非阻塞等待完整响应,因此长篇幅生成会感觉响应迅速,您可以在模型书写时同步阅读。

- 可选流式 API:在统一 LiteLLM 封装器中添加了 call_llm_stream 以及 call_llm,因此调用方可以选择是否流式输出,而无需更改其余契约。

- 清晰的推理处理:有状态的 stream_filter_thinking 辅助函数在实时视图中抑制 <think>...</think> 区域,而流后 clean_model_response 继续从完整原始文本填充推理展开器。
AI 增强对手开关- 新增每页开关:在威胁组织和自定义场景页面上添加了“AI 增强对手”开关,重新构建生成的场景,使对手使用 AI 来加速和增强相同的杀伤链——降低技能门槛、压缩时间线、自主编排和并行规模——而非引入新技术。

- 基于 Anthropic 研究:基于 Anthropic 的 LLM ATT&CK Navigator 研究,该研究发现现实世界网络威胁中最显著的转变是现有技术的加速和编排,而非新技术。

- 追踪可见性:在 LangSmith 中将场景标记为 ai_enhanced,以便过滤 AI 增强的生成结果并与基线运行进行比较。

- 有意跳过 AI 内部威胁页面:该页面的威胁行为者已经是尖端 AI 智能体,因此“AI 增强”框架将是多余的。
错误修复与改进- 此版本包含跨场景页面和侧边栏的多项小型 UI 打磨和渲染修复。