Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
umberto — Библиотека и CLI для мутации структурированных данных (JSON, XML, X.509) для поддержки грамматического фаззинга, с несколькими стратегиями мутации и интеграцией с Radamsa. | Kitploit
Инструменты/GitHubGitHub/trailofbits/umberto
Утилиты общего назначенияАнализ уязвимостейДинамический анализ кода (DAST)ФаззингArchived
GitHubtrailofbits/umberto

umberto

Библиотека и CLI для мутации структурированных данных (JSON, XML, X.509) для поддержки грамматического фаззинга, с несколькими стратегиями мутации и интеграцией с Radamsa.

Репозиторий
3146 лет назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

Umberto

Umberto — это библиотека, предназначенная для мутации структурированных данных общего вида (например, JSON, XML, X.509), а также приложение командной строки, оборачивающее эту функциональность. Она может применять разнообразные мутации, синтезировать совершенно новые значения и применять существующие мутаторы (например, Radamsa) к компонентам структуры. Если вы пытаетесь заниматься грамматическим фаззингом, она может оказаться очень полезной. Вероятно, проще всего понять её на примере:

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

Установка

Umberto использует stack. Установите stack, клонируйте этот репозиторий, затем выполните stack build && stack install. Если вы хотите использовать фаззер Radamsa, вам также потребуется установить его отдельно.

Использование командной строки

Umberto предоставляет простой исполняемый файл, umberto-mutate, который оборачивает большую часть его функциональности. Типичное использование выглядит следующим образом:

echo -n mydata | umberto-mutate FORMAT MUTATOR TARGET

FORMAT может быть одним из следующих:

  • json

  • string (или, по сути, «без формата»)

  • xml (относительно непротестирован)

  • der (X.509 DER, относительно непротестирован)

MUTATOR может быть одним из следующих:

  • knuth: перемешивание Кнута для целевых значений

  • replacement: замещающее перемешивание для целевых значений

  • newvals: синтез новых целевых значений вместо старых

  • radamsa: вызов radamsa для мутации (работает только со строками)

TARGET может быть одним из следующих:

  • strings: строковые типы

  • nums: числовые типы

  • all: все типы

Использование библиотеки

Большая часть функциональности Umberto доступна в lib/Umberto.hs. Мутаторы, использующие полиморфизм классов типов, требуют некоторого применения Template Haskell для нарушения допущения об открытом мире. Это доступно в Umberto.TH, но должно использоваться только в исполняемом коде и никогда в библиотеках.

Скачать инструмент