Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
yaraast — Uma poderosa biblioteca Python e ferramenta CLI para parsing, análise e manipulação de regras YARA através de representação em Árvore Sintática Abstrata (AST) | Kitploit
Ferramentas/GitHubGitHub/seifreed/yaraast
Análise EstáticaAnálise de VulnerabilidadesAnálise de CódigoScripting e AutomaçãoAnálise de MalwareUtilitários e Frameworks
GitHubseifreed/yaraast

yaraast

Uma poderosa biblioteca Python e ferramenta CLI para parsing, análise e manipulação de regras YARA através de representação em Árvore Sintática Abstrata (AST)

Ver Repositório
545há 1 mêsRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

YARAAST

yaraast

Analise, transforme e manipule regras YARA com um kit de ferramentas AST em Python

CI License: MIT Python 3.13+

GitHub Stars GitHub Issues Docs


Visão geral

yaraast é uma biblioteca Python para analisar e manipular regras da família YARA usando Árvores Sintáticas Abstratas (AST). Suporta fluxos de trabalho clássicos YARA, YARA-L e YARA-X com detecção automática de dialeto e ferramentas de linha de comando.

Principais funcionalidades

Ecossistema de regras suportado

root@kitploit:~
Dialetos   YARA, YARA-L, YARA-X
Analisadores    Analisador padrão, analisador unificado, analisador de streaming
Saídas    YARA, JSON, YAML, visualizações de árvore AST
Ferramentas    CLI, visitors, construtores, serialização, verificações semânticas

Instalação

A partir do PyPI (recomendado)

root@kitploit:~
pip install yaraast

A partir do código fonte

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 .

Início 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

Interface de linha de comando

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

# Analisar para JSON
yaraast parse rules.yar --format json

# Analisar com dialeto explícito
yaraast parse rules.yar --dialect yara-x

# Validar arquivo (verificações de sintaxe + análise)
yaraast validate rules.yar

# Formatar arquivo in-place (formatador baseado em AST)
yaraast fmt rules.yar

# Verificar formatação sem modificar o arquivo
yaraast fmt rules.yar --check

Comandos principais da CLI


Biblioteca Python

Análise unificada

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

# Detectar dialeto automaticamente
ast = UnifiedParser.parse_file("rules.yar")

# Forçar dialeto específico
ast = UnifiedParser.parse_file("rules.yar", dialect=YaraDialect.YARA)

Analisador direto + 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)

Dependências opcionais

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

# Integração com libyara
pip install yaraast[libyara]

# Ferramentas de desempenho
pip install yaraast[performance]

# Suporte a visualização
pip install yaraast[visualization]

# Tudo
pip install yaraast[all]

Documentação em tempo de execução

  • Detalhes internos do runtime LSP: docs/lsp-runtime.md
  • Relatório de paridade LSP: docs/lsp-parity-report.md
  • Artefato de benchmark de runtime mais recente: docs/benchmarks/lsp-runtime-latest.json

Requisitos

  • Python 3.13+
  • Veja pyproject.toml para a lista completa de dependências e extras

Contribuição

Contribuições são bem-vindas. Veja CONTRIBUTING.md para configuração, verificações de qualidade e diretrizes de fluxo de trabalho.

  1. Faça um fork do repositório
  2. Crie um branch (git checkout -b feature/sua-mudanca)
  3. Faça commit das alterações (git commit -m "Adicione sua mudança")
  4. Faça push (git push origin feature/sua-mudanca)
  5. Abra um Pull Request

Licença

Este projeto está licenciado sob a Licença MIT - veja LICENSE.

Autor

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

Construído para fluxos de trabalho de análise de malware e engenharia de detecção

Baixar ferramenta
FuncionalidadeDescrição
Análise de múltiplos dialetosAnalisar YARA, YARA-L e YARA-X a partir de arquivos ou strings
Detecção automática de dialetoAnalisador unificado que detecta automaticamente os dialetos das regras
Ferramentas ASTConstruir, transformar, comparar e serializar ASTs
Formatação e validaçãoComandos CLI para fluxos de análise, formatação e validação
Suporte a streamingAnalisar arquivos muito grandes com modo de streaming
Integrações com ecossistemaCapacidades opcionais de LSP e relacionadas ao libyara
ComandoDescrição
parseAnalisar um arquivo de regras e gerar YARA/JSON/YAML/árvore
validateValidar regras e executar subcomandos de validação
fmtFormatador baseado em AST (com --check e --diff)
formatFormatar entrada para um arquivo de saída alvo
validate-syntaxPonto de entrada para validação focada em sintaxe
lspExecutar funcionalidades do Protocolo de Servidor de Linguagem