harshganeshwade/-sift-guardian-
GitHub: harshganeshwade/-sift-guardian-
基于 MCP 架构的自主取证分析 Agent,通过自我纠正和多源验证机制对磁盘、内存、网络等数字证据进行自动化事件响应分析。
Stars: 0 | Forks: 0
# Protocol SIFT Enhanced - 自主事件响应 Agent
[](https://opensource.org/licenses/MIT)
[](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, 数字取证, 无后门, 自动化应急响应, 自动化脚本, 逆向工具