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/

相关推荐
_.Switch21 分钟前
高级Python自动化运维:容器安全与网络策略的深度解析
运维·网络·python·安全·自动化·devops
JokerSZ.25 分钟前
【基于LSM的ELF文件安全模块设计】参考
运维·网络·安全
SafePloy安策28 分钟前
软件加密与授权管理:构建安全高效的软件使用体系
安全
芯盾时代1 小时前
数字身份发展趋势前瞻:身份韧性与安全
运维·安全·网络安全·密码学·信息与通信
北京搜维尔科技有限公司3 小时前
搜维尔科技:【应用】Xsens在荷兰车辆管理局人体工程学评估中的应用
人工智能·安全
云起无垠4 小时前
技术分享 | 大语言模型赋能软件测试:开启智能软件安全新时代
人工智能·安全·语言模型
ac-er88884 小时前
PHP弱类型安全问题
开发语言·安全·php
One_Blanks4 小时前
渗透测试-Linux基础(1)
linux·运维·安全
易云码5 小时前
信息安全建设方案,网络安全等保测评方案,等保技术解决方案,等保总体实施方案(Word原件)
数据库·物联网·安全·web安全·低代码