githubpythonstu/re2yara

GitHub: githubpythonstu/re2yara

将 Intel CVE Binary Tool 的 Python 正则表达式模式自动批量转换为 YARA 规则,用于恶意软件检测与软件组件识别。

Stars: 0 | Forks: 0

# RE2YARA - Python 正则表达式转 YARA 规则转换器 [![Python](https://img.shields.io/badge/Python-3.8+-blue.svg)](https://www.python.org/) [![YARA](https://img.shields.io/badge/YARA-4.2.3-green.svg)](https://virustotal.github.io/yara/) [![License](https://img.shields.io/badge/License-GPL--3.0--or--later-blue.svg)](LICENSE) [![Checkers](https://img.shields.io/badge/Checkers-434-orange.svg)](checkers/) [![Success Rate](https://img.shields.io/badge/Success%20Rate-100%20%25-brightgreen.svg)]() [![Dependencies](https://img.shields.io/badge/Dependencies-0-success.svg)]() [![Platform](https://img.shields.io/badge/Platform-Windows%20%2B%20Linux%20%2B%20macOS-lightgrey.svg)]() 一个强大的 Python 工具,能将来自 Intel 的 CVE Binary Tool 检查器中的正则表达式模式转换为 YARA 规则,用于恶意软件检测和软件识别。 ## 📋 目录 - [功能](#-features) - [工作原理](#-how-it-works) - [安装说明](#-installation) - [快速入门](#-quick-start) - [文件过滤与去重](#-file-filtering-and-deduplication) - [项目结构](#-project-structure) - [用法](#-usage) - [转换流程](#-conversion-process) - [测试](#-testing) - [分支保护 / 规则集](#-branch-protection--rulesets) - [示例](#-examples) - [性能基准测试](#-performance-benchmarks) - [常见问题](#-faq) - [故障排除](#-troubleshooting) - [贡献](#-contributing) - [许可证](#-license) ## 🚀 功能 | 功能 | 描述 | |---------|-------------| | **100% 成功率** | 无错误转换全部 434 个 Python 检查器文件 | | **零依赖** | 仅使用 Python 标准库 (ast, re, pathlib) | | **智能过滤** | 根据现有的 YARA 签名自动去重 | | **14 阶段流水线** | 处理 Python 与 YARA 正则表达式之间的所有差异 | | **内置测试** | 语法验证 + 功能测试 + 性能分析 | | **完全可追溯** | 通过转换前后的对比追踪每一次转换 | | **跨平台** | 支持 Windows、Linux 和 macOS | ## 🔍 工作原理 ``` ┌─────────────────────────────────────────────────────────────────────────────┐ │ RE2YARA Conversion Pipeline │ ├─────────────────────────────────────────────────────────────────────────────┤ │ │ │ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ ┌──────────┐ │ │ │ checkers/ │ │ AST Parse │ │ Regex │ │ YARA │ │ │ │ *.py files │───▶│ Extract │───▶│ Transform │───▶│ Rules │ │ │ │ (434 files) │ │ VERSION_ │ │ (14 stages) │ │ Output │ │ │ └──────────────┘ │ PATTERNS │ └──────────────┘ └──────────┘ │ │ └──────────────┘ │ │ │ │ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │ │ │ signatures/ │ │ Deduplicate │ │ Reports │ │ │ │ *.yara │───▶│ Filter │───│ & Logs │ │ │ │ (85 rules) │ │ (389 uniq) │ │ │ │ │ └──────────────┘ └──────────────┘ └──────────────┘ │ │ │ └─────────────────────────────────────────────────────────────────────────────┘ ``` ### 数据流 ``` checkers/curl.py ──▶ AST Parse ──▶ VERSION_PATTERNS extracted │ ▼ ┌─────────────────────────────────────────────────┐ │ 14-Stage Regex Transformation │ │ │ │ 1. Remove %s placeholders │ │ 2. Fix empty alternatives (|pattern) │ │ 3. Convert .*? lazy dot-star │ │ 4. Optimize \- in character classes │ │ 5. Convert (?:...) non-capturing groups │ │ 6. Fix \r?\n at pattern start │ │ 7. Convert (?P...) named groups │ │ 8. Remove (?(...)...) conditionals │ │ 9. Remove lookaheads/lookbehinds │ │ 10. Convert possessive quantifiers │ │ 11. Escape / forward slashes │ │ 12. Fix reversed character ranges │ │ 13. Balance [] brackets │ │ 14. Final validation │ └─────────────────────────────────────────────────┘ │ ▼ target_yara_version_only/curl_version_only.yara ``` ## 🛠️ 安装说明 ### 前置条件 - Python 3.8 或更高版本 - Git (用于克隆) ### 设置 ``` # 克隆仓库 git clone https://github.com/githubpythonstu/re2yara.git cd re2yara # 验证 YARA 二进制文件(包含在 bin/ 目录中) ls bin/yara64.exe ls bin/yarac64.exe # 测试安装 py re2yara_version_only_converter.py --help ``` ## ⚡ 快速入门 ### 仅转换 VERSION_PATTERNS (推荐) ``` # 将所有 Python checker 文件转换为 YARA rules(仅 VERSION_PATTERNS) py re2yara_version_only_converter.py # 脚本将: # - 从 source_python_re/ 读取所有 .py 文件(共 435 个文件) # - 在 target_yara_version_only/ 中生成 .yara 文件 # - 在项目根目录创建转换报告 # - 无自动 YARA 测试(默认行为) ``` ### 转换所有模式 (完整模式) ``` # 转换所有 patterns(CONTAINS, FILENAME, VERSION) py re2yara_converter.py ``` ## 🔄 文件过滤与去重 该项目包含智能文件过滤功能,通过分析现有签名并自动对检查器文件进行去重,以防止生成重复的 YARA 规则。 ### 快速过滤工作流 ``` # 步骤 1:运行文件过滤脚本 py file_filter_dedup.py # 输出: # 📊 从 signatures/ 解析 85 条 YARA rules # 📋 分析来自 checkers/ 的 434 个 checker 文件 # ✅ 复制 389 个唯一文件到 source_python_re/ # 📄 生成详细的过滤报告 # ⏭️ 跳过 45 个匹配现有 rules 的文件 # 步骤 2:转换过滤后的文件 py re2yara_version_only_converter.py ``` ### 过滤功能 #### **智能规则名称匹配** - **直接匹配**: `curl` 匹配规则 `curl` - **不区分大小写**: `CURL` 匹配规则 `curl` - **标准化**: `apache_http_server` 匹配 `Apache` - **变体**: `openssl` 匹配 `OpenSSL` #### **高级过滤逻辑** ``` # 智能匹配模式示例: apache_http_server.py → Skipped (matches "Apache" rule) nginx.py → Skipped (matches "nginx" rule) python.py → Skipped (matches "Python" rule) accountsservice.py → Copied (new unique checker) aomedia.py → Copied (new unique checker) ``` #### **全面报告** 该脚本会生成 `file_filtering_report.md`,其中包含: - 总体统计数据和成功率 - 已复制文件列表 (新增检查器) - 已跳过文件列表 (已存在规则) - 过滤逻辑说明 - 转换的后续步骤 ### 优势 - **防止重复**: 仅处理唯一的检查器文件 - **节省时间**: 避免转换已实现的规则 - **保持质量**: 保留现有的手工编写的 YARA 规则 - **全面追踪**: 充分了解过滤决策 - **易于集成**: 与现有转换工具无缝衔接的工作流 ## 📁 项目结构 ``` re2yara/ ├── checkers/ # 434 Python checker files from Intel CVE Binary Tool │ ├── __init__.py # Checker base class with metaclass │ ├── accountsservice.py # Software detection patterns │ ├── acpid.py # ACPI daemon patterns │ └── ... # 432 more checker files ├── source_python_re/ # Filtered Python checker files (after deduplication) │ ├── accountsservice.py # Unique checkers ready for conversion │ ├── aomedia.py # 389 total files after filtering │ └── ... # Unique software detection patterns ├── target_yara/ # Full YARA rules (generated on-demand) ├── target_yara_version_only/ # VERSION_PATTERNS-only rules (generated on-demand) ├── signatures/ # Reference YARA rule formats │ ├── 00_meta_filter.yara # Meta filter for reducing false positives │ ├── bootloader.yara # Bootloader detection patterns │ ├── crypto.yara # Cryptographic software patterns │ ├── software.yara # Hand-crafted software detection rules │ └── ... # 85 existing YARA rules ├── bin/ # YARA 4.2.3 binaries for Windows │ ├── yara64.exe # YARA scanning engine │ └── yarac64.exe # YARA compiler ├── .claude/ # Claude Code project configuration │ ├── settings.local.json # Local Claude settings │ └── skills/re2yara/SKILL.md # Claude Code skill for this project ├── file_filter_dedup.py # File filtering and deduplication script ├── re2yara_version_only_converter.py # Main converter with testing suite ├── re2yara_converter.py # Full pattern converter ├── CLAUDE.md # Development documentation and guidelines ├── file_filtering_report.md # File filtering and deduplication results ├── regex_difference_report.md # Conversion statistics and differences ├── regex_difference_trace.json # Detailed conversion trace data ├── yara_comprehensive_test_report.md # YARA testing results └── README.md # This file ``` ## 🎯 用法 ### 完整工作流 (推荐) ``` # 步骤 1:过滤和去重 checker 文件 py file_filter_dedup.py # 步骤 2:转换 VERSION_PATTERNS(推荐) py re2yara_version_only_converter.py # 输出: # ✅ 过滤 434 → 389 个文件(89.6% 唯一) # ✅ 成功转换 389 个文件 # 📄 在 target_yara_version_only/ 中生成 YARA rules # 📊 创建转换和过滤报告 ``` ### 基础转换 (如果 source_python_re 已填充) ``` # 仅 VERSION_PATTERNS 转换(默认模式) py re2yara_version_only_converter.py # 输出: # ✅ 成功转换 389 个文件 # 📄 在 target_yara_version_only/ 中生成 YARA rules # 📊 创建转换报告 ``` ### 测试生成的 YARA 规则 ``` # 新增:独立测试子命令(推荐) py re2yara_version_only_converter.py test-syntax # Test syntax of all YARA files py re2yara_version_only_converter.py test-functionality # Test functionality of all YARA files py re2yara_version_only_converter.py test-syntax file.yara # Test syntax of specific file py re2yara_version_only_converter.py test-functionality file.yara # Test functionality of specific file # 旧版:综合测试(语法 + 功能) py re2yara_version_only_converter.py --test # Test all YARA files py re2yara_version_only_converter.py --test file.yara # Test specific file # 输出包括: # ✅ 语法验证结果 # 🔍 针对 version patterns 的功能测试 # 📈 性能指标和分析 # 📄 语法和功能测试的独立报告 ``` ### 文件过滤 ``` # 运行文件过滤和去重 py file_filter_dedup.py # 输出包括: # 📊 解析的 YARA rules:85 # 📋 分析的 Checker 文件:434 # ✅ 复制的文件:389(唯一) # ⏭️ 跳过的文件:45(重复) # 📄 已生成详细的过滤报告 ``` ### 命令行选项 ``` # 文件过滤和去重 py file_filter_dedup.py # VERSION_PATTERNS 转换 py re2yara_version_only_converter.py [COMMAND|OPTIONS] # 子命令(新增 - 推荐): test-syntax Test YARA rule syntax only test-functionality Test YARA rule functionality only # 选项: --source-dir DIR Source directory for Python files (default: source_python_re) --target-dir DIR Target directory for YARA rules (default: target_yara_version_only) --yara-binary PATH Path to YARA binary (default: bin/yara64.exe) --yarac-binary PATH Path to YARA compiler binary (default: bin/yarac64.exe) --verbose, -v Enable verbose output --help Show help message # 旧版选项: --test Enable comprehensive testing mode (deprecated - use subcommands) # 完整 pattern 转换 py re2yara_converter.py [OPTIONS] ``` ### 目录管理 ``` # 检查转换进度 ls target_yara_version_only/ # Generated YARA rules ls source_python_re/ | wc -l # Filtered files: 389 ls checkers/ | wc -l # Original checker files: 434 # 查看过滤结果 cat file_filtering_report.md # File filtering and deduplication statistics # 查看转换统计信息 cat regex_difference_report.md # Human-readable report cat regex_difference_trace.json # Detailed JSON trace data cat yara_comprehensive_test_report.md # Test results ``` ## 🔄 转换流程 ### 模式转换流水线 转换器处理 Python 和 YARA 正则表达式之间的主要差异: | # | Python 正则表达式特性 | YARA 等效项 | 转换方式 | |---|----------------------|-----------------|----------------| | 1 | **%s 占位符** | **移除** | 从任何位置全面移除 | | 2 | **空备选项 `(|\r?\n)`** | **`(^|\r?\n)`** | 使用正确的起始锚点修复 | | 3 | `.*?` 懒惰点星号 | `[^\x0A\x0D]*` | YARA 不支持懒惰单行 `.*` | | 4 | 字符类中的 `\-` | 移至末尾 | `[a\-z]` → `[az-]` 避免范围歧义 | | 5 | `(?:...)` 非捕获组 | `(...)` 捕获组 | YARA 不支持非捕获组 | | 6 | 模式开头的 `\r?\n` | `(^\|\r?\n)` | 锚定到行首或换行符 | | 7 | `(?P...)` 命名组 | `(...)` | YARA 不支持命名组 | | 8 | `(?(...)...)` 条件判断 | 移除 | YARA 不支持条件判断 | | 9 | `(?=...) / (?!...)` 正向先行断言 | 移除 | YARA 不支持先行断言 | | 10 | `(?<=...) / (?[\d\.]+)"] VENDOR_PRODUCT = [("curl", "curl")] ``` **生成的 YARA 规则 (`target_yara_version_only/curl.yara`):** ``` rule curl { meta: software_name = "curl" open_source = true website = "Generated from Python RE patterns" description = "Detection rule for curl" generated_from = "source_python_re/curl.py" vendor_product = "curl:curl" strings: $version0 = /curl\/([0-9\.]+)/ nocase ascii wide condition: any of $version* and no_text_file } ``` ### 示例 2:增强的模式转换 **带有 %s 占位符的源 Python 模式:** ``` VERSION_PATTERNS = [ r"Dnsmasq version (?:|%s %s\r?\n)([0-9]+\.[0-9]+)", r"chrony version %s\r?\n([0-9]+\.[0-9]+)", r"GWeb/%s" ] ``` **转换后的 YARA 模式:** ``` # 之前(旧转换器): $version0 = /Dnsmasq version (?:| \r?\n)([0-9]+\.[0-9]+)/ nocase ascii wide $version1 = /\(chrony\) version %s\r?\n([0-9]+\.[0-9]+)/ nocase ascii wide $version2 = /([0-9]+\.[0-9]+)\r?\nGWeb\/%s/ nocase ascii wide # 之后(优化的转换器): $version0 = /Dnsmasq version (^\r?\n)([0-9]+\.[0-9]+)/ nocase ascii wide $version1 = /\(chrony\) version \r?\n([0-9]+\.[0-9]+)/ nocase ascii wide $version2 = /([0-9]+\.[0-9]+)\r?\nGWeb\// nocase ascii wide ``` ### 示例 3:复杂的模式转换 **源 Python 正则表达式:** ``` VERSION_PATTERNS = [ r"(?i)nginx/(?P[\d\.]+)(?:\s+\([^)]+\))?" ] ``` **转换后的 YARA 模式:** ``` $version0 = /nginx\/([0-9\.]+)(?:\s+\([^)]+\))?/ nocase ascii wide ``` ### 示例 4:测试结果 ``` 🔍 YARA Comprehensive Test Report ===================================== 📊 Summary Statistics: - Total YARA files: 435 - Files with syntax errors: 0 (0.00%) - Files tested functionally: 435 - Functional tests passed: 418 (96.09%) - Average compilation time: 12.3ms - Average scanning time: 8.7ms ✅ Top Performing Rules: 1. curl.yara - 15/15 tests passed (100.00%) 2. openssl.yara - 12/12 tests passed (100.00%) 3. nginx.yara - 8/8 tests passed (100.00%) ⚠️ Rules Needing Attention: 1. python.yara - 2/5 tests passed (40.00%) Issue: Complex version patterns not matching ``` ## ⚡ 性能基准测试 ### 转换性能 | 指标 | 值 | |--------|-------| | 处理的文件数 | 434 | | 成功转换数 | 434 (100%) | | 处理速度 | ~50 个文件/秒 | | 内存使用 | <100MB | | 正则表达式转换成功率 | 100% | ### 过滤性能 | 指标 | 值 | |--------|-------| | 解析的 YARA 规则数 | 85 | | 分析的检查器文件数 | 434 | | 复制的唯一文件数 | 389 (89.6%) | | 跳过的重复文件数 | 45 (10.4%) | | 解析速度 | ~200 条规则/秒 | | 匹配速度 | ~100 个文件/秒 | | 内存使用 | <50MB | | 复制性能 | ~150 个文件/秒 | ### YARA 测试性能 | 指标 | 值 | |--------|-------| | 平均编译时间 | ~12ms 每条规则 | | 平均扫描时间 | ~9ms 每条规则 | | 语法验证成功率 | 100% | | 功能测试通过率 | ~96% | ## ❓ 常见问题 ### 一般问题 **问:什么是 RE2YARA?** 答:它是一个工具,能将来自 Intel 的 CVE Binary Tool 检查器中的 Python 正则表达式模式转换为 YARA 规则,用于软件识别和恶意软件检测。 **问:我需要安装 YARA 吗?** 答:该项目在 `bin/` 目录中为 Windows 提供了 YARA 4.2.3 二进制文件。对于 Linux/macOS,需要单独安装 YARA。 **问:我可以转换自己的检查器文件吗?** 答:可以!请按照[贡献](#-contributing)中的格式创建一个包含 `*Checker` 类的 Python 文件。 **问:仅版本模式和完整模式有什么区别?** 答:仅版本仅转换 `VERSION_PATTERNS`。完整模式 (`re2yara_converter.py`) 转换所有模式 (CONTAINS、FILENAME、VERSION)。 ### 转换问题 **问:为什么某些正则表达式特性被移除了?** 答:YARA 使用 PCRE 的一个子集。像先行断言、条件判断和命名组等特性不受支持,因此会在转换过程中被移除。 **问:我能看到我的正则表达式做了哪些更改吗?** 答:可以。查看 `regex_difference_report.md` 获取人类可读的报告,或查看 `regex_difference_trace.json` 获取详细的 JSON 数据。 **问:转换后的规则与我的二进制文件不匹配。我该怎么办?** 答:运行功能测试:`py re2yara_version_only_converter.py test-functionality .yara`。如果某些特性被移除了,您可能需要手动调整模式。 ### 工作流问题 **问:为什么我不能直接推送到 main 分支?** 答:本仓库使用 GitHub 规则集来强制进行代码审查。所有更改必须通过 Pull Request 提交。 **问:我如何通过 GitHub 进行身份验证?** 答:GitHub 不再支持密码验证。请使用具有 `repo` 权限的个人访问令牌 (PAT),或切换到 SSH。 **问:我在哪里获取 PAT?** 答:GitHub → Settings → Developer settings → Personal access tokens → Tokens (classic) → Generate new token → 勾选 `repo` 权限。 ## 🔧 故障排除 ### 文件过滤问题 #### 过滤后没有复制任何文件 ``` [INFO] No new files to copy - all checker files match existing rules ``` **如果所有检查器文件都有对应的 YARA 规则,这是正常的** **若要覆盖并强制转换:** ``` # 跳过过滤并手动转换所有文件 cp checkers/*.py source_python_re/ py re2yara_version_only_converter.py ``` #### 过滤掉太多文件 ``` Output: [WARNING] Copied 389 files, skipped 45 (Expected different ratio) ``` **解决方案:** 1. 查看 `file_filtering_report.md` 中的过滤决策 2. 检查是否需要更新 YARA 规则 3. 手动调整特定文件: ``` # 复制被错误过滤的特定文件 cp checkers/specific_file.py source_python_re/ ``` ### 常见问题与解决方案 #### Git 锁文件错误 ``` Error: Unable to create '.git/index.lock': File exists ``` **解决方案:** ``` # 删除 git 锁定文件 (Windows) del .git\index.lock # 删除 git 锁定文件 (Unix/Linux) rm .git/index.lock ``` #### YARA 编译错误 ``` Error: yarac64.exe: syntax error in rule file ``` **解决方案:** 1. 查看 `regex_difference_report.md` 中的转换说明 2. 验证正则表达式模式中不包含不支持的特性 3. 测试单个文件:`py re2yara_version_only_converter.py --test --file problem_rule.yara` #### 缺少 YARA 二进制文件 ``` FileNotFoundError: YARA binary not found: bin/yara64.exe ``` **解决方案:** 1. 确保 `bin/` 目录中存在 YARA 二进制文件 2. 从官方发布页面下载适用于 Windows 的 YARA 4.2.3 3. 检查可执行权限 #### Python 模块导入问题 ``` ModuleNotFoundError: No module named 'ast' ``` **解决方案:** - 使用 Python 3.8+ (ast 模块是标准库的一部分) - 检查 Python 安装:`py --version` #### Git 身份验证失败 (403) ``` remote: Permission to user/repo.git denied to username. fatal: unable to access 'https://github.com/...': The requested URL returned error: 403 ``` **原因**:GitHub 不再支持使用密码进行 Git 操作。 **解决方案:** 1. **使用个人访问令牌 (PAT)**: - 在 GitHub → Settings → Developer settings → Personal access tokens → Tokens (classic) 生成令牌 - 勾选 `repo` 权限 - 推送时使用该令牌作为密码 2. **切换到 SSH**: ssh-keygen -t ed25519 -C "your_email@example.com" # 将公钥添加到 GitHub → Settings → SSH and GPG keys git remote set-url origin git@github.com:user/repo.git git push ### 性能优化 #### 增强的模式性能 优化后的转换器能生成更高效的 YARA 规则: - **更干净的正则表达式**:移除不必要的 `%s` 占位符降低了模式复杂性 - **合适的锚点**:修复空备选项可防止回溯问题 - **更快的匹配**:优化的模式提高了 YARA 引擎性能 - **更高的准确性**:正确的模式转换提高了检出率 #### 对于大规模扫描: ``` # 使用编译后的 YARA rules 以获得更好的性能 bin/yarac64.exe target_yara_version_only/ rules_compiled.yarc bin/yara64.exe rules_compiled.yarc /path/to/scan ``` #### 内存优化: - 将大型规则集拆分为较小的文件 - 对于多个目录,使用基于进程的并行处理 #### 扫描优化: - 使用合适的文件类型过滤器 - 使用 meta 过滤器排除文本文件 - 限制递归操作的扫描深度 ## 📈 报告和分析 ### 生成的报告 | 报告 | 文件 | 描述 | |--------|------|-------------| | 文件过滤 | `file_filtering_report.md` | 去重统计 | | 转换摘要 | `regex_difference_report.md` | 人类可读的转换统计 | | 转换详情 | `regex_difference_trace.json` | 机器可读的 JSON 追踪 | | YARA 测试结果 | `yara_comprehensive_test_report.md` | 语法和功能测试结果 | ### 质量保证 - **语法验证**:使用 yarac64.exe 对所有生成的 YARA 规则进行语法检查 - **功能测试**:针对真实的版本模式对规则进行测试 - **性能分析**:测量编译和扫描时间 - **错误追踪**:记录并报告所有转换问题 - **增强的模式追踪**:使用详细的标志追踪高级优化: - `"removed_%s_comprehensive"` - 全面移除 %s 占位符 - `"fixed_empty_alternatives"` - 针对空备选项的管道符优化 - **模式质量验证**:自动验证以确保正确的 YARA 正则表达式语法 ## 🤝 贡献 我们欢迎您的贡献!请遵循我们的贡献指南: 1. Fork 该仓库 2. 创建一个功能分支:`git checkout -b feature-name` 3. 提交您的更改:`git commit -m 'Add feature description'` 4. 推送到分支:`git push origin feature-name` 5. 提交一个 Pull Request ### 开发指南 - Python 代码风格请遵循 PEP 8 - 为新功能添加适当的测试 - 如有 API 更改,请更新文档 - 提交前确保所有测试通过 ### 添加新的检查器 要添加新的软件检查器: 1. 创建 `checkers/mynewsoftware.py`: ``` from cve_bin_tool.checkers import Checker class MynewsoftwareChecker(Checker): CONTAINS_PATTERNS = [r"unique string in binary"] FILENAME_PATTERNS = [r"mynewsoftware"] VERSION_PATTERNS = [r"mynewsoftware[ /]([0-9]+\.[0-9]+\.[0-9]+)"] VENDOR_PRODUCT = [("vendor_name", "mynewsoftware")] ``` 2. 运行转换器生成 YARA 规则 3. 使用真实的二进制样本测试生成的规则 4. 带着新的检查器提交一个 PR ## 📄 许可证 该项目基于 GPL-3.0-or-later 许可证授权。详情请参阅 [LICENSE](LICENSE) 文件。 ## 🙏 鸣谢 - **Intel Corporation**:感谢提供原始的 CVE Binary Tool 检查器 - **YARA 项目**:感谢提供出色的模式匹配引擎 - **安全社区**:感谢提供反馈和贡献 ## 📞 支持 - **问题**:请通过 GitHub Issues 报告 Bug - **文档**:请参阅 `CLAUDE.md` 了解开发详情 - **电子邮件**:联系维护者获取技术支持 ## 🔗 快速链接 | 资源 | 链接 | |----------|------| | 开发文档 | [CLAUDE.md](CLAUDE.md) | | 文件过滤报告 | [file_filtering_report.md](file_filtering_report.md) | | 转换报告 | [regex_difference_report.md](regex_difference_report.md) | | 测试结果 | [yara_comprehensive_test_report.md](yara_comprehensive_test_report.md) | | YARA 文档 | [yara.readthedocs.io](https://yara.readthedocs.io/) | | Python AST 文档 | [docs.python.org/ast](https://docs.python.org/3/library/ast.html) | | GitHub 规则集文档 | [docs.github.com/rulesets](https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/about-rulesets) | | CVE Binary Tool | [github.com/intel/cve-bin-tool](https://github.com/intel/cve-bin-tool) | *由 RE2YARA 团队倾注 ❤️ 生成*
标签:DNS 反向解析, Python, YARA, 云资产可视化, 提权防护, 无后门, 自动化payload嵌入, 规则转换, 软件识别, 逆向工具