8000 GitHub - weiwill88/Email_audit
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

weiwill88/Email_audit

Repository files navigation

邮件法证审计智能助手

本系统旨在利用大语言模型实现对被分析对象outlook邮箱中海量邮件的自动化分析和快速摘要,帮助法证审计人员迅速捕捉邮件中的蛛丝马迹,降低人工筛查工作量。特别针对长期邮件(如员工两年内的全部邮件)进行重点优化,实现自动摘要、疑点提示及重点预警功能。

🚀 快速开始

环境要求

  • Python 3.8+
  • DeepSeek API Key(默认模式)或 Ollama(离线模式)

安装依赖

pip install -r requirements.txt

模型选择

本项目支持两种模式运行:

1. 在线模式(默认,推荐)

使用 DeepSeek V3 API:

  • ✅ 优点:
    • 分析速度更快(约5-10倍)
    • 结果更准确
    • 无需本地部署
    • 资源占用少
  • ⚠️ 注意事项:
    • 需要联网
    • 需要 API 密钥
    • 邮件内容会发送至 API 服务器

配置方法:

  1. .env 文件中设置你的 API 密钥:
DEEPSEEK_API_KEY=你的密钥
DEFAULT_MODEL=deepseek_api

2. 离线模式

使用本地 Ollama 模型:

  • ✅ 优点:
    • 完全离线运行
    • 数据本地处理
    • 无需 API 密钥
  • ⚠️ 注意事项:
    • 需要较高配置(建议至少16GB内存)
    • 首次运行需要下载模型(约7GB)
    • 分析速度较慢

配置方法:

  1. 安装 Ollama:https://ollama.ai/
  2. 下载模型:
ollama pull deepseek-r1:7b
  1. .env 文件中修改配置:
DEFAULT_MODEL=ollama
OLLAMA_MODEL=deepseek-r1:7b

数据安全说明

  1. 在线模式(DeepSeek API):

    • 邮件内容会通过 HTTPS 发送至 API 服务器
    • 建议处理敏感数据时使用离线模式
    • API 提供商承诺不存储用户数据
  2. 离线模式(Ollama):

    • 所有数据本地处理
    • 无需网络连接
    • 适合处理敏感信息

🔄 系统流程

graph TB
    subgraph 数据获取
        A[PST文件] --> B[PST解析器]
        B --> |元数据提取| C[metadata.csv]
        B --> |文本清洗| D[邮件正文]
        B --> |附件提取| E[附件文件]
    end

    subgraph 数据预处理
        C --> F[数据标准化]
        D --> F
        F --> G[时间序列整理]
        G --> H[邮件线程归类]
        H --> I[数据结构化]
    end

    subgraph LLM分析
        I --> J{模型选择}
        J --> |在线模式| K[DeepSeek API]
        J --> |离线模式| L[Ollama本地模型]
        K --> M[风险评估]
        L --> M
        M --> N[自动摘要]
        M --> O[疑点检测]
        M --> P[关键词提取]
    end

    subgraph 风险评估
        O --> Q[时间异常分析]
        O --> R[外部联系分析]
        O --> S[内容敏感度分析]
        O --> T[附件风险分析]
    end

    subgraph 可视化输出
        Q --> U[时间线图表]
        R --> V[关系网络图]
        S --> W[风险热力图]
        T --> X[附件统计]
    end

    subgraph 报告生成
        U --> Y[审计报告]
        V --> Y
        W --> Y
        X --> Y
        N --> Y
        P --> Y
    end

    classDef default fill:#f9f9f9,stroke:#333,stroke-width:2px;
    classDef input fill:#e1f5fe,stroke:#0288d1,stroke-width:2px;
    classDef process fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px;
    classDef output fill:#e8f5e9,stroke:#2e7d32,stroke-width:2px;
    
    class A,C,E input;
    class B,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T process;
    class U,V,W,X,Y output;
Loading

使用方法

  1. PST文件解析:
python pst_parser.py

将自动解析指定路径下的PST文件,生成CSV格式的邮件元数据。

  1. 邮件分析:
python email_analyzer.py

默认使用 DeepSeek API 进行分析。如需切换到离线模式:

python email_analyzer.py --model ollama

对解析后的邮件进行智能分析,生成审计报告。

配置说明

程序会自动在当前目录的 output 文件夹下查找 metadata_report.csv 文件。 请确保 PST 解析后的文件被保存在正确的位置。

公司邮箱配置

.env 文件中设置公司邮箱域名:

COMPANY_DOMAIN=你的公司邮箱域名

此配置用于识别外部邮件,这是风险评估的重要指标。如果有多个域名,可以用逗号分隔。

🎯 核心功能

1. 数据获取与预处理

  • PST 文件解析 📁
    • 自动提取邮件全文、元数据和附件
    • 支持多种编码格式
    • 自动处理HTML内容
  • 数据清洗与聚合 🧹
    • 去重、时间序列整理
    • 按日期、项目或邮件线程归类
    • 保证邮件数据结构化

2. 智能分析与风险评估

  • 基于 DeepSeek 的邮件内容分析 🤖
    • 自动识别风险等级
    • 提供风险原因分析
    • 生成处理建议
  • 多维度风险评估 📊
    • 时间异常分析
    • 收发对象评估
    • 内容敏感度分析
    • 附件风险评估

3. 可视化与报告生成

  • 自动报告生成 📑
    • Word格式审计报告
    • 包含统计图表
    • 风险发现汇总
    • 建议措施清单
  • 交互式可视化 📈
    • 时间线分析图
    • 人员关系网络图
    • 风险分布热图

📊 输出示例

时间线分析

时间线分析

关系网络

关系网络

审计报告

  • 风险等级分布
  • 关键发现列表
  • 详细分析结果
  • 建议措 9F6A 施

🛠 技术特点

  • 基于 DeepSeek V3 大模型的智能分析
  • 高度自动化的邮件处理流程
  • 可解释的风险评估机制
  • 灵活的报告生成系统

📝 注意事项

  1. 请确保 DeepSeek API 密钥的有效性
  2. PST 文件路径需要具有读取权限
  3. 生成的报告默认保存在当前目录
  4. 建议处理前备份原始数据

🔄 后续迭代计划

  • 多模态附件分析
  • 实时监控模式
  • 批量处理优化
  • API接口支持
  • 自定义风险规则
  • 多语言支持

第一阶段:基础功能完善

  • 多模态附件分析
  • 实时监控模式
  • 批量处理优化
  • API接口支持
  • 自定义风险规则
  • 多语言支持

第二阶段:RAG 智能对话系统 ��

1. 邮件向量化与存储

  • 基于 ChromaDB 构建本地向量数据库
  • 实现增量数据更新机制
  • 支持多维度向量索引(正文、主题、时间等)
  • 优化向量压缩和检索性能

2. 智能问答系统

  • 实现基于上下文的多轮对话
  • 支持复杂查询和条件过滤
  • 添加时间范围和关键词筛选
  • 集成实体识别和关系提取

3. 深度分析功能

  • 邮件线索追踪和关联分析
  • 人物关系图谱构建
  • 事件脉络自动梳理
  • 异常行为模式识别
graph TB
    subgraph 数据准备
        A[邮件数据] --> B[文本预处理]
        B --> C[向量化]
        C --> D[ChromaDB存储]
    end

    subgraph 检索系统
        E[用户查询] --> F[查询理解]
        F --> G[向量检索]
        G --> H[相关性排序]
    end

    subgraph 智能问答
        H --> I[上下文组装]
        I --> J[LLM推理]
        J --> K[答案生成]
    end

    subgraph 知识增强
        D --> L[知识图谱]
        L --> M[关系推理]
        M --> I
    end

    classDef default fill:#f9f9f9,stroke:#333,stroke-width:2px;
    classDef storage fill:#e1f5fe,stroke:#0288d1,stroke-width:2px;
    classDef process fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px;
    classDef output fill:#e8f5e9,stroke:#2e7d32,stroke-width:2px;

    class D storage;
    class A,E input;
    class B,C,F,G,H,I,J,L,M process;
    class K output;
Loading

开发重点

  1. 数据处理优化

    • 实现高效的文本分块策略
    • 优化向量化性能
    • 设计增量更新机制
  2. 检索质量提升

    • 实现混合检索策略
    • 优化相关性排序算法
    • 添加语义相似度过滤
  3. 交互体验优化

    • 支持自然语言查询
    • 提供查询建议
    • 可视化分析结果
  4. 系统性能保障

    • 向量数据库性能调优
    • 查询缓存机制
    • 分布式处理支持

预期效果

  1. 深度理解能力

    • "谁在2023年12月提到过项目A的源代码?"
    • "张三和李四之间有哪些异常的邮件往来?"
    • "分析一下项目B从立项到交付的所有关键节点"
  2. 关联分析能力

    • 自动发现人员关系网络
    • 识别异常信息流动
    • 追踪敏感信息传播路径
  3. 辅助决策能力

    • 生成调查建议
    • 提供风险预警
    • 辅助证据收集

💡 注意:RAG 系统的开发将在保证数据安全的前提下进行,所有数据处理都在本地完成,不会有数据外传风险。

📄 许可证

MIT License

👥 贡献指南

欢迎提交 Issue 和 Pull Request


💡 本项目仅用于合法的邮件审计用途,请遵守相关法律法规。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

0