Tanmoy16/ForensiQ-Lite

GitHub: Tanmoy16/ForensiQ-Lite

一款 AI 驱动的轻量级数字取证初筛工具,能将日志、浏览器记录、二进制文件等多种证据自动关联成时间线并生成调查报告。

Stars: 1 | Forks: 0

# 🕵️‍♂️ ForensiQ-Lite ![Python](https://img.shields.io/badge/Python-3.8+-blue.svg) ![Flask](https://img.shields.io/badge/Framework-Flask-lightgrey.svg) ![AI](https://img.shields.io/badge/AI-Mistral%207B-orange.svg) ![License](https://img.shields.io/badge/License-MIT-green.svg) **ForensiQ-Lite** 是一款自动化、AI 驱动的数字取证与事件响应 (DFIR) 初筛工具。它能够摄取混合取证工件(日志、浏览器历史记录、二进制文件),将其关联为统一的按时间顺序排列的时间线,并利用本地大语言模型 (LLM) 生成全面的事件摘要。 该项目专注于数据隐私,所有 AI 处理均在您的硬件上**本地**完成,确保敏感日志数据不会离开您的环境。 ## ✨ 功能特性 * **多工件解析:** 智能地从 `.csv`(浏览器历史记录)、`.log/.txt`(系统/认证日志)和 `.exe/.dll/.bin`(可执行文件)中提取结构化数据。 * **智能回退路由:** 如果标准的文本/日志提取在模糊文件上失败,会自动尝试二进制分析。 * **统一时间线生成:** 将来自多个来源的分散数据点聚合到一个按时间排序的单一信息流中,以便轻松跟踪横向移动。 * **本地 AI 分析:** 通过 `ctransformers` 利用 Mistral-7b LLM 分析时间线,并生成执行摘要、攻击链重建和 IOC (入侵指标) 报告。 * **上下文窗口安全:** 实施智能文本截断和严格的令牌限制安全网,以防止在分析海量日志文件时导致模型崩溃。 * **跨平台优化:** 包含针对标准 Windows CPU 和高性能 Apple Silicon (M1/M2/M3) 环境定制的处理流水线。 * **赛博风格 Web 仪表板:** 一个时尚的暗色模式 Web 界面,具有拖放式证据上传和分屏报告查看功能。 ## 🛠️ 技术栈 * **后端:** Python, Flask, Werkzeug * **AI 引擎:** `ctransformers`, 本地 GGUF 模型 (Mistral) * **前端:** HTML5, CSS3 (自定义暗色/霓虹 UI), 原生 JavaScript * **取证解析器:** 自定义正则表达式引擎, CSV 方言嗅探器, 二进制分析模块 ## 🚀 快速开始 ### 前置条件 1. 您的系统上已安装 **Python 3.8+**。 2. **C++ 构建工具**(编译某些 Python 依赖项所需)。 3. **本地 LLM 模型:** 您必须下载 Mistral-7B GGUF 模型。 ### 安装说明 1. **克隆仓库:** git clone [https://github.com/yourusername/ForensiQ-Lite.git](https://github.com/yourusername/ForensiQ-Lite.git) cd ForensiQ-Lite 2. **创建并激活虚拟环境(推荐):** python -m venv venv # 在 Windows 上: venv\Scripts\activate # 在 macOS/Linux 上: source venv/bin/activate 3. **安装依赖项:** pip install Flask ctransformers werkzeug *(注意:请确保同时安装您的自定义 `Parser` 或 `timeline` 模块所需的任何依赖项)。* 4. **下载 AI 模型:** * 从 HuggingFace 下载 `mistral-7b-instruct-v0.2.Q4_K_M.gguf`(推荐使用 TheBloke 的仓库)。 * 在项目根目录下创建一个 `models` 目录。 * 将下载的 `.gguf` 文件放入 `models` 文件夹中。 ## 💻 使用方法 ### 方式 1:Web 界面 (Flask Dashboard) 提供用于拖放证据文件的丰富图形界面。 1. 运行 Flask 应用程序: python app.py 2. 打开您的 Web 浏览器并访问:`http://127.0.0.1:5000` 3. 使用界面上传您的 `.csv`、`.log` 或 `.exe` 文件,然后点击 **Initialize Analysis**(初始化分析)。 ### 方式 2:命令行界面 (CLI) 用于快速、基于终端的初筛。 1. 将您的证据文件放入 `Evidence/` 目录。 2. 运行调查脚本: python investigator.py *(或者,通过参数直接传递特定文件:`python investigator.py --csv path/to/history.csv --log path/to/auth.log`)* 3. 该工具会将分析结果输出到终端,并在根目录下保存一份详细的 `report.md`。 ## 📂 项目结构 ``` ForensiQ-Lite/ ├── app.py # Flask Web Server & API Routing ├── investigator.py # CLI Entry Point ├── timeline.py # Event correlation engine ├── ai/ │ └── summarizer.py # LLM Integration & Prompt Engineering ├── Parser/ │ ├── browser.py # CSV/Browser History extraction │ ├── log.py # Syslog/Auth log regex engine │ └── files.py # Binary metadata analysis ├── models/ │ └── mistral-7b-instruct-v0.2.Q4_K_M.gguf # Place LLM here ├── static/ # Web assets (CSS, JS) ├── templates/ # HTML views (index.html) └── Evidence/ # Temporary storage for active cases ```
标签:AI安全分析, Apple Silicon优化, ctransformers, DNS枚举, Flask, HTTP/HTTPS抓包, IOC提取, Mistral-7B, PE 加载器, Python, SecList, Web仪表盘, 内存取证, 域渗透, 大语言模型应用, 安全事故处理, 实时告警, 态势感知, 攻击时间线重构, 数字取证, 数据可视化, 无后门, 无线安全, 日志关联分析, 本地AI推理, 横向移动检测, 电子数据取证, 磁盘取证, 网络安全审计, 网络安全工具, 网络攻击溯源, 网络犯罪调查, 自动化脚本, 自动化调查报告, 逆向工具