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