前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >AttackGen:一款基于LLM的网络安全事件响应测试工具

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

作者头像
FB客服
发布2024-07-10 16:19:31
830
发布2024-07-10 16:19:31
举报
文章被收录于专栏:FreeBuf
关于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 密钥(可选)【https://www.freebuf.com/sectool/405042.html#langsmith-setup】; 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环境。

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

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

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

代码语言:javascript
复制
cd attackgen

pip install -r requirements

Docker使用

代码语言:javascript
复制


docker pull mrwadams/attackgen

工具配置

LangSmith 设置

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

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

数据设置

点击【https://github.com/mitre-attack/attack-stix-data/blob/master/enterprise-attack/enterprise-attack.json】下载最新版本的STIX格式的MITRE ATT&CK数据集。确保将此文件放在项目的./data/目录中。

工具使用

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

代码语言:javascript
复制
streamlit run Welcome.py

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

运行Streamlit应用程序:

代码语言:javascript
复制
streamlit run Welcome.py

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

选项 2:使用 Docker 容器镜像

代码语言:javascript
复制
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:

https://github.com/mrwadams/attackgen

https://github.com/mrwadams/attackgen#langsmith-setup https://docs.smith.langchain.com/ https://github.com/mitre-attack/attack-stix-data/blob/master/enterprise-attack/enterprise-attack.json https://attackgen.streamlit.app/

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-07-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FreeBuf 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • AttackGen是一款功能强大的网络安全事件响应测试工具,该工具利用了大语言模型和MITRE ATT&CK框架的强大功能,并且能够根据研究人员选择的威胁行为组织以及自己组织的详细信息生成定制化的事件响应场景。
    • 源码安装
      • Docker使用
        • LangSmith 设置
          • 数据设置
            • 选项 1:在本地运行Streamlit应用
              • 选项 2:使用 Docker 容器镜像
                • 标准场景生成
                  • 自定义场景生成
                  相关产品与服务
                  容器服务
                  腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
                  领券
                  问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档