gap-yuta-inoue/find-evil
GitHub: gap-yuta-inoue/find-evil
AI 驱动的自主事件响应代理,通过 MCP 编排 SIFT Workstation 实现秒级检测与取证分析。
Stars: 0 | Forks: 0
# Find Evil — AI 驱动的自主事件响应代理
一个自主事件响应代理,通过 [SIFT Workstation](https://www.sans.org/tools/sift-workstation/)(200+ IR 工具)利用 MCP 像资深分析师一样调查安全事件。
由 [FIND EVIL! 黑客松](https://findevil.devpost.com/) 的 SANS 研究所构建。
## 快速开始
```
# 安装依赖
npm install
# 构建
npm run build
# 分析证据(手动模式)
./find-evil analyze
# 启动实时监控(观察模式)
./find-evil watch
# 对样本案例数据运行基准测试
./find-evil benchmark
```
## 架构
```
┌─────────────────────────────────────────────────────┐
│ Analyst / CLI │
│ ./find-evil analyze │
└──────────────────────┬──────────────────────────────┘
│
┌──────────────────────▼──────────────────────────────┐
│ SIFT Agent (Claude Code) │
│ ┌──────────────┐ ┌───────────────┐ ┌──────────┐ │
│ │ Orchestrator │ │ Reasoning │ │Validation│ │
│ │ Case mgmt + │→│ Hypothesis │→│ Halluc. │ │
│ │ analysis plan │ │ driven loop │ │ detection│ │
│ └──────────────┘ └───────────────┘ └──────────┘ │
│ ┌──────────────┐ │
│ │ Audit Logger │ Timestamps + token tracking │
│ └──────────────┘ │
└──────────────────────┬──────────────────────────────┘
│ MCP Protocol
┌──────────────────────▼──────────────────────────────┐
│ Custom MCP Server │
│ ┌──────────────────────────────────────────────┐ │
│ │ Guardrail Layer │ │
│ │ Type-safe tool exposure + destructive cmd │ │
│ │ blocking (rm, dd, mkfs → BLOCKED) │ │
│ └──────────────────────┬───────────────────────┘ │
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌──────────┐ │
│ │ Disk │ │ Memory │ │ Log │ │ Network │ │
│ │Analysis │ │Analysis │ │Analysis │ │ Analysis │ │
│ │sleuthkit│ │volatil. │ │grep, jq │ │zeek,tshk │ │
│ │plaso │ │ │ │timeline │ │ │ │
│ └─────────┘ └─────────┘ └─────────┘ └──────────┘ │
└──────────────────────┬──────────────────────────────┘
│ SSH / Local
┌──────────────────────▼──────────────────────────────┐
│ SIFT Workstation (VM) │
│ 200+ IR Tools + Evidence Data │
└─────────────────────────────────────────────────────┘
```
## 操作模式
| 模式 | 触发条件 | 使用场景 |
|------|---------|----------|
| **Watch** | 观察者检测异常 → 自动分析 | 生产环境 — 秒级检测与响应 |
| **Analyze** | 分析师通过 CLI 指定证据 | 取证 — 事件后调查 |
| **Benchmark** | 自动注入样本案例数据 | 准确性评估与演示 |
## 置信度评分
每个发现都带有置信度标签:
- **confirmed** — 多个工具/来源交叉验证
- **inferred** — 有证据支持但未独立验证
- **uncertain** — 仅存在单一来源或矛盾证据
## 检测延迟目标
| 步骤 | 目标 |
|------|--------|
| 攻击 → 检测 | < 15 秒 |
| 检测 → 分析开始 | < 15 秒 |
| 检测 → 首次响应建议 | < 5 分钟 |
## 项目结构
```
find-evil/
├── src/
│ ├── cli.ts # CLI entry point (./find-evil)
│ ├── mcp-server/
│ │ ├── index.ts # MCP server main
│ │ ├── guardrails.ts # Destructive command blocking
│ │ └── tools/ # IR tool definitions
│ │ ├── disk.ts # sleuthkit, plaso, bulk_extractor
│ │ ├── memory.ts # volatility3
│ │ ├── log.ts # grep, jq, timeline
│ │ └── network.ts # zeek, tshark (Phase 2)
│ ├── agent/
│ │ ├── orchestrator.ts # Case management + analysis planning
│ │ ├── reasoning.ts # Hypothesis-driven reasoning loop
│ │ └── validation.ts # Confidence scoring + cross-checking
│ ├── watcher/
│ │ └── index.ts # Real-time anomaly detection
│ └── audit/
│ └── logger.ts # Structured audit logging
├── benchmarks/ # Accuracy benchmark framework
├── docs/ # Additional documentation
└── evidence/ # Evidence data (gitignored)
```
## 技术栈
- **代理运行时**: Claude Code + Claude API
- **MCP 服务器**: TypeScript + @modelcontextprotocol/sdk
- **IR 平台**: SANS SIFT Workstation(Ubuntu 虚拟机)
- **关键工具**: sleuthkit, plaso, volatility3, bulk_extractor, zeek, tshark
## 许可证
MIT
标签:AI驱动, AMSI绕过, Claude Code, FIND EVIL, GNU通用公共许可证, LLM代理, MCP, MITM代理, Node.js, npm, SANS, SIFT工作站, WSL, 人工分析, 多工具集成, 威胁检测, 审计日志, 推理循环, 数字取证, 自主响应, 自动化取证, 自动化攻击, 自动化脚本, 调查编排, 赛题项目, 验证机制, 黑客松