strootle002/aIR
GitHub: strootle002/aIR
基于 Tauri 2 构建的跨平台 DFIR 取证与数据分析桌面工具,提供虚拟化电子表格、时间线图表和思维导图三种视图,在不修改原始证据的前提下完成日志导入、过滤、注释与探索。
Stars: 0 | Forks: 0
# aIR:带注释的事件响应与数据分析
跨平台 DFIR 取证和数据分析工具包,基于 **Tauri 2 + React + TypeScript** 构建,支持 Windows、macOS 和 Linux。
导入表格日志,在高速电子表格中进行过滤和注释,然后通过时间线图表和思维导图进行探索 —— 全程不修改原始证据文件。
## 产品名称
| 名称 | 角色 |
|------|------|
| **aIR** | 应用程序 (*带注释的事件响应与数据分析*) |
| **aGrid** | Artifact Grid —— 虚拟化电子表格 / 时间线查看器 |
| **aChart** | Asset Logs FlowChart —— 进程 / 资产泳道时间线 |
| **aMind** | 透视思维导图探索器(有序列 → 树状结构) |
## 功能
### aGrid
- 安全导入 **CSV / TSV / TXT / JSON / NDJSON**(仅限工作副本;原件保持不变)
- 虚拟化网格,采用 **Line → Tag → Tags → data** 列顺序
- 列级过滤(包含 / 包括 / 排除)、全局搜索以及 **Filter Editor**(AND / OR / NOT)
- 按列排序(适用时支持时间戳感知)
- 可选的时间戳列 **显示时区**(仅用于显示;CSV 值保持不变)
- 条件格式;手动行/列/单元格高亮和标签
- 按列标题分组(展开/折叠,按计数排序)
- 列的显示/隐藏、重新排序、调整大小、自动换行
- 将 **可见** 或 **高亮** 的行导出为 CSV 或 JSON
- 通过 `.ag_sess` 附属文件进行会话持久化
### 图表
- **时间线直方图** —— 刷选时间范围以过滤网格 (**Graph → Graph Timeline…**)
- **aChart** —— 进程生命周期、父→子派生链接、事件字形、宏观滚动条和检查器 (**Graph → Convert to aChart…**)
- **aMind** —— 将有序列映射为基于*当前已过滤*行的思维导图;按层级或分支展开/折叠 (**Graph → Convert to aMind…**)
- 图表 **Export…** —— 将当前视图或整个图表导出为 **PNG** 或 **PDF**(aChart 完整时间线 PDF 可以是多页的)
### 其他
- 浅色/深色外观和强调色主题 (**Settings**)
- 从图表节点/事件跳转回匹配的 aGrid 行(带高亮显示)
## 前置条件
- [Node.js](https://nodejs.org/) 20+
- [Rust](https://rustup.rs/) (稳定版)
- Tauri 的平台依赖包:[Tauri 前置条件](https://tauri.app/start/prerequisites/)
## 开发
```
npm install
npm run tauri dev
```
## 构建
```
npm run tauri build
```
安装包会生成在 `src-tauri/target/release/bundle/` 目录下,适用于**你当前构建所在的操作系统**(例如在 Linux 上生成 `.deb` / AppImage)。Windows 的 `.exe` 必须在 Windows 上构建(或通过 CI)。
### GitHub Release (Windows + Linux)
本仓库包含 [`.github/workflows/release.yml`](.github/workflows/release.yml),它会构建:
| 平台 | 典型构建产物 |
|----------|-------------------|
| Windows | NSIS `.exe`, `.msi` |
| Linux | `.deb`, `.AppImage` |
通过打上一个与 `src-tauri/tauri.conf.json` 匹配的版本标签(当前为 `0.1.0`)来发布一个发布草稿:
```
git tag v0.1.0
git push origin v0.1.0
```
或者运行 **Actions → Release → Run workflow**。
在仓库中:**Settings → Actions → General → Workflow permissions → Read and write permissions**。
## 示例数据
打开 [`samples/demo_boot_session.csv`](samples/demo_boot_session.csv) —— 这是一个主机 `DEMO-PC01` 上模拟的 Sysmon 风格的启动 / 登录会话。
建议的探索步骤:
1. **Graph → Graph Timeline…** 浏览随时间变化的密度
2. **Graph → Convert to aChart: Asset Logs FlowChart…** —— 映射会自动建议进程 / 父进程 / 事件动作列
3. **Graph → Convert to aMind…** —— 例如层级为 `event.category` → `process.name` → `event.action`
## 导入安全性
打开时,aIR 会将所选文件复制到应用程序工作区中:
```
/artifactgrid/imports//
```
源文件永远不会被以写入方式打开,也不会被 aIR 锁定。(磁盘上的文件夹名称 `artifactgrid` 为保持兼容性而保留。)
## 许可证
[MIT](LICENSE) — 版权所有 (c) 2026 ArtifactGrid 贡献者
标签:MITM代理, 可视化界面, 自动化攻击