sebastiancoronadev/DocCore

GitHub: sebastiancoronadev/DocCore

DocCore 是一款完全在内存中运行的多语言文档安全分析引擎,通过并行 YARA 扫描、PDF 解析和威胁检测来识别文档中的恶意内容。

Stars: 0 | Forks: 0

# 📄 DocCore · 核文 ### 多层文档分析引擎 · 企业数据安全 [![Website](https://img.shields.io/badge/Website-codexstudiove.com-0A0A0A?style=for-the-badge&logo=vercel&logoColor=white)](https://www.codexstudiove.com) [![GitHub](https://img.shields.io/badge/GitHub-@sebastiancoronadev-181717?style=for-the-badge&logo=github&logoColor=white)](https://github.com/sebastiancoronadev) [![LinkedIn](https://img.shields.io/badge/LinkedIn-0A66C2?style=for-the-badge&logo=linkedin&logoColor=white)](https://linkedin.com/in/sebastiancoronadev) [![Email](https://img.shields.io/badge/Email-sebastiancorona@codexstudiove.com-EA4335?style=for-the-badge&logo=gmail&logoColor=white)](mailto:sebastiancorona@codexstudiove.com) ### 作者:

@sebastiancoronadev 

@liangzhaodev 

**Lead Security Architects** · [codexstudiove.com](https://www.codexstudiove.com) **Huizhiyun Technologies Inc. · 汇智云科技股份有限公司 · Enterprise Data Solutions**
# 🇨🇳 中文 ## 📋 项目概述 **DocCore (核文)** 是一个多层文档分析引擎,完全在内存中运行,不依赖外部数据库或图形界面。每个模块都使用最适合其特定功能的语言编写,优先考虑性能和准确性,而非技术同质性。 执行流程遵循集中编排模式,PowerShell 充当协调大脑,根据文件类型和请求的分析深度调用 Rust、Python、C++ 和 Node.js 中的专业模块。所有模块通过 stdout 使用 JSON 进行通信,允许替换任何组件而不影响系统的其余部分。 ## 🏗️ 系统架构 ``` ┌────────────────────────────────────────────────────────────────────────────┐ │ DOCORE ORCHESTRATOR │ │ PowerShell │ ├────────────────────────────────────────────────────────────────────────────┤ │ │ │ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │ │ │ Rust │ │ Python │ │ C++ │ │ Node.js │ │ │ │ Binary │ │ Document │ │ Memory │ │ Script │ │ │ │ Scanner │ │ Analyzer │ │ Handler │ │ Analyzer │ │ │ │ Parallel │ │ PDF Parser │ │ Buffer │ │ Static │ │ │ │ YARA │ │ Metadata │ │ Operations │ │ Detection │ │ │ └──────────────┘ └──────────────┘ └──────────────┘ └──────────────┘ │ │ │ │ │ │ │ │ └─────────────────┼─────────────────┼─────────────────┘ │ │ │ │ │ │ ┌──────▼─────────────────▼───────┐ │ │ │ JSON Report Output │ │ │ │ Threat Level │ │ │ │ Suspicious Patterns │ │ │ └────────────────────────────────┘ │ └────────────────────────────────────────────────────────────────────────────┘ ``` ## 🛠️ 技术栈

| 模块 | 语言 | 功能 | |------|------|------| | **编排器** | PowerShell | 协调、文件检测、威胁聚合 | | **二进制扫描器** | Rust | 并行 YARA、哈希、熵分析 | | **文档分析器** | Python | PDF 解析、元数据提取、JavaScript 检测 | | **内存处理器** | C++ | 缓冲区操作、负载提取 | | **脚本分析器** | Node.js | 静态代码分析、混淆检测 | ## 🔧 模块详解 ### PowerShell 编排器 编排器管理每个分析的完整生命周期。调用 `Start-DocCoreScan` 时,会创建一个带有唯一标识符的隔离会话,封装所有结果。此会话不会持久化到磁盘,确保每次分析都是独立的且不留下痕迹。 **Magic Bytes 识别:** 检查文件的前八个字节以识别实际格式,忽略文件扩展名。识别的 Magic Bytes 包括 PDF、OLE2、Office Open XML、PE 可执行文件、ELF 二进制和 Mach-O。 **香农熵计算:** 分析文件中每个字节的频率分布。熵值高于 0.85 表示加密或压缩内容,低于 0.40 表示纯文本或源代码。 **威胁等级聚合:** YARA 模式检测贡献最多 40 分,高熵贡献 30 分,可疑流贡献 20 分。阈值:70+ = 严重,40-69 = 高,<40 = 低。 ### Rust 二进制扫描器 利用 Rayon 库的并发能力,在所有可用 CPU 核心上自动分配工作。使用内存映射文件避免将完整文件加载到内存中,允许分析任何大小的文档,RAM 消耗恒定。 **并行哈希计算:** SHA-256、SHA-512 和 MD5 在单独的线程中同时计算。对于大文件,扫描器将数据分块并独立处理每个块,在现代化硬件上达到高达 1.5 GB/s 的处理速度。 **YARA 模式检测:** 在 Rust 中直接实现 YARA 语言子集。模式包括已知恶意软件签名如 PE 头、NOP sled shellcode、Base64 编码的 PowerShell 命令和 JavaScript 混淆模式。 **分区分析:** 将文件分割成 4096 字节块并计算每个块的局部熵。熵值高于 0.90 的区域标记为高度可疑。 ### Python 文档分析器 实现 PDF 解析器,遍历文件内部结构以查找可疑对象。检查每个压缩流,使用 zlib 解压并分析其内容,寻找嵌入的 JavaScript、危险 API 调用和混淆模式。 **JavaScript 提取:** 使用专门的 regex 搜索 `/JavaScript`、`/JS`、`eval()`、`unescape()`、`String.fromCharCode` 和 `ActiveXObject` 等对象。 **元数据提取:** 提取作者、创建者、生产者、创建和修改日期。支持多种 PDF 字符串编码:UTF-8、UTF-16 Big Endian、UTF-16 Little Endian 和 ASCII。 **中文编码检测:** 在 0xE4-0xE9 范围内寻找多字节 UTF-8 字节序列,这是中文、日文和韩文字符的特征。 ### C++ 内存处理器 直接在文件的二进制缓冲区上操作,允许在解释型语言中效率低下的低级操作。使用直接指针和地址算术以获得最大速度。 **元数据删除:** 逐字节遍历文件,识别标准 PDF 元数据键并将其从缓冲区中删除。 **Payload 提取:** 搜索嵌入可执行文件的二进制签名:MZ 头(PE)、0x7F454C46(ELF)和 0xCAFEBABE(Mach-O)。还使用 256 字节滑动窗口以 50% 重叠识别可能包含 shellcode 的高熵区域。 ### Node.js 脚本分析器 将文件内容作为文本进行静态分析,搜索恶意代码模式,无论容器格式如何。即使它们位于 Python 模块已提取的压缩流中,也能检测 VBA 宏、嵌入脚本和 JavaScript 代码。 **可疑函数检测:** 维护包括 `eval()`、`ActiveXObject`、`WScript.Shell` 和 `String.fromCharCode` 等模式的数据库。 **混淆评分:** 评估平均行长度(过长的行表示压缩或混淆代码)、特殊字符比例(正常代码以字母数字为主)和长 Base64 字符串数量(常用于隐藏 payloads)。 **风险评估:** 结合混淆检测、可疑函数计数和文本内容的熵以产生最终分类。 ## 🛡️ 安全设计原则 | 原则 | 描述 | |------|------| | **离线模式** | 信息不会离开系统 | | **零数据库** | 消除攻击面 | | **仅内存处理** | 磁盘上不留痕迹 | | **会话隔离** | 防止分析之间的交叉污染 | | **模块独立性** | 每个模块都可替换 | | **JSON 通信** | 最简单的通用协议 | ## 🚀 使用方式 ``` # 基本分析 Start-DocCoreScan -FilePath "document.pdf" # 深度扫描 Start-DocCoreScan -FilePath "document.pdf" -DeepScan # 剥离元数据 Start-DocCoreScan -FilePath "document.pdf" -StripMetadata # 提取 Payloads Start-DocCoreScan -FilePath "document.pdf" -ExtractPayloads ``` ## 📄 许可证 版权所有 © 2026 **Huizhiyun Technologies Inc.** · **汇智云科技股份有限公司** All Rights Reserved · 保留所有权利 # 🇺🇸 ENGLISH ## 📋 项目概述 **DocCore (核文)** 是一个多层文档分析引擎,完全在内存中运行,不依赖外部数据库或图形界面。每个模块都使用最适合其特定功能的语言编写,优先考虑性能和准确性,而非技术同质性。 执行流程遵循集中编排模式,PowerShell 充当协调大脑,根据文件类型和请求的分析深度调用 Rust、Python、C++ 和 Node.js 中的专业模块。所有模块通过 stdout 使用 JSON 进行通信,允许替换任何组件而不影响系统的其余部分。 ## 🏗️ 系统架构 ``` ┌────────────────────────────────────────────────────────────────────────────┐ │ DOCORE ORCHESTRATOR │ │ PowerShell │ ├────────────────────────────────────────────────────────────────────────────┤ │ │ │ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │ │ │ Rust │ │ Python │ │ C++ │ │ Node.js │ │ │ │ Binary │ │ Document │ │ Memory │ │ Script │ │ │ │ Scanner │ │ Analyzer │ │ Handler │ │ Analyzer │ │ │ │ Parallel │ │ PDF Parser │ │ Buffer │ │ Static │ │ │ │ YARA │ │ Metadata │ │ Operations │ │ Detection │ │ │ └──────────────┘ └──────────────┘ └──────────────┘ └──────────────┘ │ │ │ │ │ │ │ │ └─────────────────┼─────────────────┼─────────────────┘ │ │ │ │ │ │ ┌──────▼─────────────────▼───────┐ │ │ │ JSON Report Output │ │ │ │ Threat Level │ │ │ │ Suspicious Patterns │ │ │ └────────────────────────────────┘ │ └────────────────────────────────────────────────────────────────────────────┘ ``` ## 🛠️ 技术栈

| 模块 | 语言 | 功能 | |--------|----------|----------| | **编排器** | PowerShell | 协调、文件检测、威胁聚合 | | **二进制扫描器** | Rust | 并行 YARA、哈希、熵分析 | | **文档分析器** | Python | PDF 解析、元数据提取、JavaScript 检测 | | **内存处理器** | C++ | 缓冲区操作、负载提取 | | **脚本分析器** | Node.js | 静态代码分析、混淆检测 | ## 🔧 模块详解 ### PowerShell 编排器 编排器管理每个分析的完整生命周期。调用 `Start-DocCoreScan` 时,会创建一个带有唯一标识符的隔离会话,封装所有结果。此会话不会持久化到磁盘,确保每次分析都是独立的且不留下痕迹。 **Magic Bytes 识别:** 检查文件的前八个字节以识别实际格式,忽略文件扩展名。识别的 Magic Bytes 包括 PDF、OLE2、Office Open XML、PE 可执行文件、ELF 二进制和 Mach-O。 **香农熵计算:** 分析文件中每个字节的频率分布。熵值高于 0.85 表示加密或压缩内容,低于 0.40 表示纯文本或源代码。 **威胁等级聚合:** YARA 模式检测贡献最多 40 分,高熵贡献 30 分,可疑流贡献 20 分。阈值:70+ = 严重,40-69 = 高,<40 = 低。 ### Rust 二进制扫描器 利用 Rayon 库的并发能力,在所有可用 CPU 核心上自动分配工作。使用内存映射文件避免将完整文件加载到内存中,允许分析任何大小的文档,RAM 消耗恒定。 **并行哈希计算:** SHA-256、SHA-512 和 MD5 在单独的线程中同时计算。对于大文件,扫描器将数据分块并独立处理每个块,在现代化硬件上达到高达 1.5 GB/s 的处理速度。 **YARA 模式检测:** 在 Rust 中直接实现 YARA 语言子集。模式包括已知恶意软件签名如 PE 头、NOP sled shellcode、Base64 编码的 PowerShell 命令和 JavaScript 混淆模式。 **分区分析:** 将文件分割成 4096 字节块并计算每个块的局部熵。熵值高于 0.90 的区域标记为高度可疑。 ### Python 文档分析器 实现 PDF 解析器,遍历文件内部结构以查找可疑对象。检查每个压缩流,使用 zlib 解压并分析其内容,寻找嵌入的 JavaScript、危险 API 调用和混淆模式。 **JavaScript 提取:** 使用专门的 regex 搜索 `/JavaScript`、`/JS`、`eval()`、`unescape()`、`String.fromCharCode` 和 `ActiveXObject` 等对象。 **元数据提取:** 提取作者、创建者、生产者、创建和修改日期。支持多种 PDF 字符串编码:UTF-8、UTF-16 Big Endian、UTF-16 Little Endian 和 ASCII。 **中文编码检测:** 在 0xE4-0xE9 范围内寻找多字节 UTF-8 字节序列,这是中文、日文和韩文字符的特征。 ### C++ 内存处理器 直接在文件的二进制缓冲区上操作,允许在解释型语言中效率低下的低级操作。使用直接指针和地址算术以获得最大速度。 **元数据删除:** 逐字节遍历文件,识别标准 PDF 元数据键并将其从缓冲区中删除。 **Payload 提取:** 搜索嵌入可执行文件的二进制签名:MZ 头(PE)、0x7F454C46(ELF)和 0xCAFEBABE(Mach-O)。还使用 256 字节滑动窗口以 50% 重叠识别可能包含 shellcode 的高熵区域。 ### Node.js 脚本分析器 将文件内容作为文本进行静态分析,搜索恶意代码模式,无论容器格式如何。即使它们位于 Python 模块已提取的压缩流中,也能检测 VBA 宏、嵌入脚本和 JavaScript 代码。 **可疑函数检测:** 维护包括 `eval()`、`ActiveXObject`、`WScript.Shell` 和 `String.fromCharCode` 等模式的数据库。 **混淆评分:** 评估平均行长度(过长的行表示压缩或混淆代码)、特殊字符比例(正常代码以字母数字为主)和长 Base64 字符串数量(常用于隐藏 payloads)。 **风险评估:** 结合混淆检测、可疑函数计数和文本内容的熵以产生最终分类。 ## 🛡️ 安全设计原则 | 原则 | 描述 | |-----------|-------------| | **离线模式** | 信息不会离开系统 | | **零数据库** | 消除攻击面 | | **仅内存处理** | 磁盘上不留痕迹 | | **会话隔离** | 防止分析之间的交叉污染 | | **模块独立性** | 每个模块都可替换 | | **JSON 通信** | 最简单的通用协议 | ## 🚀 使用方式 ``` # 基础分析 Start-DocCoreScan -FilePath "document.pdf" # 深度扫描 Start-DocCoreScan -FilePath "document.pdf" -DeepScan # Strip metadata Start-DocCoreScan -FilePath "document.pdf" -StripMetadata # Extract payloads Start-DocCoreScan -FilePath "document.pdf" -ExtractPayloads ``` ## 📄 许可证 版权所有 © 2026 **Huizhiyun Technologies Inc.** · **汇智云科技股份有限公司** All Rights Reserved # 🇪🇸 ESPAÑOL ## 📋 项目概述 **DocCore (核文)** 是一个多层文档分析引擎,完全在内存中运行,不依赖外部数据库或图形界面。每个模块都使用最适合其特定功能的语言编写,优先考虑性能和准确性,而非技术同质性执行流程遵循集中编排模式,PowerShell 充当协调大脑,根据文件类型和请求的分析深度调用 Rust、Python、C++ 和 Node.js 中的专业模块。所有模块通过 stdout 使用 JSON 进行通信,允许替换任何组件而不影响系统的其余部分。 ## 🏗️ 系统架构 ``` ┌────────────────────────────────────────────────────────────────────────────┐ │ DOCORE ORCHESTRATOR │ │ PowerShell │ ├────────────────────────────────────────────────────────────────────────────┤ │ │ │ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │ │ │ Rust │ │ Python │ │ C++ │ │ Node.js │ │ │ │ Binary │ │ Document │ │ Memory │ │ Script │ │ │ │ Scanner │ │ Analyzer │ │ Handler │ │ Analyzer │ │ │ │ Parallel │ │ PDF Parser │ │ Buffer │ │ Static │ │ │ │ YARA │ │ Metadata │ │ Operations │ │ Detection │ │ │ └──────────────┘ └──────────────┘ └──────────────┘ └──────────────┘ │ │ │ │ │ │ │ │ └─────────────────┼─────────────────┼─────────────────┘ │ │ │ │ │ │ ┌──────▼─────────────────▼───────┐ │ │ │ JSON Report Output │ │ │ │ Threat Level │ │ │ │ Suspicious Patterns │ │ │ └────────────────────────────────┘ │ └────────────────────────────────────────────────────────────────────────────┘ ``` ## 🛠️ 技术栈

| 模块 | 语言 | 功能 | |--------|----------|---------| | **编排器** | PowerShell | 协调、文件检测、威胁聚合 | | **二进制扫描器** | Rust | 并行 YARA、哈希、熵分析 | | **文档分析器** | Python | PDF 解析、元数据提取、JavaScript 检测 | | **内存处理器** | C++ | 缓冲区操作、负载提取 | | **脚本分析器** | Node.js | 静态代码分析、混淆检测 | ## 🔧 模块详解 ### PowerShell 编排器 编排器管理每个分析的完整生命周期。调用 `Start-DocCoreScan` 时,会创建一个带有唯一标识符的隔离会话,封装所有结果。此会话不会持久化到磁盘,确保每次分析都是独立的且不留下痕迹。 **Magic Bytes 识别:** 检查文件的前八个字节以识别实际格式,忽略文件扩展名。识别的 Magic Bytes 包括 PDF、OLE2、Office Open XML、PE 可执行文件、ELF 二进制和 Mach-O。 **香农熵计算:** 分析文件中每个字节的频率分布。熵值高于 0.85 表示加密或压缩内容,低于 0.40 表示纯文本或源代码。 **威胁等级聚合:** YARA 模式检测贡献最多 40 分,高熵贡献 30 分,可疑流贡献 20 分。阈值:70+ = 严重,40-69 = 高,<40 = 低。 ### Rust 二进制扫描器 利用 Rayon 库的并发能力,在所有可用 CPU 核心上自动分配工作。使用内存映射文件避免将完整文件加载到内存中,允许分析任何大小的文档,RAM 消耗恒定。 **并行哈希计算:** SHA-256、SHA-512 和 MD5 在单独的线程中同时计算。对于大文件,扫描器将数据分块并独立处理每个块,在现代化硬件上达到高达 1.5 GB/s 的处理速度。 **YARA 模式检测:** 在 Rust 中直接实现 YARA 语言子集。模式包括已知恶意软件签名如 PE 头、NOP sled shellcode、Base64 编码的 PowerShell 命令和 JavaScript 混淆模式。 **分区分析:** 将文件分割成 4096 字节块并计算每个块的局部熵。熵值高于 0.90 的区域标记为高度可疑。 ### Python 文档分析器 实现 PDF 解析器,遍历文件内部结构以查找可疑对象。检查每个压缩流,使用 zlib 解压并分析其内容,寻找嵌入的 JavaScript、危险 API 调用和混淆模式。 **JavaScript 提取:** 使用专门的 regex 搜索 `/JavaScript`、`/JS`、`eval()`、`unescape()`、`String.fromCharCode` 和 `ActiveXObject` 等对象。 **元数据提取:** 提取作者、创建者、生产者、创建和修改日期。支持多种 PDF 字符串编码:UTF-8、UTF-16 Big Endian、UTF-16 Little Endian 和 ASCII。 **中文编码检测:** 在 0xE4-0xE9 范围内寻找多字节 UTF-8 字节序列,这是中文、日文和韩文字符的特征。 ### C++ 内存处理器 直接在文件的二进制缓冲区上操作,允许在解释型语言中效率低下的低级操作。使用直接指针和地址算术以获得最大速度。 **元数据删除:** 逐字节遍历文件,识别标准 PDF 元数据键并将其从缓冲区中删除。 **Payload 提取:** 搜索嵌入可执行文件的二进制签名:MZ 头(PE)、0x7F454C46(ELF)和 0xCAFEBABE(Mach-O)。还使用 256 字节滑动窗口以 50% 重叠识别可能包含 shellcode 的高熵区域。 ### Node.js 脚本分析器 将文件内容作为文本进行静态分析,搜索恶意代码模式,无论容器格式如何。即使它们位于 Python 模块已提取的压缩流中,也能检测 VBA 宏、嵌入脚本和 JavaScript 代码。 **可疑函数检测:** 维护包括 `eval()`、`ActiveXObject`、`WScript.Shell` 和 `String.fromCharCode` 等模式的数据库。 **混淆评分:** 评估平均行长度(过长的行表示压缩或混淆代码)、特殊字符比例(正常代码以字母数字为主)和长 Base64 字符串数量(常用于隐藏 payloads)。 **风险评估:** 结合混淆检测、可疑函数计数和文本内容的熵以产生最终分类。 ## 🛡️ 安全设计原则 | 原则 | 描述 | |-----------|-------------| | **离线模式** | 信息不会离开系统 | | **零数据库** | 消除攻击面 | | **仅内存处理** | 磁盘上不留痕迹 | | **会话隔离** | 防止分析之间的交叉污染 | | **模块独立性** | 每个模块都可替换 | | **JSON 通信** | 最简单的通用协议 | ## 🚀 使用方式 ``` # 基础分析 Start-DocCoreScan -FilePath "document.pdf" # 深度扫描 Start-DocCoreScan -FilePath "document.pdf" -DeepScan # 移除 metadata Start-DocCoreScan -FilePath "document.pdf" -StripMetadata # 提取 payloads Start-DocCoreScan -FilePath "document.pdf" -ExtractPayloads ``` ## 📄 许可证 版权所有 © 2026 **Huizhiyun Technologies Inc.** · **汇智云科技股份有限公司** All Rights Reserved · 保留所有权利
**⭐ 如果喜欢这个项目,请在 GitHub 上给它一颗星!** 💜 **⭐ 如果喜欢这个项目,请在 GitHub 上给它一颗星!** 💜 **⭐ 如果喜欢这个项目,请在 GitHub 上给它一颗星!** 💜
**由 Sebastián Corona & Liang Zhao 带着 💜 发布** *构建企业级文档安全解决方案。*
标签:AI合规, AMSI绕过, DNS 反向解析, Libemu, MITM代理, URL发现, YARA, 云资产可视化, 内存计算, 可视化界面, 威胁检测, 安全检测, 文档分析, 逆向工具