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 – 基于人工智能的网络事件响应场景生成器
它是什么 – AttackGen 是一个基于 Streamlit 构建的 Web 应用程序,可生成逼真的桌面推演式事件响应演练。它结合了 MITRE ATT&CK、MITRE ATLAS 以及一个新兴的 AI 内部威胁 模型,与大型语言模型(OpenAI、Anthropic、Google、Mistral、Groq 或任何通过 LiteLLM 兼容的 OpenAI 接口)协同工作。用户可以选择威胁行为者组、ATLAS 案例研究或 AI 内部威胁模板,添加组织信息(规模、行业),系统将生成完整的场景、检测与响应报告以及 ATT&CK Navigator 层。
核心功能(如 README 所述)
- 场景生成 – 针对 MITRE ATT&CK Enterprise、ATT&CK ICS 和 ATLAS 威胁组或案例研究量身定制的叙事。
- AI 内部威胁模板 – 场景中由前沿 AI 代理扮演内部人员,依据 Actions Speak Louder Than Tokens 模型(自主性级别、STRIDE 威胁等)驱动。
- 两阶段输出 – 首先交付基础场景;可选的“紫队”叙事(防御者视角)作为第二次模型调用流式输出。
- 检测与响应部分 – 本地数据关联(无需 LLM),将场景中的每个技术映射到 MITRE 检测策略、分析方法、日志源和缓解措施。
- 导出选项 – Markdown 报告、ATT&CK Navigator 层(
.json)以及通过桌面技能生成的紧凑 HTML 版本。 - 助手聊天 – 集成的 LLM 聊天功能允许用户在不离开页面的情况下优化场景或检测叙事。
- 模型无关的后端 – 所有 LLM 调用均通过 LiteLLM 进行,因此添加新模型只需一行配置更改。
- Docker 镜像 – 即开即用的容器,便于部署。
- LangSmith 集成 – 可选的 LLM 调用追踪/监控功能。
- 安全凭证处理 – API 密钥存储在
.env文件中。
如何运行它(基于 README 的步骤)
- 先决条件 – Python 3.14+,Docker(可选),以及你打算使用的 LLM 提供商的 API 密钥。
- 克隆与安装
git clone https://github.com/mrwadams/attackgen.git cd attackgen pip install -r requirements.txt # 安装 Streamlit、LiteLLM 等 - 配置 – 创建一个包含所需密钥的
.env文件,例如OPENAI_API_KEY=sk-… ANTHROPIC_API_KEY=… - 本地运行
UI 将在你的浏览器中显示。streamlit run app.py - Docker 替代方案
docker build -t attackgen . docker run -p 8501:8501 --env-file .env attackgen - 可选的 LangSmith – 按照“LangSmith 设置”部分添加
LANGCHAIN_API_KEY并启用追踪。 - MCP 服务器 – 对于代理客户端,使用以下命令启动 FastMCP 服务器:
此操作将暴露数据工具和生成工具端点,可供其他 LangChain 代理调用。python -m mcp_server
典型工作流程(用户视角)
- 设置侧边栏 – 选择 LLM 提供商/模型、组织规模/行业,以及是否需要紫队叙事。
- 选择来源 – 选择 MITRE ATT&CK 威胁组、ATLAS 案例研究或 AI 内部威胁模板。
- 生成 – 点击 Generate;UI 将显示进度阶段(输入准备 → 基础场景 → 导出 → 可选叙事)。
- 审查 – 结果页面显示 Markdown 场景、带导航快捷方式的紧凑摘要,以及检测与响应部分。
- 优化 – 打开“AttackGen 助手”聊天,请求修改、补充细节或调整防御者叙事。
- 导出 – 下载场景、ATT&CK Navigator 层和检测报告,用于桌面推演演练。
最新亮点(v0.16)
- 先生成基础场景 – 用户可立即获得可用场景;可选的防御者叙事稍后流式输出。
- 引导式、健壮的工作流 – UI 在所有必需输入完成前禁用“生成”按钮,并显示简洁的预运行摘要。
- 中立的选择器 – 威胁组和案例研究下拉菜单仅列出实际可生成场景的选项,避免死胡同。
- 安全加固 – CI 现在在发现 pip-audit、Bandit 和 Trivy 问题时失败;Docker 基础镜像升级为
python:3.14-slim。
许可与贡献
- 本项目采用 MIT 许可证 发布。
- 欢迎贡献;请参阅 Contributing 部分了解指南。
总结 – AttackGen 是一个真实且持续维护的开源工具,利用现代 LLM API 自动化生成丰富、符合 MITRE 标准的网络事件响应场景,包括创新的 AI 内部威胁演练。它完全属于人工智能增强型网络安全领域。
相关
- 项目
- 项目
- 项目
- 项目
- 项目