Docs/Reference
/Config File
Machine-oriented reference for the key=value configuration file loaded with -c / --config. For operator workflow and precedence, see Guide · Configuration.
Parser behaviour
- Format: one
key=value per line; whitespace around key/value trimmed.
- Comments: lines starting with
# (after trim) are ignored.
- Unknown keys: silently ignored (forward-compatible).
- Booleans:
true / 1 = true; anything else for those keys = false.
- Implementation:
Config::from_file in src/common/config.rs.
Load
nexsiz -c config/example.conf
nexsiz -c /path/to/campaign.conf -v
When -c is parsed, the entire Config is replaced from the file. Place -c early if you also pass flags that should apply after the file (flags after -c continue to update fields).
Shipped example
Repository path: config/example.conf.
# Nexsiz example configuration
host=127.0.0.1
port=21
protocol=tcp
model=ftp
timeout_ms=400
max_reuse_messages=24
integrity=default
oracle=default
encryptor=null
workers=4
connection_reuse=true
seed_dir=seeds/ftp
output_dir=output/ftp
verbose=true
# max_execs=100000
# rng_seed=42
# target_cmd=./target_daemon
Keys by group
Target
| Key | Default | Notes |
host | 127.0.0.1 | IP address |
port | 80 | u16 |
protocol | tcp | lowercased: tcp | udp |
timeout_ms | 500 | Per-operation timeout |
max_reuse_messages | 32 | Messages before forced reconnect |
target_cmd | — | Local process for monitor / snapshot |
Plugins
| Key | Aliases | Values |
model | protocol_model | Model name or path ending in .json |
integrity | integrity_plugin | default | http | ftp | smtp | binary | binary-le | null |
oracle | oracle_plugin | default | strict | crash | hang | coverage | differential | sanitizer | diffsan | expanded |
encryptor | encryptor_plugin | null | xor | chacha20 | tls-record | chacha20+tls | xor+tls |
enc_key | encryptor_key, key | Key material string |
coverage | coverage_provider | null | map | software |
coverage_shm | shm, shm_id | Frida SHM identifier |
Execution
| Key | Default | Notes |
workers | #cores | Worker thread count |
connection_reuse | true | true/1 |
snapshot | false | true/1 |
snapshot_backend | process | Alias: snapshot_provider — null | process | criu |
use_libafl | false | Alias: libafl |
rpc_sock | — | Aliases: rpc, python_rpc |
Campaign paths & limits
| Key | Default | Notes |
seed_dir | seeds | Corpus directory |
output_dir | output | Campaign output root |
max_execs | — | Stop after N executions |
rng_seed | — | Deterministic RNG |
verbose | false | true/1 |
Mutator tuning
| Key | Default | Notes |
hierarchical_prob | 0.15 | Hierarchy-level mutation probability |
field_prob | 0.70 | Field-level mutation probability |
dict_prob | 0.25 | Dictionary mutation probability |
template_prob | 0.12 | Template splice probability (clamped 0–1) |
max_mutations | 8 | Max mutations per input |
NXS
| Key | Default | Notes |
nxs / nxs_set | — | Enables NXS and sets expression |
nxs_path | — | Colon-separated extra search paths |
nxs_events | crash,hang | Comma-separated event list |
nxs_cooldown | 30 | Alias: nxs_cooldown_secs |
nxs_max_per_event | 0 | 0 = unlimited |
nxs_max_total | 0 | 0 = unlimited |