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

news2024/11/16 0:25:07

关于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/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1901175.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

springboot项目多模块工程==1搭建

1、新建父工程 采用springboot工程作为父工程搭建方便依赖选择,在这个基础上进行maven的pom父子模块结构调整。该工程选择mave进行依赖管理 2、springboot 版本及相关依赖选择 3、删除工程目录src,并修改pom 由于该父工程只作为依赖的统一管理,因此将…

Python实战训练(方程与拟合曲线)

1.方程 求e^x-派(3.14)的解 用二分法来求解,先简单算出解所在的区间,然后用迭代法求逼近解,一般不能得到精准的解,所以设置一个能满足自己进度的标准来判断解是否满足 这里打印出解x0是因为在递归过程中…

CentOS 7安装Elasticsearch7.7.0和Kibana

一. 准备安装包 elasticsearch和kibana:官网历史版本找到并下载(https://www.elastic.co/cn/downloads/past-releases#elasticsearch)ik分词器:GitHub下载(https://github.com/infinilabs/analysis-ik/releases/tag/v…

3.js - 裁剪平面(clipIntersection:交集、并集)

看图 代码 // ts-nocheck// 引入three.js import * as THREE from three// 导入轨道控制器 import { OrbitControls } from three/examples/jsm/controls/OrbitControls// 导入lil.gui import { GUI } from three/examples/jsm/libs/lil-gui.module.min.js// 导入tween import …

Interpretability 与 Explainability 机器学习

「AI秘籍」系列课程: 人工智能应用数学基础人工智能Python基础人工智能基础核心知识人工智能BI核心知识人工智能CV核心知识 Interpretability 模型和 Explainability 模型之间的区别以及为什么它可能不那么重要 当你第一次深入可解释机器学习领域时,你会…

WEB编程-了解Tomcat服务器

第⼀章⽹络编程 1.1 概述 计算机⽹络:是指将地理位置不同的具有独⽴功能的多台计算机及其外部设备,通过通信线路连接起来,在⽹络 操作系统、⽹络管理软件及⽹络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。 …

cs224n作业3 代码及运行结果

代码里要求用pytorch1.0.0版本,其实不用也可以的。 【删掉run.py里的assert(torch.version “1.0.0”)即可】 代码里面也有提示让你实现什么,弄懂代码什么意思基本就可以了,看多了感觉大框架都大差不差。多看多练慢慢来,加油&am…

前端位置布局汇总

1、位置:绝对位置和相对位置 绝对位置 style"position: absolute;left: 218px;top: 0%;" style"position: absolute;bottom:5px;right:5px ;" 相对位置 :margin外边距 padding内边距 style"border:1px solid black;width:200px;text-ali…

vue事件处理v-on或@

事件处理v-on或 我们可以使用v-on指令(简写)来监听DOM事件,并在事件触发时执行对应的Javascript。用法:v-on:click"methodName"或click"hander" 事件处理器的值可以是: 内敛事件处理器&#xff1…

Yolo v7网络实现细节(一)

Yolo v7网络实现细节 YOLO v7网络架构的整体介绍 不同GPU和对应模型: ​​​​​​​边缘GPU:YOLOv7-tiny普通GPU:YOLOv7​​​​​​​云GPU的基本模型: YOLOv7-W6 激活函数: YOLOv7 tiny: leaky ReLU其…

南方健康2024米思会:科普患教赋能医药增长闭环,千亿蓝海市场大爆发!

2024年6月25日-28日,在中国•南太湖举办的2024米思会如约而至,顺利落下帷幕,本次大会以“韧进启新局”为主题,以不懈进取的“韧劲”,立身破局,迎变启新。通过4天3夜的思想碰撞和互动交流,引领行…

使用shell脚本实现DM8开机自动启动

编写shell脚本 #!/bin/bashsu -dmdba >>EOF cd /home/dmdba/dmdbms/bin ./DmServiceDMTEST start echo "dm start ... " EOF注意:DmServiceDMTEST每个服务器设置的不一样,根据实际进行更换 授权脚本可执行权限 chmod -x /dmdata/dmse…

策略为王股票软件源代码-----如何修改为自己软件61----资讯菜单修改-----举例---------调用同花顺网页------

http://stock.sina.com.cn 将原来的新浪行情,修改为同花顺, 搜索 stock.sina.com.cn... StkUI\View\InfoView.cpp(58):char

【C++:默认成员函数初始化列表】

构造函数 特点 没有返回值支持函数重载对象实例化时,编译器自动调用作用不是构造,而是初始化函数名与类名相同无参函数和全缺省的函数,不用传参就能调用的函数叫做默认构造函数 构造函数是一个特殊的成员函数 注:无参构造函数在实…

Lock4j简单的支持不同方案的高性能分布式锁实现及源码解析

文章目录 1.Lock4j是什么?1.1简介1.2项目地址1.3 我之前手写的分布式锁和限流的实现 2.特性3.如何使用3.1引入相关依赖3.2 配置redis或zookeeper3.3 使用方式3.3.1 注解式自动式3.3.2 手动式 4.源码解析4.1项目目录4.2实现思路 5.总结 1.Lock4j是什么? 1.1简介 lock4j是苞米…

平均102天 Accept的国产医学顶刊,影响因子4连涨,还免版面费!

《Asian Journal of Pharmaceutical Sciences》 (亚洲药物制剂科学) 是由沈阳药科大学主办、Elsevier合作出版的全英文药剂学学术期刊,是“中国科技期刊卓越行动计划”资助期刊,现已被SCIE、PubMed Central、Scopus和DOAJ等国际著名检索系统收录&#xf…

【已解决】“import ... =“ 只能在 TypeScript 文件中使用

现象 在使用 import 语法的时候,代码报红,提示:“import ... “ 只能在 TypeScript 文件中使用 原因 代码被 VSCode 解析成 TypeScript 语法 解决方案: 关闭 JavaScript 的验证启用即可。 mac 快捷方式:comman s…

25.【C语言】循环结构之for 上

1.基本使用 类比while 在while循环中&#xff0c;有三个不可或缺的部分&#xff1a;初始化&#xff0c;判断部分&#xff0c;调整部分 int i 0;//初始化 while (i < 10)//判断部分 {……i;//调整部分 }三个部分太分散&#xff0c;用for循环可集为一体&#xff0c;简洁 …

【海贼王的数据航海】ST表——RMQ问题

目录 1 -> RMQ问题 1.1 -> 定义 1.2 -> 解决策略 2 -> ST表 2.1 -> 定义 2.2 什么是可重复贡献问题 2.3 -> 预处理ST表 2.4 -> 处理查询 2.5 -> 实际问题 1 -> RMQ问题 1.1 -> 定义 RMQ (Range Minimum/Maximum Query)即区间最值查询…

印度第二大移动提供商 3.75 亿数据待售

一个名为“xenZen”的威胁行为者已在 BreachForums 上出售 Airtel 的数据库。 该列表包含来自 3.75 亿客户的数据。 数据详情&#xff1a; 手机号码 名 出生日期 父亲的名字 地址 电子邮件ID 类型 国籍 阿达尔 带照片的身份证明详细信息 地址详细信息证明等 鉴于…