AttackGen:一款基于LLM的网络安全事件响应测试工具

关于AttackGen

AttackGen是一款功能强大的网络安全事件响应测试工具,该工具利用了大语言模型和MITRE ATT&CK框架的强大功能,并且能够根据研究人员选择的威胁行为组织以及自己组织的详细信息生成定制化的事件响应场景。

功能介绍

1、根据所选的威胁行为组织生成定制化的事件响应场景。

2、允许指定组织的规模和行业,以实现定制化方案。

3、根据MITRE ATT&CK框架,显示所选威胁行为组织使用的技术详细列表。

4、根据选择的ATT&CK技术创建自定义场景。

5、使用场景模板根据常见类型的网络事件快速生成自定义场景。

6、AttackGen助手,可用于更新或询问有关生成场景的问题聊天界面。

7、获取用户对生成场景质量的反馈。

8、提供了可下载的Markdown格式场景。

9、使用OpenAI API、Azure OpenAI服务、Google AI API、Mistral API 或本地托管的Ollama 模型来生成事件响应场景。

10、可作为 Docker 容器映像使用,以便于部署。

11、可选与LangSmith集成,以实现强大的调试、测试和模型性能监控。

12、GPT-4o 模型支持。

工具要求

1、Python 3.x;

2、Python包:pandas、streamlit以及自定义库所需的任何其他包(langchain和mitreattack);

3、OpenAI API 密钥;

4、LangChain API 密钥(可选)【文档】;

5、数据文件:enterprise-attack.json(STIX 格式的 MITRE ATT&CK 数据集)和groups.json;

工具依赖

langchain

langchain-core

langchain-community

langchain-google-genai

langchain-mistralai

langchain-openai

langsmith

mitreattack-python

openai

pandas

setuptools

streamlit

工具安装

源码安装

由于该工具基于Python 3开发,因此我们首先需要在本地设备上安装并配置好最新版本的Python 3环境。

接下来,广大研究人员可以直接使用下列命令将该项目源码克隆至本地:

复制代码
git clone https://github.com/mrwadams/attackgen.git

然后切换到项目目录中,使用pip命令和项目提供的requirements.txt安装该工具所需的其他依赖组件:

复制代码
cd attackgen

pip install -r requirements

Docker使用

复制代码
docker pull mrwadams/attackgen

工具配置

LangSmith 设置

如果你想使用LangSmith来调试、测试和监控模型性能,你需要设置一个LangSmith帐户然后创建一个.streamlit/secrets.toml说明,并写入你的LangChain API密钥。项目目录的.streamlit/路径下有一个secrets.toml-example文件,可以将其作为模板创建我们自己的 secrets.toml 文件。

如果你不想使用LangSmith,仍然必须要有一个.streamlit/secrets.toml文件,但可以将其中的LANGCHAIN_API_KEY字段留空。

数据设置

点击【这里】下载最新版本的STIX格式的MITRE ATT&CK数据集。确保将此文件放在项目的./data/目录中。

工具使用

数据设置完成后,可以使用以下命令运行 AttackGen:

复制代码
streamlit run Welcome.py

选项 1:在本地运行Streamlit应用

运行Streamlit应用程序:

复制代码
streamlit run Welcome.py

打开您Web浏览器并导航到Streamlit提供的URL,并使用该应用程序生成标准或自定义的事件响应场景。

选项 2:使用 Docker 容器镜像

复制代码
docker run -p 8501:8501 mrwadams/attackgen

此命令将启动容器并将端口8501(Streamlit应用程序的默认端口)从容器映射到你的主机。接下来,打开Web浏览器并导航到http://localhost:8501,然后使用该应用程序生成标准或自定义事件响应场景。

生成场景

标准场景生成

1、选择使用OpenAI API还是Azure OpenAI服务。

2、输入OpenAI API密钥,或者Azure OpenAI服务上模型API密钥,以及部署详细信息。

3、从下拉菜单中选择所在组织的行业和规模。

4、导航至"威胁行为组织场景"页面。

5、选择想要模拟的威胁行为组织。

6、点击"生成场景"来创建事件响应场景。

7、使用按钮对生成场景的质量提供反馈。

自定义场景生成

1、选择使用OpenAI API还是Azure OpenAI服务。

2、输入OpenAI API密钥,或者Azure OpenAI服务上模型API密钥,以及部署详细信息。

3、从下拉菜单中选择组织的行业和规模。

4、导航至"自定义场景"页面。

5、使用多选框搜索并选择与场景相关的ATT&CK技术。

6、单击"生成场景"以根据所选技术创建自定义事件响应测试场景。

7、使用按钮对生成场景的质量提供反馈。

请注意,生成场景可能需要一分钟左右的时间。场景生成后,可以在应用程序上查看它,也可以将其下载为 Markdown 文件。

工具运行截图

许可证协议

本项目的开发与发布遵循GNU GPLv3开源许可协议。

项目地址

AttackGen :【GitHub传送门

参考资料

GitHub - 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.

Get started with LangSmith | 🦜️🛠️ LangSmith

attack-stix-data/enterprise-attack/enterprise-attack.json at master · mitre-attack/attack-stix-data · GitHub

https://attackgen.streamlit.app/

相关推荐
黄焖鸡能干四碗2 小时前
网络安全态势报告,网络安全风险评估报告文档
大数据·网络·安全·web安全·信息可视化·需求分析
爱吃烤鸡翅的酸菜鱼4 小时前
网易UU远程全功能技术解构:游戏级性能突围与安全边界探析
安全·游戏·远程工作·uu加速器
dualven_in_csdn6 小时前
【AI编程】国内AI编程工具的选择
安全
byte轻骑兵7 小时前
【安全函数】C语言安全字符串函数详解:告别缓冲区溢出的噩梦
c语言·安全·面试
聚梦小课堂7 小时前
2025.11.16 AI快讯
人工智能·安全·语言模型
金士镧(厦门)新材料有限公司7 小时前
稀土氧化物:材料科技中的“隐形力量”
科技·安全·全文检索
huangwxiao17 小时前
ATT&CK红队评估一
web安全·内网安全·红日靶场
上海云盾安全满满17 小时前
支付网站屡遭CC攻击,高防ip能防CC攻击吗
tcp/ip·安全·web安全
山石网科19 小时前
标准解读|即将实施的三份汽车安全强制性标准
安全·汽车
东方隐侠安全团队-千里20 小时前
第13节 93年高能所被入侵,开启中国网络安全发展进程
网络·安全·web安全