UNKN0WN006/aletheia-ir

GitHub: UNKN0WN006/aletheia-ir

AletheiaIR 是一款具备自我纠错和矛盾感知能力的 DFIR 智能代理,通过多源证据交叉验证来消除 AI 分析中的幻觉与冲突。

Stars: 0 | Forks: 0

# AletheiaIR **一个为 Protocol SIFT 设计的,具备自我纠错和矛盾感知能力的 DFIR agent。** ## 它的功能 Protocol SIFT 展示了 AI 辅助的事件响应在 正常运作时的样子。AletheiaIR 解决了下一个问题:当 agent 自信地犯错时会发生什么? AletheiaIR 为 Protocol SIFT agent 循环扩展了四个额外的 pipeline 阶段,它们在*任何内容*到达报告*之前*运行: 1. **Evidence Validation** — 每一项发现都会与其他来源类型进行核对。Memory 和 log 同时显示相同的 process 链会提高置信度。 单一来源则将其保持在“推断(inferred)”状态。 2. **Contradiction Detection** — 一个确定性的规则引擎会检查逻辑 冲突:在 memory 中可见但在 disk prefetch 中缺失的 process、没有 归属 process 的 C2 流量、声称存在持久化但没有 registry artefact。冲突会被记录,而不是被掩盖。 3. **Bounded Self-Correction** — 当存在矛盾时,agent 会针对冲突的 artefact 类型重新运行 定向分析。硬性上限为两次迭代,以防止死循环。 4. **Structured Audit Trail** — 每个 agent 动作都以 JSONL 格式记录,并带有 时间戳、置信度增量和工具调用记录。审查者可以将 任何发现追溯至其源头。 ## 为什么它很重要 CrowdStrike 观察到的突破时间:**7 分钟**。在事件活跃期间,人类分析师仍在 查找相关标志。 AletheiaIR 并不会让 agent 变得更快——它让 agent 变得*更值得信赖*。 一个产生确定性幻觉的自主 agent 并不是防御者。而一个在报告前进行 测量、反驳并自我纠错的 agent 才是防御者。 ## 核心保证 | 保证 | 在实践中的意义 | |-----------|---------------------------| | Evidence-first 分析 | 每一项发现都在到达报告之前锚定于源 artefact。 | | 矛盾感知工作流 | 检测并记录来源之间的冲突,而不是将其隐藏。 | | 有界纠错 | 定向重新分析仅在需要时运行,并在固定次数后停止。 | | 可追踪输出 | 报告和日志保留了推理路径、置信度变化和工具使用情况。 | | 只读证据处理 | 以保守方式处理输入 artefact,以减少意外修改或覆盖的风险。 | | 确定性 pipeline | 核心流程设计为可重复且可由其他分析师审查。 | ## 架构 ``` flowchart TD A[Evidence Sources\nmemory · disk · logs · pcap] --> B[Evidence Store\nSHA-256 hash · O_RDONLY] B --> C[Analyzer Agent\nPhase 1 — SIFT wrapper dispatch] C --> D[Validator Agent\nPhase 2 — Cross-source corroboration] D --> E[Contradiction Detector\nPhase 3 — Deterministic rule engine] E -->|contradictions found| F[Self-Correction Controller\nPhase 4 — Targeted re-analysis · max 2 iter] E -->|no contradictions| G F --> G[Reporter Agent\nPhase 5 — Markdown reports] G --> H[reports/final_report.md] G --> I[reports/accuracy_report.md] C --> J[logs/execution_log.jsonl] D --> J E --> J F --> J ``` **架构模式:** Direct Agent Extension 四个验证阶段封装了 Protocol SIFT 的工具访问层——它们不会 取代它。每个 SIFT 包装器函数都可以通过更改一个 函数体从 mock 升级为真实实现;无需进行其他代码更改。 ## 文件结构 ``` aletheia-ir/ ├── README.md ├── LICENSE MIT ├── requirements.txt (no mandatory external deps in core pipeline) ├── main.py CLI entry point ├── config.py Runtime tunables ├── agents/ │ ├── analyzer.py Phase 1 — tool dispatch │ ├── validator.py Phase 2 — cross-source corroboration │ ├── contradiction_detector.py Phase 3 — rule engine │ ├── self_corrector.py Phase 4 — bounded re-analysis loop │ └── reporter.py Phase 5 — Markdown + accuracy reports ├── sift_wrappers/ │ ├── memory_tools.py Volatility 3 wrappers (mock-compatible) │ ├── disk_tools.py TSK / Plaso / RegRipper wrappers │ ├── log_tools.py python-evtx / Chainsaw wrappers │ └── network_tools.py tshark / Zeek wrappers ├── core/ │ ├── schemas.py Finding, Contradiction, AuditEntry, CaseContext │ ├── evidence_store.py SHA-256 hashing, read-only file access │ ├── confidence.py Scoring thresholds, corroboration, penalties │ └── logger.py JSONL execution logger + terminal output ├── sample_cases/ │ ├── README.md │ └── mock_case.json Demo scenario definition ├── logs/ │ └── execution_log.jsonl Written at runtime ├── reports/ │ ├── final_report.md Written at runtime │ └── accuracy_report.md Written at runtime └── docs/ ├── architecture.md Detailed architecture + security boundaries └── devpost_submission.md Full Devpost project story ``` ## 设置说明 ### 前置条件 - Python 3.9 或更高版本 - mock 模式不需要强制的 pip 包(纯标准库) ### 安装 ``` git clone https://github.com//aletheia-ir cd aletheia-ir # 可选:安装 future integrations pip install -r requirements.txt ``` ## SIFT Workstation 设置 1. 从 [sans.org/tools/sift-workstation](https://www.sans.org/tools/sift-workstation/) 下载 SIFT Workstation OVA - 文件:`sift-2026-04-22.ova` 2. 导入到 VirtualBox 或 VMware 中 3. 启动 VM - **用户名:** `sansforensics` - **密码:** `forensics` 4. 在 VM 内部安装 Protocol SIFT: curl -fsSL https://raw.githubusercontent.com/teamdfir/protocol-sift/main/install.sh | bash 5. 在 VM 内部克隆 AletheiaIR: git clone https://github.com//aletheia-ir cd aletheia-ir ## 如何运行 ### Mock 模式(无需证据文件) ``` python main.py --case-name demo_case ``` ### 带有指定文件路径的 Mock 模式(逼真输出) ``` python main.py \ --memory sample_cases/mock_memory.raw \ --disk sample_cases/mock_disk.E01 \ --logs sample_cases/mock_evtx.log \ --case-name demo_case ``` ### 真实证据(SIFT Workstation 环境) ``` python main.py \ --memory /cases/memory.raw \ --disk /cases/disk.E01 \ --logs /cases/evtx.log \ --pcap /cases/capture.pcap \ --case-name real_case_001 ``` ## 输出文件 | 文件 | 描述 | |------|-------------| | `reports/final_report.md` | 完整事件报告:执行摘要、已确认/推断/未解决/矛盾发现、矛盾记录、自我纠错序列、置信度表、证据表、后续步骤 | | `reports/accuracy_report.md` | 自我评估:FP 分析、遗漏的 artefact、幻觉预防方法、架构与 prompt guardrails 对比 | | `logs/execution_log.jsonl` | 结构化审计追踪:每个带有时间戳、置信度增量和调用工具的 agent 动作 | ## 演示场景 内置的 mock 场景涵盖了一次无文件宏注入器攻击: | 步骤 | AletheiaIR 执行的操作 | |------|---------------------| | Memory 分析 | 发现带有编码 `-Enc` payload 的 PowerShell、与 185.220.101.47:4444 的 C2 连接、非镜像 VAD 中的 MZ header | | Disk 分析 | 发现**没有 PowerShell prefetch 文件**——关键矛盾 | | Log 分析 | 发现 Event 4104(IEX 下载器)、Event 4688(WINWORD→cmd 链) | | 矛盾检测 | 标记 memory↔disk 冲突:process 在 memory 中,但 disk 上没有 prefetch | | 自我纠错 | 定向的 malfind 重新分析确认了无文件执行指标 | | 报告 | 发现状态从 CONTRADICTED 提升为 UNRESOLVED,并附带解释 | 最终发现状态:**中等置信度,未解决**——对 证据缺口保持诚实,而不是产生确定性幻觉。 ## 限制 - 工具包装器是兼容 mock 的 stub。真实的 Volatility/TSK 集成 需要 SIFT Workstation 环境(参见每个 wrapper 中的 `# TODO` 块)。 - 核心 pipeline 中没有 LLM——所有发现的生成都是确定性的。未来的 版本可以在不触及 evidence integrity pipeline 的情况下添加 LLM 总结 层。 - 置信度得分是启发式的,未经 ground-truth 验证。 - 没有 private key 或 MITM proxy 的情况下,无法检查加密网络流量(TLS 1.3)。 - 单主机范围——不追踪横向移动。 ## 未来工作 - 真实的 Volatility 3 子进程集成(每个 wrapper 更改一个函数) - MCP server 封装,将每个 SIFT 工具作为类型化的 MCP endpoint 暴露 - LLM 总结层(受现有置信度 + 矛盾 pipeline 约束) - 通过 Chainsaw 集成 SIGMA 规则以进行 log 分析 - 持久的 SQLite 案例数据库,用于多轮关联 - 基于 Web 的报告查看器 ## 许可证 MIT License。完整文本请参见 [LICENSE](LICENSE)。
标签:AI智能体, SecList, 内存取证, 数字取证与应急响应(DFIR), 网络安全, 自动化分析, 自动化攻击, 跨站脚本, 逆向工具, 隐私保护