guyvolvo/prism

GitHub: guyvolvo/prism

一款静态恶意软件分析框架,通过零执行环境安全解析 PE、PDF 和 Office 文档并生成风险评分报告。

Stars: 0 | Forks: 0

$${\Huge \color{lightblue}{Prism}}$$

Prism is a static malware analysis framework designed to safely inspect suspicious files and generate actionable insights. It dissects files—PDFs, executables, and Office documents—into metadata, strings, embedded scripts, and structural indicators to reveal hidden threats. It scores risk, highlights suspicious patterns, and produces clear reports, helping security professionals quickly identify which files require deeper investigation or reverse engineering.

### _要探索代码库、审查架构或测试早期功能:_ ``` git clone https://github.com/guyvolvo/prism cd prism python3 main.py -h python3 main.py malware.exe ```

## 🔑 API 配置 Prism 集成了 **MalwareBazaar** 以执行实时哈希查询。这允许工具告诉你某个文件是否已被全球研究社区识别。 1. **获取 API Key:** * 前往 [MalwareBazaar (abuse.ch)](https://bazaar.abuse.ch/api/)。 * 登录或创建一个免费账户。 * 从你的账户个人资料中复制 API Key。 2. **在 Prism 中设置 Key** * 运行以下命令以保存你的 key: prism --api API_KEY * 要检查你的 API key 是否正确加载,请使用: prism --api **Prism 会自动在项目根目录生成一个本地 .env 文件,以安全地存储和使用你的 MalwareBazaar API key 用于未来的扫描会话。** ## 主要特性 * ** 安全的静态分析:** 零执行环境。所有检查严格为只读,确保恶意软件在分类阶段无法 detonate。 * ** 多格式支持:** 深度解析能力涵盖: * **PE (Windows 可执行文件):** Headers, sections, 和 import tables。 * **文档:** PDF 结构和 OLE/Office (Word, Excel, PowerPoint) 流。 * ** 指标检测:** 自动提取嵌入的脚本 (VBA, JS)、可疑 URL、IP 地址和混淆模式。 * ** 熵与启发式评分:** 高级文件熵计算,以识别加壳部分和可疑的结构异常。 * ** YARA 集成:** 完全支持自定义和公开的 YARA 规则集,以匹配已知的威胁家族和 TTPs。 * ** 对分析师友好的报告:** 可操作的输出格式包括 **JSON** (用于自动化) 或 **CLI** (供人阅读),并按风险级别排序。 * ** 下游逆向工程指导:** 智能标记高风险样本,以简化你在 **Ghidra**、**IDA Pro** 或 **Binary Ninja** 等工具中的工作流程。 * **! Prism 与操作系统无关,但设计用于恶意软件分析环境。 !** ## 工作流程

Prism 分析管道旨在将原始数据转化为可操作的情报。

1. **摄取:** 将可疑工件加载到框架中。 2. **提取:** Prism 将文件剥离为元数据、字符串和结构组件。 3. **启发式与 YARA:** 引擎运行熵检查和模式匹配。 4. **评分:** 根据检测到的指标计算最终风险评分。 5. **分类:** 使用生成的报告决定:*丢弃、归档或移交逆向工程。* ## 项目结构与设置 ``` prism/ ├── main.py ├── malware/ # Place binary/RAT/Toolkit YARA rules here ├── maldocs/ # Place PDF/Office/Macro YARA rules here ├── core/ # Triage engine and report logic └── parsers/ # Format-specific extraction logic All `.exe`, `.doc`, `.pdf`, and other sample files included in this repository are safe and do not contain real malware ``` ## **_添加你自己的 YARA 规则_** Prism 支持使用自定义 YARA 规则来扩展检测范围,并使框架适应特定的威胁模型或环境。 为了确保正确的发现和加载,自定义 YARA 规则必须放置在项目根目录( alongside 主要的 Prism 入口点),或者放置在配置中明确引用的清晰定义的子目录中。 ### 前往 [理论页面](https://github.com/guyvolvo/prism/blob/main/theory.md) _**参考文献 :**_ [信息熵](https://redcanary.com/blog/threat-detection/threat-hunting-entropy/) \ [熵 (信息论)](https://en.wikipedia.org/wiki/Entropy_(information_theory))

Prism Demo

Disclamer : 安全警告:API keys 在执行期间存储在内存中。 - 不要在不受信任的系统上运行 - 除非必要,不要以提升的权限运行 - 内存转储可能会暴露 API key - 考虑使用扫描后清除的环境变量 1. 无担保:本软件按“原样”提供,不提供任何形式的担保, 明示或暗示。作者不对本软件的准确性、 可靠性或对任何目的的适用性作任何陈述。 2. 误报/漏报:本工具可能会错误地识别: - 将合法软件识别为恶意软件(误报) - 将恶意软件识别为干净(漏报) 用户必须在采取行动之前独立验证结果。 3. 数据传输:本工具将文件哈希发送给第三方服务: - CIRCL HashLookup (hashlookup.circl.lu) - MalwareBazaar API (abuse.ch) 不会传输文件内容。请查看这些服务的隐私政策。 4. 无责任:在任何情况下,作者均不对任何损害承担责任, 包括因使用本软件而产生的数据丢失、系统损坏或业务中断。 5. 用户责任:用户全权负责: - 在删除文件之前验证扫描结果 - 遵守适用法律法规 - 妥善处理敏感数据 - 扫描前进行备份 使用本软件即表示你接受这些条款并承担所有风险。
标签:DNS 反向解析, DNS 解析, ioc提取, IP 地址批量处理, MalwareBazaar, Office文档分析, PDF分析, Python, YARA, 云资产可视化, 元数据提取, 可执行文件分析, 威胁情报, 字符串提取, 安全分析框架, 开发者工具, 恶意软件沙箱, 文件分析, 无后门, 网络安全, 网络安全审计, 自动化分析, 跨站脚本, 进程保护, 逆向工具, 逆向工程辅助, 隐私保护, 静态恶意软件分析