Skip to content

Adapter Configuration

Each security tool has its own adapter settings. These control how netinvoke invokes the underlying binary.

ffuf

toml
[adapters.ffuf]
wordlist = "/usr/share/seclists/Discovery/Web-Content/common.txt"
threads = 40
timeout = 10
recursive = false
SettingDefaultDescription
wordlist/usr/share/seclists/Discovery/Web-Content/common.txtPath to fuzzing wordlist
threads40Number of concurrent threads
timeout10HTTP timeout in seconds
recursivefalseEnable recursive directory fuzzing

nuclei

toml
[adapters.nuclei]
templates = []
severity = []
rate_limit = 100
SettingDefaultDescription
templates[] (all)Template tags or paths to run
severity[] (all)Filter by severity: critical, high, medium, low, info
rate_limit100Maximum requests per second

httpx

toml
[adapters.httpx]
threads = 40
rate_limit = 150
tech_detect = false
SettingDefaultDescription
threads40Number of concurrent threads
rate_limit150Maximum requests per second
tech_detectfalseEnable technology detection probes

sqlmap

toml
[adapters.sqlmap]
level = 3
risk = 2
batch = true
SettingDefaultDescription
level3Detection level (1-5, higher = more tests)
risk2Risk of tests (1-3, higher = more aggressive)
batchtrueNever prompt for user input

mitmproxy

toml
[adapters.mitmproxy]
listen_host = "127.0.0.1"
listen_port = 8080
upstream_proxy = ""
SettingDefaultDescription
listen_host127.0.0.1Proxy listen address
listen_port8080Proxy listen port
upstream_proxy(empty)Upstream proxy URL for chained proxying

How Adapters Work

Adapters invoke external tools as subprocesses. netinject does not re-implement any scanning, fuzzing, or proxying logic. Each adapter:

  1. Builds a command line from config + input URLs
  2. Runs the tool as a subprocess
  3. Parses the tool's JSONL output
  4. Normalizes results into unified Finding structs

All tools must be installed separately. Run netinject check to verify which tools are available.