attackgen

选威胁组织,一键生成定制化应急演练剧本

AttackGen 是一个面向网络安全应急响应测试的开源工具,它把大语言模型与 MITRE ATT&CK 框架结合起来,帮助安全团队快速生成贴近真实攻击手法的演练场景。用户只需选择特定的威胁组织(如 APT 组织)并填写自己组织的行业、规模、技术栈等信息,工具就会自动产出定制化的应急响应剧本,覆盖攻击链各阶段。它解决的核心问题是:传统红蓝对抗和桌面推演准备成本高、场景单一、难以匹配真实威胁,而 AttackGen 用生成式 AI 把这一过程自动化,降低门槛。核心能力包括:基于 MITRE ATT&CK 的威胁组织选择、组织画像输入、LLM 驱动的场景生成,以及可交互的 Streamlit 界面。适合安全运营、紫队演练和应急响应培训使用。

开源 free 行业应用
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 1242
维护状态 活跃
是否开源
定价模式 free

项目数据

分类行业应用
开发团队mrwadams
所属国家
官网地址
定价模式free
价格说明开源免费,需自行部署,定价信息待确认
访问状态
是否开源
开源协议GPL-3.0
主要语言Python
技术栈/模型ai-security,cybersecurity,generative-ai,incident-response,llm,mitre-atlas,mitre-attack,purple-team,security-tools,streamlit,tabletop-exercise,threat-intelligence
GitHub 星标★ 1242
30天Star增速
HF 下载量
上线时间2023-08-08 00:00:00
最近更新2026-09-14 00:00:00
维护状态活跃
中文支持
访问方式
移动端支持
综合评分
收录时间2026-09-15
浏览次数0

使用教程

难度:入门 约 10 分钟 部署方式:本地安装 6 步

环境要求

  • Python 环境(用于本地安装依赖并运行 Streamlit 应用)
  • 已安装 Streamlit(本地运行方式需要 streamlit 命令)
  • 可选的 Docker 环境(使用官方镜像方式运行时需要)
  • 大模型/LangChain 相关服务的 API Key(在 secrets.toml 中配置,不用 LangSmith 时可留空)

安装与启动步骤

  1. 1获取项目代码

    把 GitHub 仓库克隆到本地,仓库已自带 data/ 目录下的 ATT&CK 与 ATLAS 数据,克隆后可直接运行。

    git clone https://github.com/mrwadams/attackgen.git
    cd attackgen
  2. 2创建密钥文件

    README 要求必须有 .streamlit/secrets.toml,可复制目录中的 secrets.toml-example 作为模板;不用 LangSmith 也要保留该文件。

    cp .streamlit/secrets.toml-example .streamlit/secrets.toml
  3. 3安装依赖

    安装 requirements.txt 中的依赖,其中已包含 mcp;可编辑安装以获得 attackgen-mcp 命令。

    pip install -r requirements.txt
  4. 4启动本地应用

    在项目根目录用 Streamlit 运行欢迎页脚本,终端会输出访问地址。

    streamlit run 00__Welcome.py
  5. 5或用 Docker 运行

    不想装 Python 依赖时,直接拉取官方镜像并运行,把容器 8501 端口映射到本机。

    docker pull mrwadams/attackgen
    docker run -p 8501:8501 mrwadams/attackgen
  6. 6打开界面使用

    浏览器访问 Streamlit 给出的地址(Docker 方式为 http://localhost:8501),选择威胁组织并填写组织信息生成场景。

关键配置

配置项必填说明示例
LANGCHAIN_API_KEYLangSmith 追踪用的 LangChain API Key,不使用 LangSmith 时可留空lsv2_pt_xxxxxxxxxxxxxxxx

如何确认成功

终端出现 Streamlit 本地访问地址,或浏览器打开 http://localhost:8501 能看到 AttackGen 欢迎页并正常选择威胁组织。

常见问题

Q:没有 LangSmith 账号还需要配置 secrets.toml 吗?

A:需要。README 明确说明即使不用 LangSmith,也必须存在 .streamlit/secrets.toml 文件,只是把 LANGCHAIN_API_KEY 字段留空即可。

Q:需要额外下载 MITRE ATT&CK / ATLAS 数据吗?

A:不需要。enterprise-attack.json、ics-attack.json、stix-atlas.json、groups.json、groups_ics.json、atlas-case-studies.json 已提交在 ./data/ 目录,新克隆即可直接运行。

Q:数据想更新到最新版本怎么办?

A:可从 MITRE ATT&CK STIX 数据仓库和 ATLAS 数据仓库重新下载 STIX 包,替换 ./data/ 目录下对应文件即可。

Q:不想本地安装,有在线体验方式吗?

A:README 提供了 Streamlit Community Cloud 在线版本,可直接访问 https://attackgen.streamlit.app/ 试用。

注意事项

  • README 中提到的 secrets.toml-example 位于 .streamlit/ 目录,可据此填写自己的密钥。
  • 团队/多用户部署时官方默认不含认证授权,建议自行补充登录鉴权、用密钥管理服务保存 API Key,并部署在 VPN 或内网之后。
  • 生成场景时需要在界面中选择威胁组织(或 ATLAS 案例/自定义技术),并填写组织的规模与行业信息才能得到定制化剧本。

核心亮点

  • 将 MITRE ATT&CK 战术技术与 LLM 生成结合,场景贴合真实攻击链
  • 支持按组织画像定制,比通用剧本更有针对性
  • 提供 Streamlit 交互界面,上手门槛低,无需编写代码

不足之处

  • 依赖外部 LLM API,生成质量与成本受模型和网络影响
  • 场景生成后缺少自动化验证或评分机制,需人工判断可用性

适用场景

  • 企业安全团队定期开展桌面推演,快速准备演练材料
  • 紫队演练中针对特定 APT 组织模拟攻击场景
  • 安全培训课程中生成多样化应急响应案例

替代项目

Caldera、Atomic Red Team

项目介绍

attackgen 是行业应用领域的开源项目,由 mrwadams 开发,2023 年首次发布。

在全站 12,753 个收录项目中,它的 GitHub 星标数(1,242)位列前 30%,在行业应用分类中处于中上游。

项目目前处于活跃维护状态,最近一次代码更新于 2026-09-14。开源免费,需自行部署。

它主要面向的使用场景是:企业安全团队定期开展桌面推演,快速准备演练材料。同类可对比的替代方案包括 Caldera、Atomic Red Team。

上一篇:epub-translator

下一篇:airecon

同类项目推荐

xmgai-like 开源

换脸、艺术二维码随手玩,副业灵感一包带走。

本开源 AI 副业搞钱项目集成了强大功能,包括 AI 艺术二维码生成、AI 换脸、Delle3 绘画等···

★ 60 2026-08-09
spoken-to-signed-translation 开源

把口语文本一路转成手语视频的流水线

a text-to-gloss-to-pose-to-video pipeline for spoken to signed language translation

★ 101 2026-09-11
LiveTranslate 开源

直播看片实时翻译,字幕秒出,跨语言无压力

Real-time audio translation, captures system audio + mic, runs ASR (Whisper/SenseVoi···

★ 681 2026-08-13