ChristianGLucas/yara-tools

GitHub: ChristianGLucas/yara-tools

封装 yara-python 与 libyara 的 YARA 规则编译、匹配和检查工具,以无状态 API 节点形式部署于 Axiom marketplace 上供 agent 或代码直接调用。

Stars: 0 | Forks: 0

# yara-tools 为 Axiom marketplace 提供的 YARA 恶意软件/模式规则编译、匹配和检查功能 — 封装了 [`yara-python`](https://github.com/VirusTotal/yara-python)(VirusTotal 为 [YARA](https://github.com/VirusTotal/yara) 提供的官方 Python 绑定,Apache-2.0),底层链接了 `libyara` (BSD-3-Clause)。 ## 在您的 agent 或应用中使用它 此包中的每个节点都是 [Axiom](https://axiomide.com) marketplace 上的一个**实时、自动伸缩的 API endpoint** — AI agent 或您自己的代码可以直接调用它, 无需自行托管。 **📦 在 marketplace 上查看:** https://dev.axiomide.com/marketplace/christiangeorgelucas/yara-tools@0.1.0 **将其连接到 AI agent (MCP)。** 将 Axiom 托管的 MCP server 添加到任何 MCP 客户端中,每个节点都会变成您的 agent 可以调用的强类型工具 — 搜索目录、检查 schema,并直接调用它。 ``` # Claude Code claude mcp add --transport http axiom https://api.axiomide.com/mcp \ --header "Authorization: Bearer $AXIOM_API_KEY" ``` Claude Desktop、Cursor 或任何基于配置的客户端: ``` { "mcpServers": { "axiom": { "type": "http", "url": "https://api.axiomide.com/mcp", "headers": { "Authorization": "Bearer YOUR_AXIOM_API_KEY" } } } } ``` **从 CLI 中调用它。** ``` axiom invoke christiangeorgelucas/yara-tools/MatchRules --input '{"sources":[{"source":"rule find_evil { strings: $a = \"evil\" condition: $a }"}],"data":"ZXZpbA=="}' ``` **通过 HTTP 调用它。** ``` curl -X POST https://api.axiomide.com/invocations/v1/nodes/christiangeorgelucas/yara-tools/0.1.0/MatchRules \ -H "Authorization: Bearer $AXIOM_API_KEY" \ -H 'Content-Type: application/json' \ -d '{"sources":[{"source":"rule find_evil { strings: $a = \"evil\" condition: $a }"}],"data":"ZXZpbA=="}' ``` ### 免费开始使用 安装 CLI: ``` # macOS / Linux — Homebrew brew install axiomide/tap/axiom # macOS / Linux — install script curl -fsSL https://raw.githubusercontent.com/AxiomIDE/axiom-releases/main/install.sh | sh ``` **Windows:** 从 [发布页面](https://github.com/AxiomIDE/axiom-releases/releases) 下载 `windows/amd64` 的 `.zip` 文件,解压 并将 `axiom.exe` 添加到您的 `PATH` 中。 然后运行 `axiom version` 进行验证,运行 `axiom login`(GitHub 或 Google) 进行身份验证,并在 **Console → API Keys** 下创建一个 API key。文档和 注册请访问 **[axiomide.com](https://axiomide.com)**。 ## 此包的功能 [YARA](https://virustotal.github.io/yara/) 是一个行业标准工具,用于 通过编写文本**规则**来描述要在二进制或文本数据中查找的模式,从而 识别和分类恶意软件样本 — 广泛应用于恶意软件研究、威胁狩猎和文件分类流水线。此包将 YARA 自身的编译/匹配/检查流水线封装为三个可组合的节点: - **CompileRules** — 将一个或多个 YARA 规则源(每个可选择性地 置于其自己的 namespace 下)编译为可重用的序列化规则集。返回 带有行号详细信息的结构化语法错误和编译器警告、 已编译的规则数量,以及一个不透明的 `compiled_ruleset`,您可以将其传递给 `MatchRules`/`InspectRuleset` 而无需重新编译。支持声明 规则条件引用的 external variables (string/int/float/bool)。 - **MatchRules** — 使用编译后的规则集扫描数据(或编译规则 源并在同一次调用中扫描)。返回每个匹配规则的 namespace、 tags、metadata,以及每个匹配字符串模式的标识符及其匹配的 每个 byte offset/length(包括针对 `xor` 修改模式的 XOR key + 解混淆的 明文)。支持在扫描时覆盖 external variables、YARA 自身的扫描超时以及快速匹配模式。 - **InspectRuleset** — 枚举编译后规则集的规则(标识符、 namespace、tags、`is_global`/`is_private`、metadata)**而无需扫描任何 数据** — 适用于在使用前验证或浏览规则集。 这三者在输入格式错误时都会返回结构化的 `{ok, error, ...}` 格式 — 绝不抛出原始异常。规则 `include` 指令(默认情况下允许 `.yar` 文件从本地文件系统读取其他文件)始终被禁用: 规则完全基于您提供的源文本进行编译。 区别于 **stix-tools**(STIX 威胁情报对象)、**sbom-tools** (软件物料清单)和 **pii-tools**(PII 检测/脱敏) — 此包针对原始字节或文本进行签名/模式匹配,这是 YARA 自身特定的领域。 ## *未*涵盖的内容及原因 YARA 自身在编译/匹配/检查之外的功能要么 不安全、不可移植,要么无法有效地表示为无状态的 输入→输出函数 — 有关完整列表,请参阅回顾说明。 值得注意的是:进程内存扫描(`match(pid=...)`)被省略,因为 这是沙箱节点不应触及的域外宿主能力;而 `yara.set_config()` 被省略是因为它会修改*进程范围*的解释器 状态,而不是纯粹的按调用操作。 ## 许可证 MIT — 请参阅 [LICENSE](./LICENSE)。封装了 `yara-python` (Apache-2.0) 和 `libyara` (BSD-3-Clause);整个依赖树中没有任何 copyleft 依赖。 专为 [Axiom](https://axiomide.com) marketplace 而构建。
标签:API, MCP, Python, Python脚本, YARA, 云资产可视化, 无后门, 逆向工具, 默认DNS解析器