jyotixzy/yara_rule_engine

GitHub: jyotixzy/yara_rule_engine

面向邮件的 YARA 规则驱动型深度内容扫描与威胁检测工具。

Stars: 0 | Forks: 0

# YARA EML 扫描器 该项目解析 `.eml` 文件,提取并解码附件,从内容中检测真实文件类型,递归解包支持的容器,并使用从以下位置收集的 YARA 规则进行扫描: - `Yara-Rules/rules` - `Neo23x0/signature-base` ## 流程 1. 使用 Python email 包解析 `.eml` 文件。 2. 提取附件并解码传输编码。 3. 通过魔数(magic bytes)和归档签名检测实际文件类型。 4. 将容器文件递归解包到临时工作区。 5. 编译本地第三方仓库中的 YARA 规则。 6. 扫描每个提取的真实文件并输出结构化结果。 7. 记录干净、恶意、跳过和错误状态。 ## 项目结构 - `src/yara_eml_scanner/cli.py` - CLI 入口点。 - `src/yara_eml_scanner/pipeline.py` - 端到端编排。 - `src/yara_eml_scanner/eml_parser.py` - EML 解析与附件提取。 - `src/yara_eml_scanner/file_types.py` - 基于内容的类型检测。 - `src/yara_eml_scanner/container_unpacker.py` - 递归解包。 - `src/yara_eml_scanner/rule_loader.py` - YARA 规则发现与编译。 - `src/yara_eml_scanner/scanner.py` - YARA 扫描与结果整形。 - `src/yara_eml_scanner/logging_utils.py` - 日志辅助工具。 - `src/yara_eml_scanner/models.py` - 共享数据类。 ## 用法 ``` pip install -e . python -m yara_eml_scanner.cli --eml .\sample.eml ``` 或者使用控制台脚本: ``` yara-eml-scan --eml .\sample.eml ``` ## 输出 CLI 输出一个 JSON 报告,包含: - 输入的 EML 路径 - 提取的文件 - 检测到的文件类型 - 解包操作 - 干净 / 恶意状态 - 触发的 YARA 规则 - 编译与提取错误 ## 备注 - 扫描器从不只信任文件扩展名;它会检查文件内容。 - 临时文件在受管理的临时工作区中创建,并自动清理。 - 部分第三方 YARA 规则可能无法编译;这些文件会被跳过并报告,而不会中断扫描。
标签:CLI安全工具, EML解析, Neo23x0, Python安全工具, YARA扫描, 临时工作区, 反恶意软件, 威胁情报, 容器解包, 开发者工具, 开源规则, 恶意附件检测, 文件类型识别, 文档结构分析, 规则编译, 逆向工具, 递归解压, 邮件安全, 魔数检测