harshganeshwade/-sift-guardian-

GitHub: harshganeshwade/-sift-guardian-

基于 MCP 架构的自主取证分析 Agent,通过自我纠正和多源验证机制对磁盘、内存、网络等数字证据进行自动化事件响应分析。

Stars: 0 | Forks: 0

# Protocol SIFT Enhanced - 自主事件响应 Agent [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![Python 3.8+](https://img.shields.io/badge/python-3.8+-blue.svg)](https://www.python.org/downloads/) 一个完全自主的事件响应 Agent,它通过增强的准确性、自我纠正和证据完整性扩展了 Protocol SIFT。专为 SANS Institute 举办的 **Find Evil! Hackathon** 而构建。 ## 🎯 概述 Protocol SIFT Enhanced 是一个专门构建的自主 IR Agent,它能够: - **像高级分析师一样思考** - 逻辑地组织分析步骤,识别不一致之处并进行自我纠正 - **确保证据完整性** - 架构防护机制防止证据被篡改 - **最小化幻觉** - 多源验证和置信度追踪 - **提供完整的审计追踪** - 每一项发现都可溯源至其原始出处 ### 架构:混合 MCP Server + Agent 编排 本次提交结合了两种架构方法: 1. **自定义 MCP Server** - 使用类型化的取证函数代替通用的 shell 命令 2. **Agent 编排层** - 具备高级分析师思维模式的自我纠正分析 这种混合架构提供了: - ✅ 结构性防护(Agent 无法运行破坏性命令) - ✅ 智能自我纠正(检测并修复分析错误) - ✅ 证据完整性(哈希验证、监管链) - ✅ 幻觉检测(置信度追踪、印证检查) ## 🚀 快速开始 ### 前置条件 - Python 3.8+ - SIFT Workstation(用于实际的取证工具) - 证据文件(磁盘镜像、内存转储等) ### 安装说明 ``` # Clone 仓库 git clone https://github.com/your-org/protocol-sift-enhanced.git cd protocol-sift-enhanced # 无需外部 dependencies! # 系统仅使用 Python 标准库以实现最大兼容性。 ``` ### 运行 Agent ``` # 基本用法 - 分析目录中的证据 python main.py /path/to/evidence # 带 options python main.py /path/to/evidence \ --case-description "Investigate potential ransomware incident" \ --output-dir ./results \ --max-iterations 10 \ --generate-report \ --log-level INFO ``` ### 命令行选项 | 选项 | 描述 | 默认值 | |--------|-------------|---------| | `evidence_path` | 证据目录的路径 | 必填 | | `--case-description, -c` | 案件的描述 | "Full forensic analysis..." | | `--output-dir, -o` | 输出目录 | `output` | | `--log-level, -l` | 日志级别 | `INFO` | | `--max-iterations, -m` | 最大分析迭代次数 | `10` | | `--generate-report, -r` | 生成准确性报告 | `False` | ## 📁 项目结构 ``` protocol-sift-enhanced/ ├── main.py # Main entry point ├── src/ │ ├── __init__.py │ ├── mcp_server/ # Custom MCP Server │ │ ├── __init__.py │ │ ├── server.py # MCP server with typed functions │ │ ├── tools.py # Forensic tool registry │ │ └── validation.py # Input validation │ ├── agent/ # Agent Orchestration │ │ ├── __init__.py │ │ ├── orchestrator.py # Main agent orchestrator │ │ ├── planner.py # Analysis planning │ │ └── self_correction.py # Self-correction engine │ ├── validation/ # Validation Systems │ │ ├── __init__.py │ │ ├── accuracy.py # Accuracy tracking │ │ └── integrity.py # Evidence integrity │ └── logging/ # Audit Trail │ ├── __init__.py │ └── audit.py # Structured logging ├── tests/ # Test Suite │ ├── test_mcp_server.py │ ├── test_agent.py │ └── test_validation.py ├── docs/ # Documentation │ └── architecture.md ├── output/ # Generated outputs ├── requirements.txt ├── pyproject.toml └── README.md ``` ## 🔧 可用的取证工具 MCP Server 暴露了 20 多个类型化的取证函数: ### 内存分析 - `volatility_processes` - 从内存转储中提取进程列表 - `volatility_network` - 从内存中提取网络连接 - `volatility_dlls` - 列出已加载的 DLL - `volatility_handles` - 列出打开的句柄 ### 磁盘分析 - `mft_timeline` - 解析 MFT 并创建文件系统时间线 - `extract_amcache` - 解析 Amcache.hve 以获取应用程序执行记录 - `extract_prefetch` - 解析 Windows Prefetch 文件 - `extract_registry` - 解析 Windows 注册表配置单元 - `extract_usn_journal` - 解析 USN Journal ### 日志分析 - `parse_event_logs` - 解析 Windows 事件日志 - `parse_powershell_logs` - 解析 PowerShell 脚本块日志 - `analyze_browser_history` - 解析 Web 浏览器历史记录 ### 网络分析 - `analyze_pcap` - 分析网络捕获文件 - `extract_dns_from_pcap` - 提取 DNS 查询 - `extract_http_from_pcap` - 提取 HTTP 请求 ### 时间线分析 - `create_super_timeline` - 使用 Plaso 创建全面的时间线 - `query_timeline` - 查询和过滤 Plaso 时间线 ## 🛡️ 安全与证据完整性 ### 架构防护机制 MCP Server 在架构层面强制执行安全性: 1. **仅限只读工具** - 仅暴露非破坏性工具 2. **路径验证** - 所有文件路径均根据证据目录进行验证 3. **输入清理** - 注入检测可防止命令注入 4. **哈希验证** - 使用 SHA-256 哈希追踪证据文件 ### 证据完整性工作流 ``` 1. Register Evidence → Compute initial hash 2. Analysis Execution → Log all access 3. Integrity Verification → Compare hashes 4. Tamper Detection → Alert on mismatch ``` ### 审计追踪 记录的每一个操作包含: - 带有输入/输出的工具执行情况 - 带有推理过程的 Agent 决策 - 带有置信度分数的发现创建 - 自我纠正事件 ## 📊 自我纠正系统 该 Agent 实现了高级分析师的思维模式: ### 一致性规则 - 内存发现应与磁盘证据相关联 - 网络活动应有 DNS/HTTP 印证 - PowerShell 执行应出现在进程列表中 ### 幻觉检测 - 标记没有支持性证据的发现 - 检测不切实际的置信度水平 - 识别时间上的不一致性 ### 自动纠正 - 在发生失败时建议替代工具 - 针对不一致之处添加验证步骤 - 使用调整后的参数重新运行分析 ## 📈 输出文件 分析完成后,Agent 将生成: | 文件 | 描述 | |------|-------------| | `analysis_results.json` | 完整的发现和指标 | | `audit_trail.json` | 完整的执行日志 | | `integrity_report.json` | 证据完整性验证 | | `accuracy_report.json` | 准确性指标(可选) | | `logs/*.json` | 详细的执行日志 | ## 🧪 测试 ``` # 运行所有 tests python -m pytest tests/ # 带 coverage 运行 python -m pytest tests/ --cov=src # 运行特定的 test 文件 python -m pytest tests/test_mcp_server.py ``` ## 📋 参赛提交内容 ### 1. 代码仓库 ✅ 此仓库包含所有源代码、测试和文档。 ### 2. 演示视频 请参阅 `demo_video.mp4`,这是一个 5 分钟的屏幕录像,演示了: - 取证证据的自主分析 - 自我纠正序列 - 完整审计追踪的生成 ### 3. 架构图 请参阅 `docs/architecture.md` 获取详细的架构文档。 ### 4. 书面项目描述 请参阅 `docs/project_description.md` 了解: - 它的功能 - 它是如何构建的 - 面临的挑战 - 获得的经验教训 - 后续步骤 ### 5. 数据集文档 请参阅 `docs/dataset_documentation.md` 了解: - 使用的测试数据集 - 数据来源 - 发现摘要 ### 6. 准确性报告 由 `--generate-report` 标志生成: - 误报分析 - 遗漏的工件 - 幻觉频率 - 证据完整性方法 ### 7. 试用说明 请参阅上方的[快速开始](#-quick-start)部分。 ### 8. Agent 执行日志 完整的审计追踪位于 `output/audit_trail.json`,包含: - 工具执行序列 - 时间戳和 token 使用情况 - 发现的可追溯性 ## 🎯 评审标准契合度 | 标准 | 我们的方案 | |-----------|--------------| | **自主执行** | 具备缺口检测的自我纠正 Agent | | **IR 准确性** | 多源验证,幻觉检测 | | **广度/深度** | 涵盖 6 个类别的 20 多种工具 | | **约束实现** | 架构防护(不仅仅是提示词) | | **审计追踪** | 从发现到工具的完整可追溯性 | | **文档**** | 全面的 README、架构文档 | ## 🔄 自我纠正的工作原理 ``` 1. Execute analysis phase 2. Evaluate results for consistency 3. Check findings against rules: - Are there corroborating sources? - Do timestamps make sense? - Is confidence realistic? 4. If issues found: a. Log the correction b. Revise analysis plan c. Re-run with adjustments 5. Repeat until: - All findings validated - Max iterations reached - No more corrections needed ``` ## 📚 了解更多 - [Protocol SIFT 文档](https://www.sans.org/tools/sift-workstation/) - [Model Context Protocol](https://modelcontextprotocol.io/) - [Find Evil! Hackathon](https://findevil.devpost.com/) ## 📄 许可证 MIT 许可证 - 详见 [LICENSE](LICENSE)。 ## 🙏 致谢 - 感谢 SANS Institute 提供 Protocol SIFT - 感谢 Find Evil! Hackathon 的组织者 - 感谢开源取证工具的维护者 **为 Find Evil! Hackathon ❤️ 构建**
标签:AI智能体, Clair, LLM编排, MCP Server, Python, 数字取证, 无后门, 自动化应急响应, 自动化脚本, 逆向工具