shalemn4/IRIS
GitHub: shalemn4/IRIS
IRIS 是一个现代化的全栈数字取证与应急响应工作台,为 SOC 分析师提供从日志摄取、ATT&CK 映射到证据管理和报告生成的一站式调查环境。
Stars: 0 | Forks: 0
# 应急响应调查 Studio (IRIS)
Incident Response Investigation Studio (IRIS) 是一个现代化的、全栈数字取证与应急响应(DFIR)工作台。IRIS 专为安全运营中心(SOC)分析师和威胁狩猎者设计,提供了一个具有凝聚力、单窗口的环境,用于摄取原始日志、隔离关键里程碑、将活动与 MITRE ATT&CK 框架进行映射、管理取证证据,以及构建权威的案件时间线。
## 🌟 核心功能
### 1. 摄取与实时取证分析
- **双模式摄取沙箱**:支持直接拖放文件上传(例如 `.txt`、`.log`、`.json`、`.csv`)和手动多行文本粘贴。
- **双向取证检查(正常与异常)**:
- **正常活动**:高亮显示安全的系统基线、符合策略的用户登录以及标准的授权系统活动。
- **异常行为**:即时标记可疑的命令执行模式、撞库尝试、出站数据泄露或未经授权的权限提升途径。
### 2. 交互式 MITRE ATT&CK 链路映射
- **时序卡片**:通过动态状态流,精美地展示攻击周期逐步演变的过程。
- **节点上下文查看器**:即时深入了解特定技术、提取描述以及相关的事件详情。
### 3. 动态调查时间线
- **时序排列**:按时间顺序排列提取的里程碑,并支持反向排序(最新优先与最早优先)。
- **自定义事件注入**:注入手动的威胁观察记录,包含精确的自定义标题、时间戳、描述和 MITRE ID。
- **严重性过滤**:根据威胁严重性(低、中、高、严重)动态筛选事件。
### 4. 安全证据柜
- **原始文件目录**:上传并绑定原始取证 payload、数据包捕获(PCAP)、配置文件或内存转储到特定的时间线事件。
- **元数据框架**:使用清晰的标题、类别指示器和明确的关联事件绑定,对证据来源进行标记和分类。
### 5. AI 辅助报告生成与草稿本
- **Markdown 分析师笔记**:在实时分析会话期间记录持久化、格式化的笔记。
- **撰写的事件报告导出器**:生成结构化的最终事件摘要,随时可用于演示或交接。
- **打印优化**:包含专门优化的媒体打印布局,可轻松将报告保存或共享为 PDF。
## 🛠️ 技术栈
### 前端(客户端 SPA)
- **框架**:React 18 & TypeScript
- **构建系统**:Vite(优化的资源构建)
- **样式**:Tailwind CSS(经过精细打磨的现代 zinc 主题)
- **图标**:Lucide React
- **动画**:Framer Motion(用于呈现流畅、自然的视口交互)
### 后端(服务端 API)
- **服务端框架**:Node.js & Express
- **API 引擎**:智能模式匹配器,用于解析时间戳、用户名和 MITRE 分类矩阵。
- **AI 集成**:由服务端 Google Gemini SDK(`@google/genai`)提供支持,可在不暴露 API 密钥的情况下生成摘要。
## 📂 项目结构
```
├── server.ts # Custom Express full-stack entry point & log parsers
├── package.json # Deployment scripts, engine requirements, and dependencies
├── metadata.json # Application specifications & major capabilities
├── src/
│ ├── App.tsx # Main layout, State managers, and UI tabs
│ ├── index.css # Global Tailwind declarations & theme settings
│ ├── main.tsx # React application entry point
│ ├── types.ts # Common type definitions (Cases, Events, Evidence)
│ └── components/
│ ├── LandingPage.tsx # Cinematic onboarding experience & preloaded cases
│ ├── Dashboard.tsx # Live status aggregates, case metrics, and logs counter
│ ├── CasesPage.tsx # Incident creation, status controls, and target matrices
│ ├── AttackChain.tsx # Linear attack cycle graph visualizer
│ ├── TimelineBuilder.tsx # Active event stream, sorting, filtering, and manual injects
│ ├── EvidenceLocker.tsx # Drag-and-drop secure forensic storage binder
│ ├── NotesEditor.tsx # Analyst scratchpad
│ └── ReportSystem.tsx # PDF-friendly report generator with AI integration
```
## 🚀 快速开始
### 1. 安装
在本地安装项目依赖:
```
npm install
```
### 2. 配置环境变量
复制 `.env.example` 以创建本地环境文件,并包含您的 API 密钥:
```
cp .env.example .env
```
确保您的 Gemini 凭据已安全添加至 `.env` 中:
```
GEMINI_API_KEY=your_google_gemini_api_key_here
```
### 3. 运行开发服务器
启动集成的 Vite/Express 服务器:
```
npm run dev
```
服务器将在端口 `3000` 上启动运行。
### 4. 生产环境构建与执行
编译前端和后端,以实现高性能的生产环境分发:
```
npm run build
npm run start
```
这会将后端打包为位于 `dist/server.cjs` 下的强大独立包,并将客户端 SPA 编译到 `dist/` 目录中。
标签:ATT&CK映射, MITM代理, 安全运营, 库, 应急响应, 扫描框架, 数字取证, 自动化攻击, 自动化脚本, 速率限制处理