benjamenhoffman/evilhunter

GitHub: benjamenhoffman/evilhunter

一款基于大语言模型和 MCP 协议的自主数字取证与事件响应智能体,能自动规划调查步骤、调用多种取证工具进行多源证据关联分析,并输出带置信度评分的结构化报告。

Stars: 0 | Forks: 0

# EVILHUNTER - 自主 AI 事件响应智能体 一个为 [FIND EVIL! SANS Hackathon](https://findevil.devpost.com/) 构建的自主 AI 智能体,使用 Protocol SIFT (MCP) 在 SANS SIFT Workstation 上检测、分诊和响应安全事件。 ## 概述 EVILHUNTER 是一个运行在 SANS SIFT Workstation 上的 AI 驱动的数字取证与事件响应 (DFIR) 智能体。它使用模型上下文协议 (MCP) 与取证工具进行交互,自主地进行以下工作: 1. **检测**文件系统、内存和网络工件中的妥协指标 (IOC) 2. **分诊**通过严重性和置信度评分对警报进行分级处理 3. **关联**跨多个取证数据源的证据 4. **报告**以结构化的、可供分析师直接使用的格式生成发现 ## 架构 ``` ┌─────────────────────────────────────────────┐ │ EVILHUNTER Agent │ │ ┌─────────┐ ┌──────────┐ ┌────────────┐ │ │ │ Planner │ │ Analyst │ │ Reporter │ │ │ │ (LLM) │ │ (Logic) │ │ (Output) │ │ │ └────┬────┘ └────┬─────┘ └─────┬──────┘ │ │ │ │ │ │ │ ┌────┴────────────┴───────────────┴──────┐ │ │ │ MCP Tool Interface │ │ │ └────┬────────────┬───────────────┬──────┘ │ └───────┼────────────┼───────────────┼──────────┘ │ │ │ ┌────▼────┐ ┌────▼─────┐ ┌─────▼────┐ │Volatility│ │log2timel.│ │Autopsy/ │ │(Memory) │ │(Timelines)│ │Plaso │ └─────────┘ └──────────┘ └──────────┘ ``` ## 主要特性 - **多源证据关联**:交叉比对内存、磁盘和网络证据 - **自主调查流水线**:规划调查步骤,执行工具,解释结果 - **置信度评分**:根据证据强度对发现进行评级,以减少误报 - **结构化报告**:生成包含 IOC 和时间线的、可供分析师直接使用的事件报告 - **自我纠正**:当证据冲突时重新评估发现 ## 技术栈 - **AI 引擎**:通过 MCP 的 Claude / OpenAI GPT-4 - **框架**:SANS SIFT Workstation 上的 Protocol SIFT (MCP) - **工具**:Volatility 3、Plaso/log2timeline、Zeek、YARA、Sleuth Kit - **语言**:Python 3.10+ ## 快速开始 ``` # 在安装了 Protocol SIFT 的 SIFT Workstation 上 pip install -r requirements.txt python -m evilhunter --case-dir /cases/suspicious-vm --mode full ``` ## 用法 ``` # 完全自主调查 python -m evilhunter --case-dir /cases/incident-001 --mode full # 仅 Memory analysis python -m evilhunter --case-dir /cases/incident-001 --mode memory --image memory.dmp # 仅 Disk forensics python -m evilhunter --case-dir /cases/incident-001 --mode disk --image disk.raw # 仅 Network analysis python -m evilhunter --case-dir /cases/incident-001 --mode network --pcap capture.pcap # 仅生成 report(基于先前的 findings) python -m evilhunter --case-dir /cases/incident-001 --mode report ``` ## 项目结构 ``` evilhunter/ ├── __init__.py ├── __main__.py # CLI entry point ├── agent/ │ ├── __init__.py │ ├── planner.py # Investigation planning (LLM-driven) │ ├── analyst.py # Evidence analysis and correlation │ ├── reporter.py # Structured report generation │ └── state.py # Agent state management ├── mcp/ │ ├── __init__.py │ ├── client.py # MCP client for Protocol SIFT │ └── tools.py # Tool definitions and wrappers ├── analysis/ │ ├── __init__.py │ ├── memory.py # Memory forensics (Volatility) │ ├── disk.py # Disk forensics (Sleuth Kit/Plaso) │ ├── network.py # Network forensics (Zeek/tshark) │ └── yara_scan.py # YARA rule scanning ├── models/ │ ├── __init__.py │ ├── finding.py # Finding data model │ ├── ioc.py # IOC data model │ └── report.py # Report data model └── config.py # Configuration ```
标签:AI安全, Chat Copilot, DAST, IOC检测, MCP协议, OpenCanary, SANS SIFT, SANS黑客马拉松, SecList, 内存取证, 子域名变形, 安全告警分诊, 安全态势感知, 安全运营, 恶意软件分析, 扫描框架, 数字取证, 数字取证分析, 数据包嗅探, 无线安全, 网络安全, 网络安全审计, 网络流量分析, 自动化AI代理, 自动化脚本, 逆向工具, 隐私保护