H4ckOpsAI/ai-linux-investigator
GitHub: H4ckOpsAI/ai-linux-investigator
一个结合Docker攻击模拟与AI分析的开源Linux取证与安全调查平台,提供从遥测收集、规则检测到MITRE ATT&CK映射及可视化仪表板的完整事件响应工作流。
Stars: 1 | Forks: 0
# AI Linux 调查员
**一个 AI 辅助的 Linux 取证与安全调查平台**








AI Linux Investigator 是一个在网络安全实习期间(2026年6月8日 – 2026年6月27日)开发的开源项目。本仓库展示了 Linux 取证证据收集、基于规则的威胁检测、MITRE ATT&CK 映射、AI 辅助的事件分析、基于 Docker 的攻击模拟,以及安全的 DevSecOps 软件工程实践。
调查引擎使用确定性的基于规则的检测独立运行。AI 仅用于通过生成调查摘要、上下文解释和修复建议来协助分析师。
## 项目状态
✅ 实习已完成
✅ 持续开发中
✅ 文档完整
✅ GitHub Actions Pipeline 通过
## 仓库统计
- **后端:** FastAPI (Python)
- **前端:** React + Vite
- **Docker 镜像:** 4
- **GitHub Actions Pipeline:** 4 个安全门控
- **每日工程文档:** 实习进度日志
- **调查仪表板:** React SPA
- **MITRE ATT&CK 集成:** 已实现
## 展示的技能
* Linux 系统管理
* Linux 取证
* 事件响应
* 数字取证
* Python
* FastAPI
* React
* Docker
* Docker Compose
* GitHub Actions
* DevSecOps
* 安全的 SDLC
* MITRE ATT&CK
* AI 辅助安全调查
## 🎯 为什么开发此项目
本项目是在网络安全实习期间开发的。主要目标是将 Linux 取证、AI 辅助安全调查、Docker 容器化和 DevSecOps 结合成一个综合性的平台。
本仓库的重点是学习和实施真实世界的安全工程实践,从安全的 SDLC pipeline 到取证遥测收集。
## ⚠️ 免责声明
本项目仅供教育、研究和网络安全培训目的使用。
所有攻击模拟均在受控实验室环境的独立 Docker 容器中执行。本项目无意在未经明确授权的情况下对系统使用。
## 📋 项目目标
- **收集 Linux 取证遥测数据**,来自模拟的目标机器。
- **规范化证据**,将原始 bash 输出转换为结构化的 JSON。
- **检测可疑行为**,使用确定性的基于规则的分析器。
- **将发现映射到 MITRE ATT&CK** 战术和技术。
- **生成 AI 辅助的调查报告**以协助分析师。
- **展示发现**通过交互式 React 仪表板。
- **保护 SDLC 的安全**使用严格的 DevSecOps pipeline(Bandit、Semgrep、Trivy、Gitleaks)。
## ⭐ 仓库亮点
- 基于 Docker 的 Linux 调查实验室
- AI 辅助的安全调查报告
- MITRE ATT&CK 映射
- FastAPI 后端
- React 仪表板
- 自动化遥测收集
- DevSecOps CI/CD pipeline
- 多阶段加固的 Docker 镜像
- 使用 Bandit、Semgrep、Trivy 和 Gitleaks 进行安全扫描
## 🎥 演示
下面的截图展示了完整的调查工作流程,从攻击模拟和遥测收集到 AI 辅助的事件分析和可视化。
有关完整的界面演示,请参阅 **应用 walkthrough** 部分。
## ⚡ 功能
### 调查引擎
* **证据收集:** 检索结构化的系统状态数据。
* **基于规则的检测:** 使用确定性逻辑标记诸如 CPU 过度利用和可疑的反向 shell 等指标。
* **AI 辅助安全调查:** AI 通过解释发现、生成摘要和建议修复措施来协助分析师。
* **风险评分:** 根据活跃威胁计算整体安全态势评分。
### Linux 遥测
* **进程:** 捕获正在运行的二进制文件、CPU/RAM 利用率和 PID。
* **网络:** 映射活跃的监听器、已建立的连接和绑定接口。
* **登录活动:** 重构历史身份验证事件。
* **用户:** 枚举本地系统账户。
* **Cron 任务:** 识别计划任务和潜在的持久化机制。
### 情报
* **MITRE ATT&CK 映射:** 将基于规则的发现转化为标准化的战术和技术。
* **威胁关联:** 将提取的发现链接回其原始遥测 artifacts。
* **调查时间线:** 显示系统事件的时间顺序。
* **AI 摘要:** AI 通过生成执行级别的解释和量身定制的修复指导来协助分析师。
### 前端
* **React 仪表板:** 为浏览调查数据而构建的简洁 UI。
* **发现资源管理器:** 用于过滤和审查安全标记的界面。
* **攻击链:** 突出显示攻击进展阶段的可视化模块。
* **MITRE 矩阵:** 检测到的技术的可视化布局。
### 基础设施与 DevSecOps
* **Docker 实验室:** 一个专用的、隔离的环境,包含攻击者和目标。
* **历史遥测:** 仅追加的日志文件提供取证快照。
* **共享卷架构:** 安全地将日志从实验室传递到平台,无需特权 socket 挂载。
* **GitHub Actions:** 每次推送/PR 时的 CI/CD 自动化,具有严格的质量和安全门控。
## 关键设计决策
* **共享 Docker 卷** 而不是 Docker socket 挂载,以防止容器逃逸漏洞。
* **将确定性基于规则的检测与 AI 辅助推理分离**,以确保准确的警报而不会产生幻觉。
* **多阶段 Docker 构建**,以最小化 runtime 镜像并减少攻击面。
* **非 root 容器**,以改善容器安全性并实现最小权限执行。
* **仅追加遥测**,以保留取证证据并防止篡改。
## 验证
本项目已成功通过以下方式进行验证:
* Docker 集成测试
* GitHub Actions CI/CD
* Bandit (Python SAST)
* Semgrep (Polyglot SAST)
* Trivy (容器漏洞扫描)
* Gitleaks (密钥扫描)
* 手动端到端调查工作流程
## 当前限制
* 仅限 Linux 的调查环境。
* 单一目标主机。
* 模拟遥测而不是生产环境的 endpoint。
* Groq API 仅用于 AI 辅助摘要。
* 尚未实现身份验证或 RBAC。
## 🎞️ 演示工作流程
```
Attack Simulation
↓
Telemetry Collection
↓
Evidence Parsing
↓
Rule-Based Detection
↓
MITRE ATT&CK Mapping
↓
AI Analysis
↓
React Dashboard
```
## 🏗 架构

该平台将攻击模拟、遥测收集、证据解析、确定性威胁检测、AI 辅助分析和可视化分离为独立的组件,并通过 Docker 网络和共享卷进行连接。
*高层架构展示了安全实验室、调查 pipeline、AI 分析引擎、报告工作流程和 DevSecOps 集成。*
```
graph TD
A[Attacker] -->|Exploits / SSH| B(Ubuntu Target)
B -->|Generates Evidence| C[Telemetry Collector]
C -->|Shared Volume Append| D[Backend FastAPI]
D -->|Parses Logs| E[Investigation Engine]
E -->|Rule Detections| F[MITRE Mapper]
F -->|Raw Findings| G[AI Report Generator]
G -->|JSON Assessment| H[React Dashboard]
```
## 📁 项目结构
* **`backend/`**: FastAPI Python 后端,包含调查引擎、基于规则的分析器、MITRE 映射器和 Groq LLM 集成。
* **`frontend/`**: 基于 React 的 SPA。包括动态路由、Tailwind 样式和情报 UI 层。
* **`lab/`**: 包含 `ubuntu-target` 和 `attacker` 模拟容器的 Dockerfile 和 payload 脚本。
* **`docs/`**: 项目文档、每日进度报告和生成的摘要导出。
* **`.github/workflows/`**: CI/CD DevSecOps pipeline 配置 (`security.yml`)。
## 🛠 技术栈
| 技术 | 用途 | 版本 |
| :--- | :--- | :--- |
| **Python** | 后端 API、证据解析、调查引擎 | 3.11 |
| **FastAPI** | 高性能异步 REST 框架 | 最新 |
| **React** | 交互式仪表板 UI | 18 |
| **Vite** | 前端构建工具 | 最新 |
| **Docker** | 容器化与编排 | Compose V2 |
| **GitHub Actions** | 自动化 CI/CD 执行 | v4 |
| **Groq** | Groq (Llama 3) 通过解释发现、生成摘要和建议修复措施来协助分析师。 | Llama-3 |
| **MITRE ATT&CK** | 标准化的威胁情报框架 | N/A |
| **Bandit** | Python 安全扫描 | 最新 |
| **Semgrep** | Polyglot 静态代码分析 | 最新 |
| **Trivy** | 容器漏洞扫描 | 最新 |
| **Gitleaks** | 仓库密钥检测 | 8.18 |
| **Nginx** | 前端静态服务与反向代理 | Alpine |
## 🔌 API 参考
后端暴露了以下主要 endpoint:
* **`GET /api/health`**
* **描述:** 基本的健康检查 endpoint,用于验证后端的可用性。由 Docker Compose 健康检查使用。
* **返回:** `{"status": "ok"}`
* **`GET /api/investigate`**
* **描述:** 触发完整的调查工作流程。它解析最新的遥测数据,执行基于规则的分析器,将发现映射到 MITRE ATT&CK,并请求 AI 辅助的事件评估。
* **返回:** 一个包含 `"evidence"`、`"findings"` 和 `"ai_analysis"` 的全面 JSON 对象。
## 🐳 Docker 架构
环境分为两个独立的编排:
1. **主平台**: 在其独立的隔离网络上运行的 `backend` (FastAPI) 和 `frontend` (Nginx/React) 服务。
2. **Docker 实验室**: `attacker` 和 `ubuntu-target` 容器,安全地模拟恶意软件和身份验证尝试。
3. **遥测卷**: 一个外部的、共享的 Docker 卷 (`ai_investigator_telemetry`),作为安全的桥梁。实验室将日志写入其中,后端从中读取。
*为什么这样设计?* 此架构确保调查平台与模拟目标机器保持解耦,反映了隔离的取证数据收集,而无需挂载主机的 Docker socket。
## 📜 取证遥测收集
目标容器持续捕获遥测数据:
- **仅追加日志**: 系统状态(例如,`ps aux`、`ss -tulnp`)会不断追加到 `.log` 文件中。
- **时间戳**: 每个块都以 ISO-8601 UTC 时间戳为前缀。
- **日志轮转:** 内置的 bash 脚本轮转可防止磁盘耗尽。
- **共享卷:** 日志被安全地移交给后端。
这种设计支持基本的时间线重建,并允许未来扩展到追溯事件重放。
遥测源自专门为安全测试创建的受控 Docker 实验室。这允许进行可重复的调查,而无需访问生产系统。
## 🧠 MITRE ATT&CK 集成
**MITRE ATT&CK** 是一个全球可访问的对手战术和技术知识库。
此平台将特定的基于规则的发现直接映射到框架以提供上下文:
- *可疑的 Cron 任务* → **T1053.003** (计划任务/作业: Cron)
- *可疑的网络监听器* → **T1105** (入口工具传输)
- *可疑的挖矿进程* → **T1496** (资源劫持)
## 🛡️ DevSecOps Pipeline
GitHub Actions pipeline 通过四个阶段严格把关每一次提交:
**Push / PR**
↓
1. **质量门控**: 验证前端构建、Python 语法和 Docker Compose 配置。
2. **SAST 门控**: 运行 Bandit 和 Semgrep 以阻止危险的代码模式。
3. **密钥扫描门控**: 运行 Gitleaks,如果提交了 `.env` 密钥或 token,则构建失败。
4. **容器扫描门控**: Trivy 构建并扫描 Docker 层,如果检测到 `HIGH` 或 `CRITICAL` 漏洞,则 pipeline 失败。
↓
**通过**
## 🔒 安全加固
- **非 Root 容器**: Nginx 和 Uvicorn 都会放弃 root 权限并以 `appuser` 身份执行。
- **健康检查**: `docker-compose` 确保服务优雅地等待其依赖项变得健康。
- **多阶段构建**: 构建工具(`pip`、`wheel`、`setuptools`)会从最终的 runtime 镜像中被精准卸载,以最小化攻击面。
- **容器隔离**: 调查平台严格依赖通过共享卷传递的文本日志,消除了由于 socket 挂载带来的潜在容器逃逸漏洞。
- **减少攻击面**: runtime镜像移除了构建时工具(`pip`、`setuptools` 和 `wheel`),以减少容器的攻击面。
## 📸 应用 walkthrough
### 1. 调查初始化

*图 1. 执行前的初始调查屏幕,显示整体平台健康状况和系统状态。*
### 2. 调查仪表板

*图 2. 调查快照,显示计算的威胁评分、检测到的攻击阶段、杀伤链可视化、系统健康状况和调查摘要。*
### 3. 自动化事件简报

*图 3. AI 辅助的事件响应建议,包括遏制措施、移除持久化、网络监控和修复指导。*
### 4. MITRE ATT&CK 映射

*图 4. 检测到的行为映射到 MITRE ATT&CK 战术和技术,并附有支持证据和时间事件排序。*
### 5. AI 分析师观察

*图 5. AI 辅助的调查叙述,总结了攻击进展、持久化机制、命令和控制活动、执行以及整体系统影响。*
### 6. 调查发现

*图 6. 详细的调查卡片,显示单个发现、严重程度级别、相关的 MITRE 技术、证据和取证观察结果。*
### 7. 取证遥测浏览器

*图 7. 交互式遥测浏览器,显示从调查目标收集的进程、网络连接、用户账户、持久化 artifacts 和身份验证证据。*
## 🚀 安装
**要求:**
- Docker Engine & Docker Compose
- Groq API 密钥(支持免费层级)
**1. 克隆仓库**
```
git clone https://github.com/H4ckOpsAI/ai-linux-investigator.git
cd ai-linux-investigator
```
**2. 配置环境变量**
```
cp .env.example .env
nano .env
```
*(插入您的 `GROQ_API_KEY`)*
**3. 启动架构**
首先,启动生成遥测的实验室:
```
docker compose -f docker-compose.lab.yml up -d --build
```
接下来,启动调查平台:
```
docker compose up -d --build
```
**预期 URL:**
- **仪表板**: `http://localhost:80`
- **后端 API**: `http://localhost:8000/api/health`
## ⚙️ 配置
平台依赖 `.env` 文件进行 API 身份验证。
- **`GROQ_API_KEY`**: 为底层的 LLM 调查叙述提供支持。
- **优雅降级**: 如果 API 密钥缺失或无效,后端将干净地降级。它会返回基于规则的结构化发现,但会跳过 AI 叙述,从而防止应用程序崩溃。
## 💻 运行项目
**查看平台日志:**
```
docker compose logs -f
```
**停止实验室:**
```
docker compose -f docker-compose.lab.yml down
```
**重新构建一切:**
```
docker compose down -v
docker compose build --no-cache
docker compose up -d
```
## 🕵️ 调查示例
该平台旨在反映真实世界 SOC 分析师的工作流程:
1. **模拟事件**: 启动 Docker 实验室。attacker 容器立即开始暴力破解 SSH,并在目标上执行模拟的 payload。
2. **收集遥测**: 目标容器安全地将按时间排序的系统快照(进程树、活动 socket)追加到共享卷中。
3. **执行分析**: 导航到 React 仪表板 (`http://localhost`) 并触发扫描。后端解析遥测数据,应用确定性检测逻辑,并请求 AI 辅助的事件评估。
4. **警报送诊**: 审查发现资源管理器以调查高严重性指标,例如反向 shell 监听器或未经授权的 cron 任务。
5. **将威胁情境化**: 观察平台如何将孤立的警报映射到更广泛的 MITRE ATT&CK 类别中。
6. **审查事件叙述**: 阅读 AI 辅助的报告,以快速了解攻击者从初始访问到持久化的进展,以及量身定制的修复建议。
## 🎓 学习成果
构建本项目提供了跨多个工程领域的深度、实践经验:
- **安全的 Docker 镜像设计**
- **构建可重现的调查环境**
- **设计基于规则的检测 pipeline**
- **将 AI 集成到安全工作流程中**
- **在 CI/CD 中实施自动化安全门控**
## 🗺️ 未来改进
### 短期改进
- 实时遥测流
### 中期改进
- Sigma 规则集成
- YARA 规则集成
### 长期改进
- SIEM 集成 (Elastic、Splunk)
- 多目标调查
- 身份验证和 RBAC
- Kubernetes 部署
## 🤝 贡献
随时欢迎贡献!
1. Fork 本项目。
2. 创建一个功能分支 (`git checkout -b feature/AmazingFeature`)。
3. 提交您的更改 (`git commit -m 'Add some AmazingFeature'`)。
4. 推送到分支 (`git push origin feature/AmazingFeature`)。
5. 打开一个 Pull Request。
在请求审查之前,请确保所有 GitHub Actions DevSecOps 门控都已通过。
## 📄 许可证
本项目基于 MIT 许可证授权 - 有关详细信息,请参阅 LICENSE 文件。
## 👤 作者
**姓名**: Avinash R
**GitHub**: [https://github.com/H4ckOpsAI](https://github.com/H4ckOpsAI)
**LinkedIn**: [https://www.linkedin.com/in/avinash312006/](https://www.linkedin.com/in/avinash312006/)
**标语**: 网络安全 | Linux | AI | DevSecOps
标签:AMSI绕过, AV绕过, Docker, FastAPI, React, Syscalls, 威胁检测, 子域名变形, 安全调查, 安全防御评估, 数字取证, 网络安全审计, 自动化脚本, 自定义脚本, 请求拦截, 逆向工具