2 stable releases
Uses new Rust 2024
| 1.0.1 | Sep 9, 2025 |
|---|---|
| 1.0.0 | Sep 8, 2025 |
#182 in Cryptography
35 downloads per month
1MB
14K
SLoC
Maybenot CLI
A CLI tool for defense generation using Maybenot. Provides command-line utilities for creating, optimizing, and analyzing traffic analysis defenses using the Maybenot framework.
A CLI tool for defense generation using Maybenot
Usage: maybenot <COMMAND>
Commands:
search Search for defenses based on the provided configuration
derive Derive a defense from a seed using the provided configuration
combo Combine machines of existing defenses into new defenses
sim Simulate defenses on a dataset
eval Evaluate defenses on a dataset
eval-print Print the results of an evaluation in a human-readable format
fixed Create or update defenses by adding fixed static machines
budget Update budgets for existing defenses
release Create a release JSON with placeholder values
tune-rng Tune config by randomly replacing values to search for better defenses
help Print this message or the help of the given subcommand(s)
Options:
-h, --help Print help
-V, --version Print version
As part of the Maybenot GitHub
repository, there is an example
configuration in examples/popets26-eph-padding.toml based on the ephemeral
padding-only defenses in the "Ephemeral Network-Layer Fingerprinting Defenses"
paper, PETS 2026 (to appear). You will need to edit the path to the extracted
BigEnough
dataset
by Mathews et
al., and ensure
that your environment can run scripts/rf.py and scripts/df.py (also in the
Maybenot repo). The below three commands:
- Searches for 100 random defenses.
- Combines the 100 defenses into 19000 defenses to match the number of traces in BigEnough.
- Simulated the defenses on the BigEnough dataset and evaluates the results in terms of overheads and attack accuracy by the Deep Fingerprinting and Robust Fingerprinting attacks.
$ maybenot search -c examples/popets26-eph-padding.toml -o def-100
$ maybenot combo -c examples/popets26-eph-padding.toml -i def-100 -o def-100-h2-19k
$ maybenot sim -c examples/popets26-eph-padding.toml -i def-100-h2-19k -o /mnt/ramdisk/def-100-h2-19k-be -e
Contributing
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as MIT or Apache-2.0, without any additional terms or conditions.
Sponsorship
Made possible with support from Mullvad VPN, the Swedish Internet Foundation, and the Knowledge Foundation of Sweden.
Dependencies
~22MB
~398K SLoC