prithakdas/pdf-malware-analyzer

GitHub: prithakdas/pdf-malware-analyzer

一款基于Python的PDF恶意软件静态分析工具,通过检测可疑关键字、嵌入JavaScript、混淆模式和IOC指标对PDF文件进行风险分级,帮助安全人员快速识别恶意PDF。

Stars: 1 | Forks: 0

# 📄 PDF 恶意软件分析工具包 一个基于 Python 的静态分析工具,用于扫描 PDF 文件中的恶意内容。 自动扫描文件夹中的所有 PDF 并生成详细的风险报告。 ## 🚀 功能 - 🔍 **关键字检测** — `/OpenAction`、`/Launch`、`/EmbeddedFile`、`/XFA`、`/AA` - 📊 **元数据提取** — 检测可疑的创建工具(msfvenom、metasploit 等) - 🌐 **IOC 检测** — 提取并过滤 URL 和 IP 地址 - 🧠 **JavaScript 分析** — 检测嵌入的 JS 和混淆模式 - 🗜️ **流解压缩** — 扫描 FlateDecode 压缩流内部以查找隐藏的 payload - ⚠️ **风险评分** — 低 / 中 / 高,附带详细原因 - 📄 **报告生成** — 易读的控制台报告 + 可选的文件保存 - 📁 **批量扫描** — 自动扫描文件夹中的所有 PDF ## 🛠️ 技术栈 - Python 3 - PyPDF2 - Regex - Zlib(流解压缩) ## 📁 项目结构 ``` pdf-malware-analyzer/ │ ├── main.py ├── requirements.txt ├── README.md ├── clean.pdf ├── malicious.pdf │ └── modules/ ├── loader.py ├── metadata.py ├── scanner.py ├── ioc_detector.py ├── js_analyzer.py ├── risk_engine.py └── report_generator.py ``` ## ▶️ 如何运行 1. 克隆仓库: ``` git clone https://github.com/prithakdas/pdf-malware-analyzer.git cd pdf-malware-analyzer ``` 2. 安装依赖项: ``` pip install -r requirements.txt ``` 3. 运行工具: ``` # 扫描当前文件夹中的所有 PDF python main.py # 扫描特定文件夹中的所有 PDF python main.py "C:\Users\Prithak\Documents\pdfs" ``` ## 📊 示例输出 ``` [+] Found 2 PDF(s) in: C:\Users\Prithak\Desktop\PDF Malware Analyzer [+] Starting analysis... [1/2] clean.pdf ================================================== PDF MALWARE ANALYSIS REPORT ================================================== [Timestamp] 2026-04-29 13:49:16 [File] clean.pdf [Risk Level] LOW [Risk Score] 0 [+] Summary: ✅ This PDF appears clean. No major threats detected. [2/2] malicious.pdf ================================================== PDF MALWARE ANALYSIS REPORT ================================================== [Timestamp] 2026-04-29 13:49:16 [File] malicious.pdf [Risk Level] HIGH [Risk Score] 14 [+] Risk Reasons: - Suspicious keywords found: /OpenAction - JavaScript detected: /JavaScript, /JS - Obfuscation patterns found: eval(), unescape(), base64, String.fromCharCode - JS + Obfuscation combo detected — high likelihood of malicious payload [+] Summary: ⚠️ This PDF is highly suspicious and likely contains malicious content. [+] All done. 2 PDF(s) scanned. [?] Save all reports to file? (y/n): y [+] All reports saved: report_all_20260429_134916.txt ``` ## ⚠️ 风险评分 | 指标 | 分数 | |---|---| | 可疑关键字 | +3 | | 检测到 JavaScript | +3 | | 混淆模式 | +5 | | 发现 URL | +1 | | 发现 IP 地址 | +2 | | JS + 混淆组合 | +3 附加分 | | URL + IP 同时出现 | +2 附加分 | | 分数 | 风险等级 | |---|---| | 0 – 4 | 🟢 低 | | 5 – 9 | 🟡 中 | | 10+ | 🔴 高 | ## ⚠️ 免责声明 本工具仅出于教育和研究目的开发。 它不保证能完全检测出恶意软件。 在生产环境中,请始终使用专业的安全工具。 ## 👨‍💻 作者 Prithak Das
标签:DNS 反向解析, Go语言工具, IOC提取, IP 地址批量处理, PDF恶意软件分析, PyPDF2, Python安全工具, Zlib解压, 云安全监控, 元数据提取, 域名收集, 威胁情报, 开发者工具, 恶意PDF检测, 无服务器架构, 混淆检测, 网络安全, 网络指标, 进程保护, 隐私保护, 静态分析, 风险评分