Kamalhas2005/cdr-forensic-platform

GitHub: Kamalhas2005/cdr-forensic-platform

一个基于内容解除与重构(CDR)技术的文档安全分析平台,能够对PDF和OOXML文件进行静态分析、威胁净化和IOC提取,并提供可视化取证仪表盘。

Stars: 0 | Forks: 0

# 🛡 CDR Forensic Platform ![CDR 仪表盘](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/d849b208af132937.png) 一个基于**内容解除与重构**的取证系统,用于检测、分析和消除 **PDF 和 OOXML 文档(PPT、DOCX、XLSX)** 中的威胁。 本平台执行**静态分析、IOC 提取和安全净化**,同时提供用于**调查和报告的取证仪表盘**。 # 📌 1. 系统实际功能 本系统: - 扫描上传的文档以查找**主动和被动威胁** - 提取: - 外部 URL - 域名 - IP 地址 - 移除: - JavaScript - 嵌入对象 - 外部关系 - 危险的 PDF 操作 - 生成: - 净化后的文件 - 威胁日志 - 风险分类 - 在**取证仪表盘**中显示所有信息 👉 所有处理均**基于非执行(安全分析)** ## 📂 项目结构 项目由用于处理、存储和可视化的逻辑组件构成: ``` cdr-forensic-platform/ │ ├── app.py # Main Flask application (routes + UI rendering) ├── db.py # Database schema, tables, and views ├── sanitizer.py # Core CDR engine (PDF + OOXML processing) │ ├── requirements.txt # Python dependencies ├── README.md # Project documentation ├── .gitignore # Ignored files │ ├── data/ # Runtime-generated directory │ ├── uploads/ # Original uploaded files │ ├── sanitized/ # Sanitized output files │ └── db/ │ └── cdr.db # SQLite database │ ├── graphs/ # Generated analytical graphs (matplotlib output) │ ├── attack_surface_decline.png │ └── threat_neutralization.png ``` ### 🔹 注意事项 - `data/` 文件夹**在运行时自动创建** - `graphs/` 文件夹存储生成的可视化输出 - 这些目录无需手动设置 # 📌 2. 内部工作原理(基于代码逻辑) ## 🔹 文件处理流程 1. 文件上传 → 保存至 `data/uploads` 2. 计算 SHA256 → 避免重复扫描 3. 从原始字节进行 IOC 提取(URL + IP 正则表达式) 4. 应用威胁评分: - JavaScript → 高 - 嵌入对象 → 高 - 链接 → 中 5. 净化: - PDF → pikepdf 对象移除 - OOXML → ZIP 提取 + XML 清理 6. 干净文件保存至 `data/sanitized` 7. 数据存储于: - `scans` 表 - `detections` 表 8. 仪表盘从 **`cdr_logs` 视图(聚合)** 读取数据 # 📌 3. 仪表盘(详细说明) ## 🔹 主仪表盘 (`/`) ### 📊 顶部统计部分 - **Total Scans** → 显示的记录数 - **Threat Types** → 独特的检测类型 - **High Risk** → 高风险文件数量 ![顶部统计](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/cb988e66c6132938.png) ## 🔹 搜索系统 - 使用 SQL: ``` WHERE original_filename LIKE '%search%' ``` - 支持分页 ![搜索结果](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/63ea54789b132940.png) ## 🔹 上传部分 支持 3 种模式: | 类型 | 路由 | | ------------- | ---------------- | | PDF 上传 | `/upload` | | 文件夹上传 | `/upload-folder` | | PPT / OOXML | `/upload-ppt` | ![上传部分](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/6dcedf33a5132941.png) ## 🔹 扫描表格(核心组件) 每行数据均来自 `cdr_logs` 视图: | 列名 | 含义 | | ------- | -------------------------- | | ID | Scan ID | | File | 原始文件 | | Threats | 聚合的检测类型 | | Action | FOUND / REMOVED | | Risk | LOW / MEDIUM / HIGH | | Time | 扫描时间戳 | ## ![扫描表格](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/490875c7fe132942.png) ## 🔹 批量删除 - 每行带有复选框 - 删除: - 磁盘上的文件 - 数据库条目(scans + detections) ![批量删除](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/6154a057cd132944.png) ## 🔹 分页 - 每页 10 行 - 使用: ``` LIMIT ? OFFSET ? ``` ![分页](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/7513a87f4b132945.png) # 📌 4. 扫描详情页 (`/scan/`) 显示: - 文件名 - 风险等级 - SHA256 哈希值 - 总分 - 详细检测: | 项目 | 位置 | 原因 | 分数 | 操作 | ![扫描详情](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/8b006855a5132946.png) # 📌 5. 分割视图(仅限 PDF) 路由:`/split/` 显示: - 左侧 → 原始 PDF - 右侧 → 净化后的 PDF ![分割视图](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/fc4ec89e57132948.png) # 📌 6. IOC 仪表盘 (`/ioc`) 提取自: - `domains` - `ips` 使用聚合显示频率计数 ## ![IOC 仪表盘](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/93b2d0dec8132949.png) # 📌 7. 评估报告 (`/evaluation`) 基于检测逻辑: - **Before CDR** = Found + Removed - **After CDR** = Found - **CDR Effectiveness** = Removed / Total 同时显示: - IOC 数量 - 最终风险 - 投递决策: - TRUSTED - CAUTION - BLOCKED ![评估报告](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/c6728a294c132951.png) # 📌 8. 交叉评估 (`/cross-evaluation`) 将您的系统与**业界 CDR 行为**进行比较 示例: - 宏移除 ✔ - JS 移除 ✔ - 嵌入对象移除 ✔ ![交叉评估](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/b07d8d570e132952.png) ## 📊 9. 基于图表的分析 (`/decline`) 平台使用服务器端绘图生成**可视化取证洞察**。 为每次扫描序列生成两张分析图表: ### 🔹 攻击面缩减 - 比较: - **净化前**的威胁对象总数 - **净化后**剩余的非可执行指标 - 展示 CDR 如何减少可利用内容,同时保留取证可见性 ### 🔹 威胁检测与消除 - 显示: - 检测到的威胁数量 - 成功移除的威胁数量 - 验证净化引擎的有效性 这些图表: - 使用 **matplotlib** 动态生成 - 存储为图像文件 - 可用于**下载和报告** ![攻击面缩减](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/7ce347f0e4132954.png) ![威胁消除](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/c799613145132955.png) ## 📤 10. 数据导出 系统提供用于外部分析的结构化导出功能。 ### 可用的导出端点 - `/export` → 导出完整的扫描日志 - `/evaluation/download` → 导出带有 CDR 指标的评估报告 ### 导出的数据包括 - 文件元数据 - 检测到的威胁 - 采取的操作(FOUND / REMOVED) - 风险分类 - CDR 有效性指标 👉 输出格式:**CSV(可用于分析)** ## ![CSV 导出](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/343abd8f00132957.png) ## ⚙️ 11. 安装与使用 按照以下步骤在本地运行项目。 ### 🔹 克隆仓库 ``` git clone https://github.com/Kamalhas2005/cdr-forensic-platform.git cd cdr-forensic-platform ``` ### 🔹 创建虚拟环境 ``` python -m venv .venv ``` 激活环境: ``` .\.venv\Scripts\activate ``` ### 🔹 安装依赖 ``` python -m pip install -r requirements.txt ``` ### 🔹 运行应用 ``` python app.py ``` ### 🔹 访问仪表盘 ``` http://127.0.0.1:5000 ``` ## 📊 数据集与测试环境 本项目使用公开可用的文档样本和受控测试环境进行了评估。 - 样本文件(PDF 和 OOXML 格式)来源于 Kaggle 上可用的数据集 - 分析了大约 **80–90 个文件**,以验证系统在多种威胁场景下的行为 - 测试在基于 **VMware 的隔离环境**中进行,以确保安全处理潜在的恶意文档 此设置允许进行受控实验,包括: - 嵌入对象 - 外部链接和 IOC - 基于脚本的威胁 - 文档结构操纵 👉 确保**安全性**和**逼真的威胁评估** ## 📁 12. 运行时目录结构 系统动态创建以下结构: ``` data/ ├── uploads/ # Original uploaded files ├── sanitized/ # Cleaned output files ├── db/ # SQLite database (cdr.db) ``` - 所有路径均为**可移植且独立于环境** - 未使用硬编码的系统路径 ## 🔐 13. 安全设计原则 本平台遵循**安全分析与重构原则**: - **无文件执行** — 所有分析均为静态 - **内容解除方法** — 移除风险元素,而不仅仅是检测 - **URL 防护** — 防止与恶意链接发生意外交互 - **证据保留** — 保留非可执行指标以供取证使用 - **零日弹性** — 不依赖于基于签名的检测 ## 💡 14. 核心优势 本项目展示了以下多方面的结合: - **安全工程** → 威胁检测 + 净化 pipeline - **数字取证 (DFIR)** → IOC 提取 + 结构化证据记录 - **后端系统设计** → 带有聚合视图的数据库驱动架构 - **可扩展的仪表盘设计** → 搜索、分页和批量操作 - **多格式处理** → 同时支持 PDF 和 OOXML 格式 ## 🚧 15. 未来改进 针对生产级部署的潜在扩展方向: - 🔐 用户身份验证和访问控制 - ☁️ 云端部署(SaaS 模式) - 🤖 基于机器学习的威胁分类 - 🌐 用于与其他系统集成的 REST API - 📊 高级分析和报告 ## 👨‍💻 作者 **Kamalhas Chikudu** 🔗 https://github.com/Kamalhas2005 ## ⭐ 最终说明 本项目演示了以下方面的实际应用: - 内容解除与重构 (CDR) - 安全文档处理 - 取证数据分析 如果您觉得这个项目有用,请考虑 ⭐ 收藏本仓库。
标签:AMSI绕过, CDR, DAST, DFIR, Flask, Go语言工具, IOC提取, OOXML安全, PDF安全, Python, SQLite, 云安全监控, 仪表盘, 内容解除与重构, 威胁检测, 威胁消除, 安全分析平台, 安全防护, 安全面板, 恶意文档检测, 恶意软件分析, 数字取证, 文件消毒, 无后门, 溯源追踪, 漏洞分析, 网络威胁情报, 自动化脚本, 路径探测, 逆向工具, 静态分析, 风险分类