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代理, 安全运营, 库, 应急响应, 扫描框架, 数字取证, 自动化攻击, 自动化脚本, 速率限制处理