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), 网络安全, 自动化分析, 自动化攻击, 跨站脚本, 逆向工具, 隐私保护