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 的步骤)

  1. 先决条件 – Python 3.14+,Docker(可选),以及你打算使用的 LLM 提供商的 API 密钥。
  2. 克隆与安装
    git clone https://github.com/mrwadams/attackgen.git
    cd attackgen
    pip install -r requirements.txt   # 安装 Streamlit、LiteLLM 等
    
  3. 配置 – 创建一个包含所需密钥的 .env 文件,例如
    OPENAI_API_KEY=sk-…
    ANTHROPIC_API_KEY=…
    
  4. 本地运行
    streamlit run app.py
    
    UI 将在你的浏览器中显示。
  5. Docker 替代方案
    docker build -t attackgen .
    docker run -p 8501:8501 --env-file .env attackgen
    
  6. 可选的 LangSmith – 按照“LangSmith 设置”部分添加 LANGCHAIN_API_KEY 并启用追踪。
  7. MCP 服务器 – 对于代理客户端,使用以下命令启动 FastMCP 服务器:
    python -m mcp_server
    
    此操作将暴露数据工具和生成工具端点,可供其他 LangChain 代理调用。

典型工作流程(用户视角)

  1. 设置侧边栏 – 选择 LLM 提供商/模型、组织规模/行业,以及是否需要紫队叙事。
  2. 选择来源 – 选择 MITRE ATT&CK 威胁组、ATLAS 案例研究或 AI 内部威胁模板。
  3. 生成 – 点击 Generate;UI 将显示进度阶段(输入准备 → 基础场景 → 导出 → 可选叙事)。
  4. 审查 – 结果页面显示 Markdown 场景、带导航快捷方式的紧凑摘要,以及检测与响应部分。
  5. 优化 – 打开“AttackGen 助手”聊天,请求修改、补充细节或调整防御者叙事。
  6. 导出 – 下载场景、ATT&CK Navigator 层和检测报告,用于桌面推演演练。

最新亮点(v0.16)

  • 先生成基础场景 – 用户可立即获得可用场景;可选的防御者叙事稍后流式输出。
  • 引导式、健壮的工作流 – UI 在所有必需输入完成前禁用“生成”按钮,并显示简洁的预运行摘要。
  • 中立的选择器 – 威胁组和案例研究下拉菜单仅列出实际可生成场景的选项,避免死胡同。
  • 安全加固 – CI 现在在发现 pip-audit、Bandit 和 Trivy 问题时失败;Docker 基础镜像升级为 python:3.14-slim

许可与贡献

  • 本项目采用 MIT 许可证 发布。
  • 欢迎贡献;请参阅 Contributing 部分了解指南。

总结 – AttackGen 是一个真实且持续维护的开源工具,利用现代 LLM API 自动化生成丰富、符合 MITRE 标准的网络事件响应场景,包括创新的 AI 内部威胁演练。它完全属于人工智能增强型网络安全领域。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目