Yashas1604/pdf-malware-analysis-toolkit

GitHub: Yashas1604/pdf-malware-analysis-toolkit

一款基于Python的PDF恶意软件静态分析工具包,通过关键词检测、IOC提取和风险评分帮助安全人员快速甄别可疑PDF文档。

Stars: 0 | Forks: 0

# 🔍 PDF 恶意软件分析工具包 ![Python](https://img.shields.io/badge/Python-3.10+-blue?style=flat-square&logo=python) ![Security](https://img.shields.io/badge/Category-Cybersecurity-red?style=flat-square) ![License](https://img.shields.io/badge/License-MIT-green?style=flat-square) ![Status](https://img.shields.io/badge/Status-Active-brightgreen?style=flat-square) ## 📌 项目概述 本工具包对 PDF 文件执行**静态分析**以检测恶意内容, 而无需执行该文件。它专为数字取证分析师和 网络安全专业人员设计,用于快速甄别可疑的 PDF 文档。 ## 🎯 目标 - 检测 PDF 中可疑的 JavaScript、嵌入文件和漏洞利用触发器 - 提取攻击指标 (IOC) —— URL、IP、电子邮件 - 分配严重性评分:CLEAN / LOW / MEDIUM / HIGH / CRITICAL - 自动生成结构化的恶意软件分析报告 ## 🛠️ 工具与技术 | 工具 | 用途 | |------|---------| | Python 3.10+ | 核心编程语言 | | PyMuPDF (fitz) | PDF 解析和元数据提取 | | re (Regex) | IOC 模式匹配 | | os / sys | 文件处理 | ## ⚙️ 工作流架构 ``` START ↓ STEP 1 → Load PDF & Extract Metadata ↓ STEP 2 → Object Enumeration ↓ STEP 3 → Keyword-Based Detection (/JavaScript, /OpenAction, /EmbeddedFile...) ↓ STEP 4 → Deep Parsing (streams, encoded content) ↓ STEP 5 → IOC Extraction (URLs, IPs, Emails, Base64) ↓ STEP 6 → Risk Scoring Engine ↓ STEP 7 → Generate Final Report ↓ END ``` ## 🚀 如何运行 ### 1. 克隆仓库 ``` git clone https://github.com/YOUR_USERNAME/pdf-malware-analysis-toolkit.git cd pdf-malware-analysis-toolkit ``` ### 2. 安装依赖 ``` pip install pymupdf ``` ### 3. 运行任意 PDF ``` python analyzer.py "yourfile.pdf" ``` ### 4. 示例 ``` python analyzer.py "HIGH_RISK_phishing.pdf" ``` ## 📊 示例输出 ``` ============================================================ PDF MALWARE ANALYSIS TOOLKIT Static Analysis | IOC Extraction | Risk Scoring ============================================================ File : HIGH_RISK_phishing.pdf Time : 2025-05-15 10:30:00 [STEP 1] Load PDF File & Extract Metadata ---------------------------------------- Title : Urgent Notice Author : Unknown Pages : 1 File Size: 8.2 KB [STEP 3] Keyword-Based Detection ---------------------------------------- [!] Suspicious keywords found (7): -> /JavaScript -> /OpenAction -> /EmbeddedFile -> /Launch -> /RichMedia [STEP 5] IOC Extraction ---------------------------------------- URLs found : 3 -> http://malicious-login.xyz/bank/verify?token=abc123 -> http://198.51.100.23/payload/drop.exe IPs found : 2 -> 198.51.100.23 -> 203.0.113.45 [STEP 6] Risk Analysis ---------------------------------------- Risk Score : 95 Severity : CRITICAL [##################################################] ``` ## 📁 项目结构 ``` pdf-malware-analysis-toolkit/ │ ├── analyzer.py ← Main analysis script ├── README.md ← Project documentation ├── requirements.txt ← Python dependencies ├── sample_pdfs/ │ ├── CLEAN_sample.pdf ← Test PDF (safe) │ ├── MEDIUM_RISK_invoice.pdf ← Test PDF (medium risk) │ └── HIGH_RISK_phishing.pdf ← Test PDF (high risk) └── screenshots/ ├── clean_result.png ├── medium_result.png └── high_result.png ``` ## 🧪 包含的测试 PDF | 文件 | 模拟内容 | 预期结果 | |------|-----------|----------------| | CLEAN_sample.pdf | 正常文档 | CLEAN | | MEDIUM_RISK_invoice.pdf | 带有可疑链接的假发票 | MEDIUM | | HIGH_RISK_phishing.pdf | 钓鱼攻击文档 | HIGH / CRITICAL | ## 📋 预期的工具包输出包括 - ✅ 可疑 JavaScript 检测 - ✅ 提取的 URL 和 IP 地址 - ✅ 嵌入文件列表 - ✅ 检测到的漏洞利用企图 - ✅ 严重性评分 (CLEAN → CRITICAL) - ✅ 自动生成的文本报告 ## 🔐 缓解建议 1. 不要在生产机器上打开可疑的 PDF 文件 2. 在防火墙处阻止所有提取出的 URL/IP 3. 在共享之前使用杀毒软件进行扫描 4. 在您的 PDF 阅读器设置中禁用 JavaScript 5. 如果严重性为 HIGH/CRITICAL,请向您的安全团队报告 ## 📄 许可证 本项目基于 MIT 许可证授权。
标签:DAST, Exploit触发检测, Go语言工具, IOC提取, JavaScript检测, PDF恶意文件检测, PyMuPDF, Python, 云安全监控, 威胁情报, 安全分析脚本, 安全报告生成, 库, 应急响应, 开发者工具, 恶意软件分析, 搜索语句(dork), 数字取证, 无后门, 网络安全, 网络钓鱼分析, 自动化脚本, 逆向工具, 隐私保护, 静态分析, 风险评分