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/

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

03:Spring MVC

文章目录 一:Spring MVC简介1:说说自己对于Spring MVC的了解?1.1:流程说明: 一:Spring MVC简介 Spring MVC就是一个MVC框架,Spring MVC annotation式的开发比Struts2方便,可以直接代…

【TB作品】脉搏测量,ATMEGA8单片机,Proteus仿真,ATmega8控制脉搏测量与显示系统

硬件组成: LCD1602脉搏测量电路(带灯)蜂鸣器报警按键设置AT24C02 功能: (1)LCD1602主页显示脉搏、报警上限、报警下限; (2)五个按键:按键1:切换设…

数据库测试|Elasticsearch和ClickHouse的对决

前言 数据库作为产品架构的重要组成部分,一直是技术人员做产品选型的考虑因素之一。 ClkLog会经常遇到小伙伴问支持兼容哪几种数据库?为什么是选择ClickHouse而不是这个或那个。 由于目前市场上主流的数据库有许多,这次我们选择其中一个比较典…

(软件06)串口屏的应用,让你的产品显得高级一点(下篇)

本文目录 学习前言 单片机代码实现 学习前言 目前市面上我记得好像有IIC的屏幕、SPI的屏幕、并口屏幕、还有就是今天我们介绍的这个串口屏了,串口屏,就是用串口进行通讯的,上篇我们已经介绍了屏幕供应商提供的上位机软件进行配置好了&#…

2000-2019年各省市资源错配指数

资源错配指数(Misallocation Index)是衡量一个地区或国家资源配置效率的重要经济指标。以下是对资源错配指数相关数据的介绍: 数据简介 定义:资源错配指数是一个反映生产要素配置合理性的指标,高指数意味着资源配置效…

Science期刊政策反转:允许生成式AI用于论文写作,意味着什么?

我是娜姐 迪娜学姐 ,一个SCI医学期刊编辑,探索用AI工具提效论文写作和发表。 关于各大top期刊和出版社对于生成式AI用于论文写作中的规定,娜姐之前写过一篇文章: 如何合理使用AI写论文?来看Top 100学术期刊和出版社的…

Go 中的类型推断

💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」…

昇思25天学习打卡营第08天 | 模型训练

昇思25天学习打卡营第08天 | 模型训练 文章目录 昇思25天学习打卡营第08天 | 模型训练超参数损失函数优化器优化过程 训练与评估总结打卡 模型训练一般遵循四个步骤: 构建数据集定义神经网络模型定义超参数、损失函数和优化器输入数据集进行训练和评估 构建数据集和…

东芝TB6560AHQ/AFG步进电机驱动IC:解锁卓越的电机控制性能

作为一名工程师,一直在寻找可靠且高效的组件来应用于你的项目中。东芝的TB6560AHQ/AFG步进电机驱动IC能够提供精准且多功能的电机控制,完全符合现代应用的高要求,保证高性能和易用性。在这篇文章中,我们将探讨TB6560AHQ/AFG的主要…

CentOS 7.9 停止维护(2024-6-30)后可用在线yum源 —— 筑梦之路

众所周知,centos 7 在2024年6月30日,生命周期结束,官方不再进行支持维护,而很多环境一时之间无法完全更新替换操作系统,因此对于yum源还是需要的,特别是对于互联网环境来说,在线yum源使用方便很…

直播预告 | VMware大规模迁移实战,HyperMotion助力业务高效迁移

2006年核高基专项启动,2022年国家79号文件要求2027年央国企100%完成信创改造……国家一系列信创改造政策的推动,让服务器虚拟化软件巨头VMware在中国的市场份额迅速缩水。 加之VMware永久授权的取消和部分软件组件销售策略的变更,导致VMware…

移动端UI风格营造舒适氛围

移动端UI风格营造舒适氛围

XXL-JOB中断信号感知

目录 背景 思路 实现逻辑 总结 背景 在使用xxl-job框架时,由于系统是由线程池去做异步逻辑,然后主线程等待,在控制台手动停止时,会出现异步线程不感知信号中断的场景,如下场景 而此时如果人工在控制台停止xxl-job执…

insert阻塞了insert?

一、发现问题 在arms监控页面看到某条insert语句的执行时长达到了431毫秒。 数据库中存在,insert语句受到了行锁阻塞,而阻塞的源头也在执行同样的insert语句,同样都是对表USERSYS_TASK_USER_LOG_TEMP01的插入操作,很是费解。 二…

idea创建的maven项目pom文件引入的坐标报红原因

如下所示 我们在引入某些依赖坐标的时候,即使点击了右上角的mavne刷新之后还是报红。 其实这是正常现象,实际上是我们的本地仓库当中没有这些依赖坐标,而idea就会通过报红来标记这些依赖来说明在我们的本地仓库是不存在的。 那有的同学就会…

ODOO17的邮件机制-系统自动推送修改密码的邮件

用户收到被要求重置密码的邮件: 我们来分析一下ODOO此邮件的工作机制: 1、邮件模板定义 2、渲染模板的函数: 3、调用此函数的机制: 当用户移除或增加了信任的设备(如电脑、手机端等),系统会自…

农业气象站:现代农业的守护者与引领者

随着科技的飞速发展,农业领域也在经历着前所未有的变革。在这一变革中,农业气象站以其独特的功能和作用,逐渐成为了现代农业的守护者与引领者。 农业气象站,顾名思义,是专门用于观测和记录农田气象要素的设施。这些气象…

轻松设置:服务器域名配置全攻略

目录 前置条件 在阅读本篇内容之前,请先确保以下物料已准备好: 一台公网服务器,服务正常运行申请完成的域名,在对应域名服务商后台正常DNS解析域名备案完成可选条件:有https访问请求时,需要申请SSL证书 …

Android在framework层添加自定义服务的流程

环境说明 ubuntu16.04android4.1java version “1.6.0_45”GNU Make 3.81gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.12) 可能有人会问,现在都2024了怎么还在用android4版本,早都过时了。确实,现在最新的都是Android13、And…

在Linux环境下搭建Redis服务结合内网穿透实现通过GUI工具远程管理数据库

文章目录 前言1. 安装Docker步骤2. 使用docker拉取redis镜像3. 启动redis容器4. 本地连接测试4.1 安装redis图形化界面工具4.2 使用RDM连接测试 5. 公网远程访问本地redis5.1 内网穿透工具安装5.2 创建远程连接公网地址5.3 使用固定TCP地址远程访问 前言 本文主要介绍如何在Li…