
新发布Aug 7, 2026
attackgen v0.15.0
AttackGen 是一款网络安全事件响应测试工具,利用大语言模型的强大能力以及全面的 MITRE ATT&CK 框架。该工具根据用户选择的威胁行为者团体和贵组织的详细信息,生成量身定制的事件响应场景。
AttackGen
AttackGen 是一款网络安全事件响应测试工具,它利用大型语言模型的能力以及全面的 MITRE ATT&CK 和 ATLAS 框架。该工具根据用户选择的威胁行为者组织、AI 攻击案例研究以及您组织的详细信息,生成量身定制的事件响应场景。
目录
为仓库加星
如果您觉得 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 侧边栏,在一个就绪状态摘要中列出所有未完成的要求,并在工作流就绪之前保持 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 路由,因此添加新模型只需修改一行代码。
- 提供 Docker 容器镜像,便于部署。
- 可选集成 LangSmith,用于强大的调试、测试和模型性能监控。
- 使用 .env 文件安全管理 API 密钥和机密凭据。

版本发布
v0.17
| 新增内容? | 有何用处? |
|---|---|
| 将 Assistant 的改进应用到下载内容 | - 更改会写入文件:Assistant 的聊天过去仅用于改进对话,因此场景和 Detection & Response 下载内容从未改变。新增的 Apply changes to downloads 按钮会根据对话重写它们,通过一次专门的模型调用返回完整的修订文档。在 Scenario + Detection & Response 模式下,它会同时修订两者,各自获得对方的当前文本以保持一致性。 - 参考部分保持精确:Detection & Response 的应用仅重写叙述部分。从 ATT&CK 数据中提取的确定性检测和缓解参考内容逐字节保留。Navigator 图层不会重新生成,并标注为反映原始场景的技术。 - 可安全尝试:模型返回空回复时会被拒绝,不做任何更改。场景页面和 Assistant 都会标注改进结果的上次应用时间,Revert to original 可同时恢复场景和叙述。 - 在编辑处下载:Assistant 现在提供与场景页面相同的 Download Scenario 和 Download Detection & Response 按钮。 - 每个场景一个对话:每个聊天都属于其所讨论的场景,因此新生成的场景会开启全新对话,且应用后整个历史记录仍然可见。 |
| 引导式、有韧性的场景工作流 | - 点击前先就绪:每个页面现在都会列出仍缺失的内容——首先是页面自身的选择,然后是任何未完成的 Setup 字段——并在没有未完成项之前保持 Generate 禁用,因此点击不会浪费在发现验证错误上。 - 操作前先看选项:AI 增强对手和紫队开关位于 Generate 上方,紫队选项会说明它会进行第二次模型调用。 - 花费前先确认:在生成开始前显示框架、组织概况、选择和修饰符的一行摘要。 - 结果在导航后依然保留:每个页面在会话期间保留其自身的最新结果、产生该结果的输入及其下载名称——打开 Assistant 再返回,场景、其 Navigator 图层及其 Detection & Response 报告仍然存在。编辑表单会保留结果并附注您的选择已变更;Regenerate 和 Clear result 是显式操作。 - 在长场景中轻松导航:紧凑摘要和章节索引位于完整 Markdown 上方,并提供跳转到注入点、讨论问题、成功标准、指标、工件和交战规则的快捷方式。 - 有用的空状态:没有场景时,Assistant 会链接到创建场景的全部三种方式;有场景时,它会指明正在讨论的场景并链接回生成它的页面。 |
| 从失败或缓慢的叙述中恢复 | - 保留有效部分:如果可选的紫队叙述失败或被停止,基础场景、其下载内容、Navigator 图层和确定性 Detection & Response 参考内容仍完全可用,并显示一条说明失败原因的消息。 - 仅重试失败部分:Retry purple-team narrative 仅重新运行叙述,不会进行第二次基础场景调用,并将其合并到 Detection & Response 视图和下载中。失败的基础场景会使用 Generate 时捕获的输入提供自己的重试。 - 持续走动的计时器:等待模型首个 token 时,已用时间现在会继续推进,因此长时间等待不再看起来像卡死。 |
| 技术加载失败时更清晰的错误提示 | - 失败即报告为失败:技术查询失败的威胁组织不再显示为没有技术的组织,Custom Scenarios 在技术列表加载失败时也不再隐藏其技术选择器并要求您选择技术。 - 提供下一步,而非死胡同:两个阻塞点现在都会说明您可以针对失败采取什么措施。 |
| 可访问性与更精简的文案 | - 键盘和屏幕阅读器友好:仅图标控件具有有意义的可访问名称,表单标签唯一,键盘顺序和焦点可见且合乎逻辑。布局在手机宽度下不再水平溢出,空的主题颜色控制台警告也已消失。 - 在 CI 中检查:针对控制台卫生和可访问性的真实浏览器冒烟测试现在会在每个拉取请求上运行,并对发布镜像进行门控。 - 更少阅读量:场景页面不再在第二个展开器中重复飞行前摘要,也不再解释其自身状态管理。 |
| 模型注册表刷新 | - 最新模型:模型列表已根据各提供商的当前文档刷新——GPT-6 Astra 位居 OpenAI 列表首位,Claude Opus 5.5、Claude Opus 5 和 Claude Fable 5.1 加入 Anthropic 列表,Google 新增 Gemini 3.8 Flash 以及 Gemini 3.5 Flash Lite,每种情况下都保留一个上一代模型以保持连续性。Anthropic 的列表现在以 Claude Opus 5.5 为首——即您未选择时的侧边栏默认值——而非更昂贵的 Fable 5.1。 - 移除已退役条目:删除了提供商已取代或关闭的 id——Claude Opus 4.7 和 4.8(在 Opus 5.5 发布后已落后超过一个 Opus 代际)以及 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 起才存在的类型特性。 - 已修补的基础镜像:Docker 镜像基于当前的 python:3.14-slim 重新构建,清除了 Trivy 标记的 Debian 基础镜像 CVE,包括 perl-base 中的三个严重漏洞。- 失败调用的真实错误:现在声明了 tenacity,因此失败的模型调用会报告提供商的实际错误(例如无效的 API 密钥),而不是提示安装 tenacity。- 反馈与其场景保持一致:评分记录在产生屏幕上场景的那次运行上,绝不会记录到另一个页面的最新运行上。 |
更早的版本(v0.16 及更早)
v0.16
| 新增内容? | 有何用处? |
|---|---|
| 基础场景优先生成 | - 等待前先有场景:生成现在分阶段运行——基础场景首先渲染,其 Download Scenario 和 Download ATT&CK Navigator Layer 按钮已可用,可选的紫队叙述随后流式传入。如果第二遍很慢,或者您不需要它,场景可以立即使用,而不是等到一切完成才提供。 - 输入在 Generate 时冻结:每次运行都基于您按下 Generate 那一刻拍摄的快照,因此运行中途更改侧边栏不会半途重写正在生成的场景。 - 诚实的进度:运行中的已用时间标签和命名的阶段——准备输入、生成基础场景、构建确定性导出、生成紫队叙述——显示长时间运行实际进展到了哪里。 |
| 中立、无死胡同的选择器 | - 仅提供有效的选项:威胁组织和案例研究选择器现在仅提供实际能产生场景的选项,因此选择不再会导致死胡同。 - 自然排序:组织按自然数字顺序排序,因此 APT3 排在 APT28 和 APT30 之前,而不是按文本排序并落在它们之间。 |
| 每个页面共享的 Setup 侧边栏 | - 一次设置:提供商、模型、框架、行业和公司规模现在位于每个场景页面(Threat Group、Custom 和 AI Insider Threat)上单一的共享 Setup 侧边栏中——而不是在每个页面上重新输入。 - 导航后依然保留:非机密选择在页面间移动时持久保留,并镜像到 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 现在跟踪工作流操作本身。 |