attackgen
AttackGen 是一款专为网络安全应急响应设计的智能测试工具。它巧妙结合了大型语言模型的生成能力与权威的 MITRE ATT&CK 及 ATLAS 框架,能够根据用户指定的威胁组织、行业背景及企业规模,自动生成高度定制的应急演练场景。
该工具主要解决了传统安全演练中场景构建耗时久、针对性不强以及难以覆盖新兴 AI 威胁的痛点。通过 AttackGen,安全团队可以快速获得包含具体攻击技战术细节的实战化剧本,从而高效检验和提升组织的应急响应能力。
它非常适合网络安全分析师、红蓝对抗团队成员、安全研究人员以及负责制定应急预案的企业安全负责人使用。无论是针对传统企业网络、工业控制系统(ICS),还是前沿的人工智能系统,AttackGen 都能提供专业支持。
其独特亮点在于全面支持最新的 MITRE ATLAS 框架,内置了 45 个真实的 AI 攻击案例(如提示词注入、模型窃取等)和专用模板,填补了 AI 安全演练的空白。此外,AttackGen 兼容多种主流大模型接口,提供交互式助手辅助调整场景,并支持 Docker 一键部署,让复杂的安全测试变得灵活且易于上手。
使用场景
某金融科技公司安全团队正筹备年度红蓝对抗演练,急需针对其新上线的 AI 信贷风控系统设计高仿真的攻击剧本。
没有 attackgen 时
- 人工梳理 MITRE ATLAS 框架中关于“提示词注入”或“模型窃取”的技战术耗时费力,难以将理论映射到具体业务场景。
- 设计的演练脚本往往通用性太强,缺乏针对金融行业特性和特定威胁组织(如 APT29)行为特征的深度定制。
- 团队需花费数天时间手动编写背景故事和攻击步骤,且难以覆盖最新的 AI 攻击案例(如数据投毒),导致演练覆盖面窄。
- 缺乏标准化的文档输出格式,不同成员编写的剧本风格不一,增加了后续复盘和评估的难度。
使用 attackgen 后
- 直接选定"AI 供应链攻击”模板并输入公司规模与行业,attackgen 瞬间生成包含完整攻击链的定制化场景,精准对应 ATLAS 技术点。
- 基于选定的威胁组织画像,attackgen 自动融合真实案例细节,生成的剧本高度贴合金融风控系统的实际架构与潜在弱点。
- 利用内置的 45+ 个真实 AI 攻击案例库,attackgen 快速构建出涵盖模型逃避、大模型越狱等前沿攻击手法的多样化演练内容。
- 一键导出结构清晰的 Markdown 格式报告,并通过 AttackGen Assistant 对话接口实时调整剧本细节,大幅提升了文档标准化程度。
attackgen 将原本需要数天的复杂剧本设计工作缩短至分钟级,让安全团队能专注于防御策略的验证而非素材的搜集。
运行环境要求
- 未说明 (支持 Docker,理论上兼容所有主流操作系统)
- 非必需 (主要依赖云端 API 或本地 Ollama
- 若使用本地大模型,需求取决于具体模型)
未说明

快速开始
AttackGen
AttackGen 是一款网络安全事件响应测试工具,它利用大型语言模型的强大功能以及全面的 MITRE ATT&CK 和 ATLAS 框架。该工具会根据用户选择的威胁行为者组织、AI 攻击案例研究以及贵组织的具体信息,生成量身定制的事件响应场景。
目录
给仓库加星
如果您觉得 AttackGen 很有用,请考虑在 GitHub 上为本仓库加星。这将帮助更多人发现这款工具。您的支持对我们来说意义重大!⭐
功能
- 根据所选的威胁行为者组织或 ATLAS 案例研究,生成独特的事件响应场景。
- 允许您指定组织规模和行业,以获得量身定制的场景。
- 支持 MITRE ATT&CK 企业版、ICS(工业控制系统)以及 ATLAS(面向 AI 系统的对抗性威胁态势)框架。
- 显示所选威胁行为者组织或案例研究使用的详细技术列表。
- 基于选定的 ATT&CK 或 ATLAS 技术创建自定义场景。
- 使用场景模板快速生成基于常见类型网络事件的自定义场景,包括针对 AI/ML 的特定攻击模式。
- AttackGen 助手——一个用于更新和/或询问生成场景相关问题的聊天界面。
- 捕获用户对生成场景质量的反馈。
- 可下载的 Markdown 格式场景。
- 可使用 OpenAI API、Anthropic API(Claude 模型)、Azure OpenAI 服务、Google AI API、Mistral API、Groq API、本地托管的 Ollama 模型,或自定义的 OpenAI 兼容 API 端点来生成事件响应场景。
- 提供 Docker 容器镜像,便于部署。
- 可选集成 LangSmith,以实现强大的调试、测试和模型性能监控。
- 使用 .env 文件安全地管理 API 密钥和密钥等凭据。

版本发布
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 来处理所有支持的模型,提供统一且增强的接口。 |
| 最新 Frontier 模型支持 | - 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 弃用警告:将已弃用的 use_container_width 参数替换为新的 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 Preview、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 一半的情况下,以两倍的速度生成场景。 |
v0.5
| 有哪些新功能? | 为什么有用? |
|---|---|
| AttackGen 助手 | - 场景迭代优化:新的聊天界面允许用户与其生成的事件响应场景进行交互,轻松更新场景并提出相关问题,而无需从头重新生成。这一特性实现了场景开发的迭代式方法,用户可以根据 AI 助手的回复不断优化和完善场景。 - 上下文辅助:AI 助手会根据生成场景的上下文及对话历史来回应用户的提问,从而确保助手的回答与场景优化相关且有帮助。 |
| 自定义场景快速启动模板 | - 快速场景生成:用户现在可以根据常见类型的网络事件(如钓鱼攻击、勒索软件攻击、恶意软件感染和内部威胁)的预定义模板,快速生成自定义事件响应场景。这一功能使创建真实场景变得更加容易,无需单独选择 ATT&CK 技术。 - 流程简化:模板选择已无缝集成到自定义场景生成流程中。用户可以选择一个模板,系统会自动填充相关的 ATT&CK 技术,随后可根据需要进一步自定义场景。 |
| Google AI API 集成 | - 模型选项扩展:AttackGen now supports the use of Google's Gemini models for generating incident response scenarios. This integration expands the range of high-quality models available to users, allowing them to leverage Google's AI capabilities for creating realistic and diverse scenarios. |
v0.4
| 有哪些新功能? | 为什么有用? |
|---|---|
| Mistral API 集成 | - 替代模型提供商:用户现在可以利用 Mistral AI 的模型生成事件响应场景。这一集成为 OpenAI 和 Azure OpenAI Service 模型提供了替代方案,使用户能够探索和比较不同语言模型在其特定用例中的表现。 |
| 使用 Ollama 支持本地模型 | - 本地模型托管:AttackGen 现在通过与 Ollama 的集成,支持使用本地部署的大规模语言模型。此功能对具有严格数据隐私要求或倾向于将数据保留在本地的企业尤为有用。请注意,此功能不适用于在 Streamlit Community Cloud 上托管的 AttackGen 版本用户,网址为 https://attackgen.streamlit.app |
| 可选的 LangSmith 集成 | - 灵活性提升:与 LangSmith 的集成现已成为可选项。如果未提供 LangChain API 密钥,用户将看到一条提示信息,说明此次运行不会被 LangSmith 记录,而不是抛出错误。这一改动提升了整体用户体验,使用户无需依赖 LangSmith 即可继续使用 AttackGen。 |
| 各种错误修复和改进 | - 用户体验提升:本次发布包含多项错误修复和用户界面改进,使 AttackGen 更加易用且稳定。 |
v0.3
| 有哪些新功能? | 为什么有用? |
|---|---|
| Azure OpenAI 服务集成 | - 更强的集成性:用户现在可以选择使用部署在 Azure OpenAI 服务上的 OpenAI 模型,而不仅仅是标准的 OpenAI API。这种集成提供了一种无缝且安全的解决方案,可将 AttackGen 融入现有的 Azure 生态系统中,同时利用已建立的商业和保密协议。 - 数据安全性提升:从 Azure 运行 AttackGen 可确保应用程序描述及其他数据始终保留在 Azure 环境内,非常适合在其威胁模型中处理敏感数据的企业。 |
| LangSmith 用于 Azure OpenAI 服务 | - 更强大的调试功能:现在可以对使用 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.spinner 组件替换为新的 st.status 组件 |
- 为长时间运行的任务(如场景生成)提供更好的可见性。 |
v0.1
初始版本。
需求
- 最新版本的 Python。
- Python 包:pandas、streamlit,以及自定义库(langchain 和 mitreattack)所需的其他包。
- OpenAI API 密钥(或您所选模型提供商的 API 密钥)。
- LangChain API 密钥(可选)——有关详细信息,请参阅下方的 [LangSmith 设置] 部分。
- 数据文件:
enterprise-attack.json和ics-attack.json(STIX 格式的 MITRE ATT&CK 数据集),以及groups.json。 - 用于存储 API 密钥和密钥的
.env文件(详情请参阅 [安装] 部分)。
安装
方法 1:克隆仓库
- 克隆本仓库:
git clone https://github.com/mrwadams/attackgen.git
- 进入克隆后的仓库目录:
cd attackgen
- 安装所需的 Python 包:
pip install -r requirements.txt
方法 2:使用 Docker
- 从 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 字段留空。
数据准备
从 这里 下载最新版本的 STIX 格式 MITRE ATT&CK 数据集。请确保将其放置在仓库内的 ./data/ 目录中。
运行 AttackGen
完成数据准备后,您可以通过以下命令运行 AttackGen:
streamlit run 00_👋_Welcome.py
您也可以在 Streamlit Community Cloud 上试用该应用。
使用方法
运行 AttackGen
方法 1:本地运行 Streamlit 应用程序
- 运行 Streamlit 应用程序:
streamlit run 00_👋_Welcome.py
- 打开您的浏览器,访问 Streamlit 提供的 URL。
- 使用该应用生成标准或自定义的事件响应场景(详情见下文)。
方法 2:使用 Docker 容器镜像
- 运行 Docker 容器:
docker run -p 8501:8501 mrwadams/attackgen
此命令将启动容器,并将容器内的 8501 端口(Streamlit 应用程序的默认端口)映射到您的主机。
2. 打开您的浏览器,访问 http://localhost:8501。
3. 使用该应用生成标准或自定义的事件响应场景(详情见下文)。
生成场景
标准场景生成
- 选择使用 OpenAI API、Azure OpenAI 服务、Google AI API、Mistral API、Groq API,或本地托管的 Ollama 模型。
- 输入所选模型提供商的 API 密钥,或在 Azure OpenAI 服务上使用的模型的 API 密钥及部署详情。
- 从下拉菜单中选择您偏好的模型。
- 从下拉菜单中选择贵组织的行业和规模。
- 导航到“威胁组织场景”页面。
- 选择您想要模拟的威胁行为者组织。
- 点击“生成场景”以创建事件响应场景。
- 使用 👍 或 👎 按钮对生成场景的质量进行反馈。请注意:反馈按钮仅在
.streamlit/secrets.toml文件中设置了 LANGCHAIN_API_KEY 值时才会显示。
自定义场景生成
- 选择使用 OpenAI API、Azure OpenAI 服务、Google AI API、Mistral API、Groq API,或本地托管的 Ollama 模型。
- 输入所选模型提供商的 API 密钥,或在 Azure OpenAI 服务上使用的模型的 API 密钥及部署详情。
- 从下拉菜单中选择您偏好的模型。
- 从下拉菜单中选择贵组织的行业和规模。
- 导航到“自定义场景”页面。
- 使用多选框搜索并选择与您的场景相关的 ATT&CK 技术。
- 点击“生成场景”以根据所选技术创建自定义的事件响应测试场景。
- 使用 👍 或 👎 按钮对生成场景的质量进行反馈。请注意:反馈按钮仅在
.streamlit/secrets.toml文件中设置了 LANGCHAIN_API_KEY 值时才会显示。
请注意,生成场景可能需要一两分钟的时间。场景生成完成后,您可以在应用中查看它,也可以将其下载为 Markdown 文件。
安全最佳实践
AttackGen 专为本地单用户部署而设计。在使用该工具时:
保护您的 API 密钥
您的 API 密钥是敏感凭据,可能会导致您的账户产生费用。
✅ 请这样做:
- 通过 UI 输入 API 密钥(它们仅保留在您的浏览器会话中)
- 在个人电脑上使用 .env 文件以方便管理
- 在 LLM 提供商的仪表板中设置支出限额
- 定期检查您的 API 使用情况和费用
- 在共享计算机上使用后清除会话数据
❌ 不要:
- 将 .env 文件提交到版本控制系统(已包含在 .gitignore 中)
- 分享包含可见 API 密钥的截图
- 在不受信任或已被入侵的系统上运行 AttackGen
- 与他人共享您的 API 密钥
- 忽视意外的 API 费用
数据隐私注意事项
当您生成场景时,AttackGen 会将数据发送到您选择的 LLM 提供商:
- 组织详细信息(行业、公司规模)
- 所选的 ATT&CK 技术
- 自定义输入文本
- 生成的场景(通过 AttackGen 助手)
这意味着:
- OpenAI、Anthropic 等可能会根据其隐私政策记录这些数据
- 在演示时,请考虑使用通用或虚构的组织信息
- 请仔细阅读您的 LLM 提供商的数据保留和隐私政策
- 对于敏感用途,请考虑选择具有更严格隐私保障的服务提供商
团队/组织部署
如果要为多个用户部署 AttackGen(这不是默认用法):
- 添加身份验证和授权功能(默认不包含)
- 使用密钥管理服务来存储 API 密钥
- 将部署置于 VPN 或内部网络之后
- 查阅此威胁模型文档以获取更多注意事项
- 考虑数据驻留和合规性要求
依赖项安全
我们定期维护依赖项并监控漏洞:
- 定期更新依赖项
- 在 GitHub Issues 中跟踪安全公告
- 运行
pip list --outdated来检查是否有更新 - 可以考虑使用
pip-audit进行漏洞扫描
报告安全问题
发现安全问题了吗?请负责任地报告:
- 通过 GitHub 的私有漏洞报告创建安全公告
- 不要在公开场合发布安全问题
- 我们将在 48 小时内确认收到
- 修复将被优先处理并尽快发布
贡献
我非常欢迎对该项目的贡献。请随时提交问题或拉取请求。
许可证
本项目采用 GNU GPLv3 许可证。
常见问题
相似工具推荐
openclaw
OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你
stable-diffusion-webui
stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。
everything-claude-code
everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上
opencode
OpenCode 是一款开源的 AI 编程助手(Coding Agent),旨在像一位智能搭档一样融入您的开发流程。它不仅仅是一个代码补全插件,而是一个能够理解项目上下文、自主规划任务并执行复杂编码操作的智能体。无论是生成全新功能、重构现有代码,还是排查难以定位的 Bug,OpenCode 都能通过自然语言交互高效完成,显著减少开发者在重复性劳动和上下文切换上的时间消耗。 这款工具专为软件开发者、工程师及技术研究人员设计,特别适合希望利用大模型能力来提升编码效率、加速原型开发或处理遗留代码维护的专业人群。其核心亮点在于完全开源的架构,这意味着用户可以审查代码逻辑、自定义行为策略,甚至私有化部署以保障数据安全,彻底打破了传统闭源 AI 助手的“黑盒”限制。 在技术体验上,OpenCode 提供了灵活的终端界面(Terminal UI)和正在测试中的桌面应用程序,支持 macOS、Windows 及 Linux 全平台。它兼容多种包管理工具,安装便捷,并能无缝集成到现有的开发环境中。无论您是追求极致控制权的资深极客,还是渴望提升产出的独立开发者,OpenCode 都提供了一个透明、可信
ComfyUI
ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。
gemini-cli
gemini-cli 是一款由谷歌推出的开源 AI 命令行工具,它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言,它提供了一条从输入提示词到获取模型响应的最短路径,无需切换窗口即可享受智能辅助。 这款工具主要解决了开发过程中频繁上下文切换的痛点,让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用,还是执行复杂的 Git 操作,gemini-cli 都能通过自然语言指令高效处理。 它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口,具备出色的逻辑推理能力;内置 Google 搜索、文件操作及 Shell 命令执行等实用工具;更独特的是,它支持 MCP(模型上下文协议),允许用户灵活扩展自定义集成,连接如图像生成等外部能力。此外,个人谷歌账号即可享受免费的额度支持,且项目基于 Apache 2.0 协议完全开源,是提升终端工作效率的理想助手。