Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
yaraast — Una potente biblioteca de Python y herramienta CLI para analizar, examinar y manipular reglas YARA mediante la representación de Árbol de Sintaxis Abstracta (AST). | Kitploit
Herramientas/GitHubGitHub/seifreed/yaraast
Análisis EstáticoAnálisis de VulnerabilidadesAnálisis de CódigoScripting y AutomatizaciónAnálisis de MalwareUtilidades y Frameworks
GitHubseifreed/yaraast

yaraast

Una potente biblioteca de Python y herramienta CLI para analizar, examinar y manipular reglas YARA mediante la representación de Árbol de Sintaxis Abstracta (AST).

Ver Repositorio
545hace 1 mesRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

YARAAST

yaraast

Analiza, transforma y parsea reglas YARA con un kit de herramientas AST en Python

CI Licencia: MIT Python 3.13+

GitHub Stars GitHub Issues Docs


Resumen

yaraast es una librería de Python para parsear y manipular reglas de la familia YARA utilizando Árboles de Sintaxis Abstracta (AST). Soporta flujos de trabajo clásicos de YARA, YARA-L y YARA-X con detección automática de dialecto y herramientas CLI.

Características principales

Ecosistema de reglas compatible

root@kitploit:~
Dialects   YARA, YARA-L, YARA-X
Parsers    Standard parser, unified parser, streaming parser
Outputs    YARA, JSON, YAML, AST tree views
Tooling    CLI, visitors, builders, serialization, semantic checks

Instalación

Desde PyPI (Recomendado)

root@kitploit:~
pip install yaraast

Desde el código fuente

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 .

Inicio rápido

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)

Uso

Interfaz de línea de comandos

root@kitploit:~
# Parsear e imprimir YARA normalizado
yaraast parse rules.yar

# Parsear a JSON
yaraast parse rules.yar --format json

# Parsear con dialecto explícito
yaraast parse rules.yar --dialect yara-x

# Validar archivo (sintaxis + comprobaciones de parseo)
yaraast validate rules.yar

# Formatear archivo en el lugar (formateador basado en AST)
yaraast fmt rules.yar

# Verificar formato sin modificar el archivo
yaraast fmt rules.yar --check

Comandos CLI principales


Librería Python

Parseo unificado

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

# Detección automática de dialecto
ast = UnifiedParser.parse_file("rules.yar")

# Forzar un dialecto específico
ast = UnifiedParser.parse_file("rules.yar", dialect=YaraDialect.YARA)

Parser directo + Visitor

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)

Dependencias opcionales

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

# Integración con libyara
pip install yaraast[libyara]

# Herramientas de rendimiento
pip install yaraast[performance]

# Soporte de visualización
pip install yaraast[visualization]

# Todo
pip install yaraast[all]

Documentación en tiempo de ejecución

  • Internos del runtime LSP: docs/lsp-runtime.md
  • Informe de paridad LSP: docs/lsp-parity-report.md
  • Último artefacto de benchmark del runtime: docs/benchmarks/lsp-runtime-latest.json

Requisitos

  • Python 3.13+
  • Consulta pyproject.toml para la lista completa de dependencias y extras

Contribuciones

Las contribuciones son bienvenidas. Consulta CONTRIBUTING.md para la configuración, controles de calidad y pautas de flujo de trabajo.

  1. Haz un fork del repositorio
  2. Crea una rama (git checkout -b feature/tu-cambio)
  3. Realiza tus cambios (git commit -m "Añade tu cambio")
  4. Sube los cambios (git push origin feature/tu-cambio)
  5. Abre un Pull Request

Licencia

Este proyecto está bajo la Licencia MIT - consulta el archivo LICENSE.

Autor

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

Diseñado para flujos de trabajo de análisis de malware e ingeniería de detección

Descargar herramienta
CaracterísticaDescripción
Parseo multi-dialectoParsea YARA, YARA-L y YARA-X desde archivos o cadenas
Detección automática de dialectoParser unificado que detecta automáticamente el dialecto de las reglas
Herramientas ASTConstruye, transforma, compara y serializa ASTs
Formateo y validaciónComandos CLI para flujos de parseo/formateo/validación
Soporte de streamingParsea archivos muy grandes con modo streaming
Integraciones con el ecosistemaCapacidades opcionales para LSP y libyara
ComandoDescripción
parseParsea un archivo de reglas y genera salida YARA/JSON/YAML/árbol
validateValida reglas y ejecuta subcomandos de validación
fmtFormateador basado en AST (con --check y --diff)
formatFormatea la entrada en un archivo de salida destino
validate-syntaxPunto de entrada centrado en validación de sintaxis
lspInicia funcionalidades del Protocolo de Servidor de Lenguaje