pub struct Cli {Show 47 fields
pub urls: Option<PathBuf>,
pub stdin: bool,
pub har: Option<PathBuf>,
pub no_filter: bool,
pub filter_timeout: u64,
pub no_discovery: bool,
pub output: Option<PathBuf>,
pub format: CliFormat,
pub stream: bool,
pub baseline: Option<PathBuf>,
pub quiet: bool,
pub summary: bool,
pub no_auto_report: bool,
pub concurrency: usize,
pub max_endpoints: usize,
pub delay_ms: u64,
pub retries: u32,
pub timeout_secs: u64,
pub waf_evasion: bool,
pub user_agents: Vec<String>,
pub headers: Vec<String>,
pub cookies: Vec<String>,
pub proxy: Option<String>,
pub danger_accept_invalid_certs: bool,
pub active_checks: bool,
pub dry_run: bool,
pub per_host_clients: bool,
pub adaptive_concurrency: bool,
pub auth_bearer: Option<String>,
pub auth_basic: Option<String>,
pub auth_flow: Option<PathBuf>,
pub auth_flow_b: Option<PathBuf>,
pub unauth_strip_headers: Option<Vec<String>>,
pub session_file: Option<PathBuf>,
pub no_cors: bool,
pub no_csp: bool,
pub no_graphql: bool,
pub no_api_security: bool,
pub no_jwt: bool,
pub no_openapi: bool,
pub no_mass_assignment: bool,
pub no_oauth_oidc: bool,
pub no_rate_limit: bool,
pub no_cve_templates: bool,
pub no_websocket: bool,
pub min_severity: Option<CliSeverity>,
pub fail_on: CliSeverity,
}Expand description
A fast, async web security scanner.
Reads a list of URLs from a file or stdin, runs the enabled checks concurrently, and writes findings in JSON or NDJSON format.
Fields§
§urls: Option<PathBuf>Path to a newline-delimited file of URLs to scan.
stdin: boolRead newline-delimited URLs from stdin instead of a file.
har: Option<PathBuf>Path to a HAR file; imports log.entries[].request.url as scan seeds.
no_filter: boolSkip pre-filtering of inaccessible URLs (enabled by default).
filter_timeout: u64Timeout for accessibility pre-check (seconds).
no_discovery: boolSkip endpoint discovery and scan only the provided seed URLs.
output: Option<PathBuf>Write findings to this file path (default: stdout).
format: CliFormatOutput format.
stream: boolEmit NDJSON findings as they arrive (NDJSON only).
baseline: Option<PathBuf>Baseline NDJSON file; suppress findings already present in baseline.
quiet: boolSuppress all stdout output except findings (no summary box).
summary: boolPrint the summary box even in quiet mode.
no_auto_report: boolDisable automatic local report persistence under ~/Documents/ApiHunterReports.
concurrency: usizeMaximum number of concurrent in-flight requests.
max_endpoints: usizeMaximum number of endpoints to scan per site (0 = unlimited).
delay_ms: u64Per-domain minimum delay between requests (milliseconds).
retries: u32Maximum number of retry attempts on transient errors.
timeout_secs: u64Per-request timeout (seconds).
waf_evasion: boolEnable WAF-evasion heuristics (randomised UA, header shuffling, jitter).
user_agents: Vec<String>Rotate through these User-Agent strings (comma-separated). Implies –waf-evasion.
headers: Vec<String>Extra request headers applied to every request (e.g. “Authorization: Bearer xxx”).
Cookies applied to every request (e.g. “session=abc123,theme=dark”).
proxy: Option<String>HTTP/HTTPS proxy URL (e.g. http://127.0.0.1:8080).
danger_accept_invalid_certs: boolAccept invalid / self-signed TLS certificates (dangerous).
active_checks: boolEnable active (potentially invasive) checks.
dry_run: boolDry-run active checks: do not send mutation probes, emit informational “would test” findings.
per_host_clients: boolUse per-host HTTP client pools.
adaptive_concurrency: boolEnable adaptive concurrency (AIMD).
auth_bearer: Option<String>Convenience: add Authorization: Bearer <token>.
auth_basic: Option<String>Convenience: add Authorization: Basic <base64(user:pass)>.
auth_flow: Option<PathBuf>Path to a JSON auth flow descriptor for pre-scan login. See docs/auth-flow.md for the format.
auth_flow_b: Option<PathBuf>Second auth flow for cross-user IDOR checks (–active-checks required).
unauth_strip_headers: Option<Vec<String>>Extra auth-like headers to strip for unauthenticated probes (comma-separated).
session_file: Option<PathBuf>Load/save cookies from a JSON session file.
no_cors: boolDisable the CORS scanner.
no_csp: boolDisable the CSP scanner.
no_graphql: boolDisable the GraphQL scanner.
no_api_security: boolDisable the API-security scanner.
no_jwt: boolDisable the JWT scanner.
no_openapi: boolDisable the OpenAPI scanner.
no_mass_assignment: boolDisable the Mass Assignment scanner (active checks).
no_oauth_oidc: boolDisable the OAuth/OIDC scanner (active checks).
no_rate_limit: boolDisable the Rate Limit scanner (active checks).
no_cve_templates: boolDisable the CVE Template scanner (active checks).
no_websocket: boolDisable the WebSocket scanner (active checks).
min_severity: Option<CliSeverity>Minimum severity to include in findings output.
fail_on: CliSeverityExit with code 1 when findings at or above this severity are found.
Trait Implementations§
Source§impl Args for Cli
impl Args for Cli
Source§fn augment_args<'b>(__clap_app: Command) -> Command
fn augment_args<'b>(__clap_app: Command) -> Command
Source§fn augment_args_for_update<'b>(__clap_app: Command) -> Command
fn augment_args_for_update<'b>(__clap_app: Command) -> Command
Command so it can instantiate self via
FromArgMatches::update_from_arg_matches_mut Read moreSource§impl CommandFactory for Cli
impl CommandFactory for Cli
Source§impl FromArgMatches for Cli
impl FromArgMatches for Cli
Source§fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>
fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>
Source§fn from_arg_matches_mut(
__clap_arg_matches: &mut ArgMatches,
) -> Result<Self, Error>
fn from_arg_matches_mut( __clap_arg_matches: &mut ArgMatches, ) -> Result<Self, Error>
Source§fn update_from_arg_matches(
&mut self,
__clap_arg_matches: &ArgMatches,
) -> Result<(), Error>
fn update_from_arg_matches( &mut self, __clap_arg_matches: &ArgMatches, ) -> Result<(), Error>
ArgMatches to self.Source§fn update_from_arg_matches_mut(
&mut self,
__clap_arg_matches: &mut ArgMatches,
) -> Result<(), Error>
fn update_from_arg_matches_mut( &mut self, __clap_arg_matches: &mut ArgMatches, ) -> Result<(), Error>
ArgMatches to self.