Muhammad-Rebaal/DFIR-Agent
GitHub: Muhammad-Rebaal/DFIR-Agent
DFIR-Agent 是一个基于大语言模型的自主数字取证与事件响应 AI 调查员,通过迭代式假设-查询-观察循环在遥测数据库中发现攻击链并自动生成调查报告。
Stars: 0 | Forks: 0
DFIR-Agent🕵🏻
 一个自主的数字取证与事件响应(DFIR)AI 调查员。DFIR-Agent 使用大型语言模型(由 Groq 提供支持)来自主搜寻原始遥测数据,提出假设,针对证据数据库执行 SQL 查询,并有机地发现攻击链。 ## 功能 - **自主威胁狩猎**:采用迭代循环,代理在其中形成假设、对日志运行 SQL 查询、评估观察结果,并根据发现进行自我纠正。 - **模拟遥测数据库**:配备了全面的模拟数据集,包括登录日志、警报证据、电子邮件事件、收件箱规则、日历事件、文件访问日志等。 - **自动化报告**:自动生成专业的 DFIR 事件响应报告,总结执行摘要、攻击时间表、受损实体和泄露的数据。 - **反记忆(匿名化)测试**:通过重新生成匿名化环境来测试代理的逻辑推理和泛化能力。这确保了代理使用合理的取证方法,而不是简单地记忆基准数据。 - **评分与评估系统**:根据真实解决方案评估代理的最终答案和逐步调查路径,提供折扣奖励分数以衡量性能。 ## 架构 代理作为一个自主循环运行,与 SQLite 遥测数据库进行交互: 1. **思考与假设**:代理对事件提出理论。 2. **行动(`execute_sql`)**:使用 SQL 查询模拟环境(`simulated_db.db`)。 3. **观察**:摄取查询结果并将其记录下来。 4. **自我批评**:如果查询失败或没有结果,则调整查询。 5. **行动(`submit`)**:提交最终发现并触发自动报告生成。 ## 项目结构 - `main.py`:运行环境测试、重新生成匿名化数据库以及编排评估流程的入口点。 - `agent.py`:核心代理逻辑、系统提示、通过 Groq API 进行的 LLM 集成,以及 ReAct 风格的调查循环。 - `db.py`:数据库引擎设置以及使用 SQLite 和 Pandas 进行的安全 SQL 执行。 - `data.py`:模拟数据定义和包含模拟遥测日志的 DataFrames。 - `regenerate.py`:强大的匿名化功能,使用随机标识符替换特定的用户数据、IP 和 SID,以生成新的测试环境。 - `scorer.py`:包含奖励函数,用于根据预定义的真实解决方案路径评估记录和最终答案。 ## 设置与安装 1. **克隆存储库:** git clone标签:C2, DLL 劫持, Sysdig, 大语言模型, 安全运营, 扫描框架, 自动化调查, 逆向工具