Configuration File Structure
Authentication Section
Configures authentication for testing protected applications. See Authentication Configuration for detailed examples.authentication.login_type
Type of authentication mechanism:
form- Traditional form-based loginsso- Single Sign-On (e.g., “Sign in with Google”)api- API key or token authenticationbasic- HTTP Basic Authentication
authentication.login_url
URL for the login page or endpoint. Must be a valid URI.
authentication.credentials
Login credentials
Username, email, or API key (1-255 characters)
Password or API secret (1-255 characters)
Base32-encoded TOTP secret for two-factor authentication. Pattern:
^[A-Za-z2-7]+=*$ (case insensitive)authentication.login_flow
Step-by-step natural language instructions for the login process:
- Minimum: 1 step
- Maximum: 20 steps
- Each step: 1-500 characters
- Use variables:
$username,$password,$totp
authentication.success_condition
Condition indicating successful authentication
url_contains- URL contains the specified valueurl_equals_exactly- URL exactly matches the valueelement_present- Page contains a specific elementtext_contains- Page content contains the text
Value to match against (1-500 characters)
Rules Section
Defines testing boundaries and priorities. Bothavoid and focus are optional.
rules.avoid
Rules defining areas to avoid during testing (maximum 50 rules)
rules.focus
Rules defining areas to prioritize during testing (maximum 50 rules)
Rule Object
Each rule inavoid or focus has the following structure:
Human-readable description of the rule (1-200 characters)
Type of rule:
path- Match URL path (e.g.,/api/users)subdomain- Match subdomain (e.g.,admin)domain- Match full domain (e.g.,example.com)method- Match HTTP method (e.g.,DELETE)header- Match HTTP header nameparameter- Match query/body parameter name
Pattern or value to match (1-1000 characters)Requirements vary by type:
path: Must start with/subdomain: No/characters alloweddomain: Must contain.and no/charactersmethod: Must be GET, POST, PUT, DELETE, PATCH, HEAD, or OPTIONSheader: Alphanumeric, hyphens, underscores onlyparameter: Alphanumeric, hyphens, underscores only
Rules Examples
Avoid Examples:Rule Validation
Shannon validates rules to prevent:- Duplicates: Same type+url_path combination in avoid or focus
- Conflicts: Same type+url_path in both avoid and focus
- Security violations: Dangerous patterns like path traversal
Pipeline Section
Controls retry behavior and concurrency. See Retry Strategies and Pipeline Settings for details.pipeline.retry_preset
Retry behavior preset:
default- Standard retry (30-minute max backoff)subscription- Extended retry for Anthropic subscription plans (6-hour max backoff, 100 retries)
pipeline.max_concurrent_pipelines
Maximum concurrent vulnerability analysis pipelines (1-5). Lower values reduce API usage spikes but increase wall-clock time.
Complete Example
Here’s a complete configuration file demonstrating all available options:Schema Validation Details
Configuration files are validated againstconfigs/config-schema.json (JSON Schema Draft 07). The schema enforces:
- Type safety: All fields must have correct types
- Required fields: Missing required fields are rejected
- Value constraints: Min/max lengths, patterns, enums
- Security rules: Dangerous patterns are blocked
- Logical consistency: Conflicts and duplicates are detected
Common Validation Errors
Missing required field:Next Steps
Authentication
Detailed authentication examples
Retry Strategies
Configure retry behavior for rate limits
