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, 人工分析, 多工具集成, 威胁检测, 审计日志, 推理循环, 数字取证, 自主响应, 自动化取证, 自动化攻击, 自动化脚本, 调查编排, 赛题项目, 验证机制, 黑客松