Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
yaraast — 一个强大的Python库和CLI工具,用于通过抽象语法树(AST)表示来解析、分析和操作YARA规则。 | Kitploit
工具/GitHubGitHub/seifreed/yaraast
静态分析漏洞分析代码分析脚本与自动化恶意软件分析实用工具与框架
GitHubseifreed/yaraast

yaraast

一个强大的Python库和CLI工具,用于通过抽象语法树(AST)表示来解析、分析和操作YARA规则。

查看仓库
5451个月前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

YARAAST

yaraast

使用 Python AST 工具包解析、分析和转换 YARA 规则

CI 许可证: MIT Python 3.13+

GitHub 星标 GitHub 问题 文档


概述

yaraast 是一个 Python 库,用于使用抽象语法树 (AST) 解析和操作 YARA 家族规则。它支持经典 YARA、YARA-L 和 YARA-X 工作流,并具备自动方言检测和 CLI 工具。

主要功能

支持的规则生态

root@kitploit:~
方言      YARA, YARA-L, YARA-X
解析器    标准解析器、统一解析器、流式解析器
输出      YARA, JSON, YAML, AST 树视图
工具      CLI、访问器、构建器、序列化、语义检查

安装

从 PyPI(推荐)

root@kitploit:~
pip install yaraast

从源码安装

root@kitploit:~
git clone https://github.com/mriverolopez/yaraast.git
cd yaraast
python3 -m venv venv
source venv/bin/activate  # Windows: venv\Scripts\activate
pip install -e .

快速上手

root@kitploit:~
from yaraast.unified_parser import UnifiedParser

yara_code = """
rule example {
    strings:
        $a = "malware" nocase
    condition:
        $a
}
"""

ast = UnifiedParser.parse_string(yara_code)
print(ast.rules[0].name)

用法

命令行界面

root@kitploit:~
# 解析并输出标准化的 YARA
yaraast parse rules.yar

# 解析为 JSON
yaraast parse rules.yar --format json

# 指定方言解析
yaraast parse rules.yar --dialect yara-x

# 验证文件(语法 + 解析检查)
yaraast validate rules.yar

# 原地格式化文件(基于 AST 的格式化器)
yaraast fmt rules.yar

# 检查格式而不修改文件
yaraast fmt rules.yar --check

核心 CLI 命令


Python 库

统一解析

root@kitploit:~
from yaraast.unified_parser import UnifiedParser
from yaraast.dialects import YaraDialect

# 自动检测方言
ast = UnifiedParser.parse_file("rules.yar")

# 强制指定方言
ast = UnifiedParser.parse_file("rules.yar", dialect=YaraDialect.YARA)

直接解析器 + 访问器

root@kitploit:~
from yaraast import Parser
from yaraast.visitor import BaseVisitor

class RuleCollector(BaseVisitor):
    def __init__(self):
        self.rules = []

    def visit_rule(self, node):
        self.rules.append(node.name)
        super().visit_rule(node)

ast = Parser(open("rules.yar", encoding="utf-8").read()).parse()
collector = RuleCollector()
collector.visit(ast)
print(collector.rules)

可选依赖

root@kitploit:~
# LSP 支持
pip install yaraast[lsp]

# libyara 集成
pip install yaraast[libyara]

# 性能工具
pip install yaraast[performance]

# 可视化支持
pip install yaraast[visualization]

# 全部安装
pip install yaraast[all]

运行时文档

  • LSP 运行时内部: docs/lsp-runtime.md
  • LSP 兼容性报告: docs/lsp-parity-report.md
  • 最新运行时基准测试工件: docs/benchmarks/lsp-runtime-latest.json

系统要求

  • Python 3.13+
  • 完整依赖及附加包列表请参见 pyproject.toml

贡献

欢迎贡献。请参阅 CONTRIBUTING.md 了解设置、质量检查和贡献流程指南。

  1. Fork 该仓库
  2. 创建分支(git checkout -b feature/your-change)
  3. 提交更改(git commit -m "Add your change")
  4. 推送(git push origin feature/your-change)
  5. 提交 Pull Request

许可证

本项目基于 MIT 许可证发布 - 详见 LICENSE。

作者

  • Marc Rivero ([email protected])
  • 仓库: github.com/mriverolopez/yaraast

专为恶意软件分析和检测工程工作流构建

下载工具
功能描述
多方言解析从文件或字符串解析 YARA、YARA-L 和 YARA-X
自动方言检测统一解析器自动检测规则方言
AST 工具构建、转换、差异化和序列化 AST
格式化与验证CLI 命令支持解析/格式化/验证工作流
流式支持以流模式解析非常大的文件
生态集成可选的 LSP 和 libyara 相关功能
命令描述
parse解析规则文件并输出 YARA/JSON/YAML/树
validate验证规则并运行验证子命令
fmt基于 AST 的格式化器(支持 --check 和 --diff)
format将输入格式化为目标输出文件
validate-syntax语法验证入口点
lsp启动语言服务器协议功能