关于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传送门】
参考资料
https://github.com/mrwadams/attackgen#langsmith-setup