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 attackgenpip 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.pswp.cn/web/39009.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/39009.shtml
英文地址,請注明出處:http://en.pswp.cn/web/39009.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【MindSpore學習打卡】應用實踐-計算機視覺-FCN圖像語義分割-基于MindSpore實現FCN-8s進行圖像語義分割的教程

圖像語義分割是計算機視覺領域中的一個重要任務,它旨在對圖像中的每個像素進行分類,從而實現對圖像內容的詳細理解。在眾多圖像語義分割算法中,全卷積網絡(Fully Convolutional Networks, FCN)因其端到端的訓練方式和高…

7.7、指針和函數

代碼 #include <iostream> using namespace std;//實現兩個數字進行交換 void swap01(int a, int b) {int temp a;a b;b temp;cout << "swap01a " << a << endl;cout << "swap01b " << b << endl; }void sw…

08 docker Registry搭建docker私倉

目錄 本地鏡像發布流程 1. docker pull registry 下載鏡像 2. docker run 運行私有庫registry 3. docker commit 構建鏡像 4. docker tag 修改新鏡像&#xff0c;使之符合私服規范tag 5. 修改配置文件使之支持http 6. curl驗證私服庫上有什么鏡像 7. push推送 pull拉取 …

Activity、Window、DecorView的關系

目錄 一、Activity、Window、DecorView的層級關系如下圖所示&#xff1a; 1、Activity 2、Window 3、DecorView 二、DecorView初始化相關源碼 三、DecorView顯示時機 前言&#xff1a; 不同的Android版本有差異&#xff0c;以下基于Android 11進行講解。 一、Activi…

Halide AOT模式

這種模式會提前&#xff0c;會提前編譯好&#xff0c;變成dll什么的&#xff0c;可接受任何輸入的參數運行。 然后這樣調用&#xff0c;必須要make一下前一個file&#xff0c;才有后面的.h

魔行觀察-AI數據分析-蜜雪冰城

摘要 本報告旨在評估蜜雪冰城品牌作為投資對象的潛力和價值&#xff0c;基于其經營模式、門店分布、人均消費、覆蓋省份等關鍵指標進行分析。 數據數據源&#xff1a;魔行觀察&#xff1a;http://www.wmomo.com/#/brand/brandDetails?code10013603 品牌概覽 蜜雪冰城是中國…

拼多多職位數據信息采集

數據信息采集 洛哥爬蟲【視頻】 愛寫爬蟲 我愛扣腳 https://careers.pinduoduo.com/jobs#/from DrissionPage import ChromiumPage, ChromiumOptions def fetch_pinduoduo_jobs():# 創建ChromiumOptions對象co ChromiumOptions()# 提供瀏覽器可執行文件的路徑path rC:\Pro…

Vue 爬坑

都是基于最新的Vue3版本 "vue": "^3.4.29" 1 vue組建樣式設置 <script setup lang"ts"> import HelloWorld from ./components/HelloWorld.vue </script><template><div><a href"https://vitejs.dev" tar…

RPA 第一課

RPA 是 Robotic Process Automation 的簡稱&#xff0c;意思是「機器人流程自動化」。 顧名思義&#xff0c;它是一種以機器人&#xff08;軟件&#xff09;來替代人&#xff0c;實現重復工作自動化的工具。 首先要說一句&#xff0c;RPA 不是 ChatGPT 出來之后的產物&#x…

Ubuntu24.04安裝Skynet環境

安裝依賴 sudo apt-get -y install gcc sudo apt-get -y install g sudo apt-get -y install make sudo apt-get install -y autoconf automake libtool sudo apt-get install -y git 或者可以用&#xff1a; sudo apt-get -y install gcc g make autoconf automake libtool…

升級springboot3

坑爹的發版流水線&#xff0c;管天管地&#xff0c;springboot2過了維護期&#xff0c;就催著我們升級。 導致必須上jdk17 記錄一下升級需要處理的事情 先升級springboot和cloud&#xff0c;這里定下基調&#xff0c;其他的才好跟著升級 https://spring.io/projects/spring-b…

如何在Java中使用正則表達式

如何在Java中使用正則表達式 大家好&#xff0c;我是免費搭建查券返利機器人省錢賺傭金就用微賺淘客系統3.0的小編&#xff0c;也是冬天不穿秋褲&#xff0c;天冷也要風度的程序猿&#xff01; 正則表達式&#xff08;Regular Expression&#xff0c;簡稱Regex或RegExp&#…

elementui中@click短時間內多次觸發,@click重復點擊,做不允許重復點擊處理

click快速點擊&#xff0c;發生多次觸發 2.代碼示例&#xff1a; //html<el-button :loading"submitLoading" type"primary" click"submitForm">確 定</el-button>data() {return {submitLoading:false,}}//方法/** 提交按鈕 */sub…

分布式鎖——基于Redis分布式鎖

單機鎖 服務器只有一個&#xff0c;JVM只有一個。 用synchronized加鎖&#xff0c;對lock對象加鎖&#xff0c;只有線程1結束&#xff0c;線程2,3才會開始。 再用uid避免一個線程多次進來。 分布式鎖 真正上線時&#xff1a; 【注&#xff1a;這些服務器連接的是一個Redis集…

STM32入門筆記(03): ADC(SPL庫函數版)(2)

A/D轉換的常用技術有逐次逼近式、雙積分式、并行式和跟蹤比較式等。目前用的較多的是前3種。 A/D轉換器的主要技術指標 轉換時間 分辨率 例如&#xff0c;8位A/D轉換器的數字輸出量的變化范圍為0&#xff5e;255&#xff0c;當輸入電壓的滿刻度為5V時&#xff0c;數字量每變化…

如何學好自動化測試

1. 什么是自動化測試 自動化測試是使用腳本和工具來執行測試任務&#xff0c;以替代手工測試過程。它可以提高效率、減少人工錯誤&#xff0c;并增加測試覆蓋率。在軟件開發過程中&#xff0c;自動化測試已經成為了不可或缺的一部分。 自動化測試主要有以下好處&#xff1a; …

Amos結構方程模型---探索性分析

初級 第5講 探索性分析_嗶哩嗶哩_bilibili amos中基本操作&#xff1a; 橢圓潛變量&#xff0c;不可預測 數據導入 改變形狀 判定系數 方差估計和假設檢驗&#xff1a; 探索性分析&#xff1a; ses&#xff08;潛變量&#xff09;社會經濟指數 從考慮最大的MI開始&#xff0c;卡…

【Python畫圖-馴化seaborn】一文搞懂seaborn中的箱線圖實踐技巧

【Python畫圖-馴化seaborn】一文搞懂seaborn中的箱線圖實踐技巧 本次修煉方法請往下查看 &#x1f308; 歡迎蒞臨我的個人主頁 &#x1f448;這里是我工作、學習、實踐 IT領域、真誠分享 踩坑集合&#xff0c;智慧小天地&#xff01; &#x1f387; 免費獲取相關內容文檔關注&a…

2736 卡片重排

題目描述 Description 可可共有兩種卡片&#xff0c;一種卡片是數字0-9編號&#xff0c;一種卡片是字母A-Z編號&#xff0c;現在兩種卡片混在一起&#xff0c;可可想將它們歸類擺放&#xff0c;但是要求同類卡片中&#xff0c;它們相對位置不可以改變&#xff0c;原先在前的仍…

python把項目編譯成so文件

提示&#xff1a;文章寫完后&#xff0c;目錄可以自動生成&#xff0c;如何生成可參考右邊的幫助文檔 文章目錄 前言一、使用步驟1.引入庫 總結 前言 提示 例如&#xff1a; 提示&#xff1a;以下是本篇文章正文內容&#xff0c;下面案例可供參考 一、使用步驟 1.引入庫 代…