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
umberto — Biblioteca e CLI para mutação de dados estruturados (JSON, XML, X.509) para suportar fuzzing baseado em gramática, com múltiplas estratégias de mutação e integração com Radamsa. | Kitploit
Ferramentas/GitHubGitHub/trailofbits/umberto
Utilitários de Propósito GeralAnálise de VulnerabilidadesAnálise Dinâmica de Código (DAST)FuzzingArchived
GitHubtrailofbits/umberto

umberto

Biblioteca e CLI para mutação de dados estruturados (JSON, XML, X.509) para suportar fuzzing baseado em gramática, com múltiplas estratégias de mutação e integração com Radamsa.

Ver Repositório
314há 6 anosRevisado 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

Umberto

Umberto é uma biblioteca projetada para mutar dados estruturados genéricos (por exemplo, JSON, XML, X.509) e um aplicativo de linha de comando que encapsula essa funcionalidade. Ela pode aplicar uma variedade de mutações, sintetizar valores totalmente novos e aplicar mutadores existentes (por exemplo, Radamsa) a componentes da estrutura. Se você está tentando realizar fuzzing baseado em gramática, pode achá-la muito útil. Provavelmente é mais fácil entender com um exemplo:

root@kitploit:~
echo -n "{\"a\": 1, \"b\": 2, \"c\": \"test\"}" | umberto-mutate json knuth all

    {"a":2,"c":"tesb","t":1}

echo -n "{\"a\": 1, \"b\": 2, \"c\": \"test\"}" | umberto-mutate json newvals nums

    {"a":-2.8e-20,"b":-40000,"c":"test"}

echo -n "{\"a\": 1, \"b\": 2, \"c\": \"test\"}" | umberto-mutate json radamsa strings

    {"c\u0008^\u001f":"󠀨teï»â¨¿st","„1•31•31•31•31•31•31•31•3â":1,"ô ó –›ó €¶Db":2}

echo -n "{\"a\": 1, \"b\": 2, \"c\": \"test\"}" | umberto-mutate string replacement all
    
    :"c2:tb{ :"{c"}t"as }c"e": "2

Instalação

Umberto usa stack. Instale o stack, clone este repositório e então execute stack build && stack install. Se você quiser usar o fuzzer Radamsa, você também precisará instalá-lo separadamente.

Uso pela Linha de Comando

Umberto fornece um executável simples, umberto-mutate, que encapsula a maior parte da sua funcionalidade. O uso típico é o seguinte:

echo -n mydata | umberto-mutate FORMAT MUTATOR TARGET

FORMAT pode ser qualquer um dos seguintes:

  • json

  • string (ou essencialmente "sem formato")

  • xml (relativamente não testado)

  • der (X.509 DER, relativamente não testado)

MUTATOR pode ser qualquer um dos seguintes:

  • knuth: embaralhamento de Knuth de valores-alvo

  • replacement: embaralhamento por substituição de valores-alvo

  • newvals: sintetiza novos valores-alvo no lugar dos antigos

  • radamsa: chama o radamsa externamente para mutação (só funciona em strings)

TARGET pode ser qualquer um dos seguintes:

  • strings: tipos de string

  • nums: tipos numéricos

  • all: todos os tipos

Uso da Biblioteca

A maior parte da funcionalidade do Umberto está disponível em lib/Umberto.hs. Mutadores que fazem uso de polimorfismo de typeclass exigem algum uso de Template Haskell para violar a pressuposição de mundo aberto. Isso está disponível em Umberto.TH, mas só deve ser usado em código executável, nunca em bibliotecas.

Baixar ferramenta