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

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

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

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

工具目录

分类

查看所有分类
Loading categories
umberto — 用于变异结构化数据(JSON、XML、X.509)的库和 CLI,支持基于语法的模糊测试,提供多种变异策略并与 Radamsa 集成。 | Kitploit
工具/GitHubGitHub/trailofbits/umberto
通用工具漏洞分析动态代码分析 (DAST)模糊测试Archived
GitHubtrailofbits/umberto

umberto

用于变异结构化数据(JSON、XML、X.509)的库和 CLI,支持基于语法的模糊测试,提供多种变异策略并与 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:对目标值进行 Knuth 洗牌

  • replacement:对目标值进行替换洗牌

  • newvals:合成新的目标值以替代旧值

  • radamsa:调用 radamsa 进行变异(仅适用于字符串)

TARGET 可以是以下任一值:

  • strings:字符串类型

  • nums:数字类型

  • all:所有类型

库用法

Umberto 的大部分功能都可在 lib/Umberto.hs 中使用。使用类型类多态的变异器需要借助 Template Haskell 来打破开放世界假设。该功能位于 Umberto.TH 中,但只应在可执行代码中使用,切勿在库中使用。

下载工具