lightofbaldr/mojo-yara

GitHub: lightofbaldr/mojo-yara

用纯 Mojo 重新实现的 YARA 恶意软件模式匹配引擎,旨在通过 SIMD 和 GPU 加速在大规模规则集与扫描目标上获得性能优势,同时保持与 C 版本 libyara 的位级一致输出。

Stars: 0 | Forks: 0

# mojo-yara [![License: Apache-2.0](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](LICENSE) [![Status: Pre-alpha](https://img.shields.io/badge/Status-Pre--alpha-orange)](#status) ## 这是什么 一个使用纯 Mojo 对 YARA 恶意软件模式匹配引擎的重新实现。YARA 是用于表达恶意软件特征码和指标的默认开放标准;它被广泛应用于威胁情报平台、IR 工作流、EDR 规则包和取证工具链中。C 语言的参考实现(`libyara`)非常成熟,但在过去约 15 年里一直受限于其多模式匹配的性能瓶颈——而这正是 Mojo 的 SIMD 原语和 GPU 卸载有望占据主导地位的领域。 `mojo-yara` 旨在在其支持的 YARA 子集上实现与 C 参考实现**位级一致的输出**,并在大型规则集和大型扫描目标上获得可衡量的性能领先优势。 ## 状态 **Pre-alpha — v0.1 构建中。** 请参阅 [`docs/PLAN.md`](docs/PLAN.md) 了解构建阶段和预计到达时间。目前尚无可发布的内容。 ## 目标 - 为支持的规则子集提供与 `yara` **即插即用的 CLI 兼容性**,确保现有流水线无需更改即可工作。 - **可证明的正确性:** 每次发布都会在真实的规则和样本语料库上与 `libyara` 的输出进行对比。达到位级一致时才会发布。 - **可证明的性能:** SIMD 加速的字面字符串匹配器(Aho-Corasick 风格,向量化)。计划在 v0.2+ 版本中针对大型语料库扫描提供 GPU 卸载支持。 - **单一二进制部署:** 无需 Python 解释器,无需原生扩展 wheel。一次编译,即可部署到容器或 VM 中。 - **仅限经典模式。** 根据外部提供的规则进行模式匹配。任何层都不涉及机器学习。 ## 范围 — v0.1 | | v0.1 中包含 | 排入 v0.2+ 计划 | |---|---|---| | 规则语法 | 字面 ASCII 字符串,带有 `??`/`?A` 通配符的十六进制字符串,常见条件(`all of them`、`any of them`、`N of (...)`、布尔运算) | 完整的 PCRE 正则表达式字符串 | | 目标 | 文件扫描 | 进程内存扫描 | | 模块 | 无 | `pe`、`elf`、`hash`、`cuckoo`、`math` | | 加速 | CPU 上的 SIMD | GPU 卸载,分布式扫描 | | 输出 | 纯文本(兼容 `yara`),JSON | YARA-X 序列化输出 | ## 构建 需要通过 [pixi](https://pixi.sh) 安装 Mojo 1.0+。借鉴了 [`mojo-http`](https://github.com/lightofbaldr/mojo-http) 的构建模式。 ``` git clone https://github.com/lightofbaldr/mojo-yara cd mojo-yara pixi install # pulls Mojo + MAX pixi run test # runs unit tests pixi run build # produces build/mojo-yara ``` ## 目录结构 ``` src/ parser/ rule tokenizer + AST matcher/ string and hex pattern matchers + Aho-Corasick cli/ mojo-yara entrypoint tests/ parser/ AST round-trip tests against curated rules matcher/ targeted match tests oracle/ bit-equal diff harness vs the C `yara` reference corpora/ rules/ public YARA rules for testing (gitignored beyond a small fixture set) samples/ small public test samples (de-fanged where applicable) docs/ PLAN.md build phases and ETA ``` ## 许可证 Apache-2.0。请参阅 `LICENSE`。 ## 发布政策 本仓库是一个通用的、兼容经典 YARA 的模式扫描器,基于 Apache-2.0 协议发布。它不实现或描述任何由 Light of Baldr LLC 单独维护的专有技术。公开发布需经过专利顾问的审查。
标签:DNS 反向解析, Mojo, YARA, 云资产可视化, 动态分析, 模式匹配, 网络信息收集, 自动化资产收集, 高性能计算