Skip to main content

Overview

The Web package provides autonomous web application security testing capabilities. It combines intelligent crawling, parameter discovery, and LLM-guided fuzzing for comprehensive web vulnerability detection.

Purpose

Automate web security testing with:
  • Intelligent crawling: Discover pages, forms, and APIs
  • Parameter discovery: Find hidden parameters and endpoints
  • LLM-guided fuzzing: Context-aware payload generation
  • Authentication handling: Session management and auth workflows
  • API discovery: REST and GraphQL endpoint detection

Architecture

Quick Start

Basic Web Scan

CLI Usage

Core Classes

WebScanner

Main autonomous web security scanner.
str
required
Target web application URL
LLMProvider
required
LLM provider for intelligent fuzzing
Path
required
Output directory for scan results
bool
default:"True"
Verify SSL/TLS certificates
Dict
Discovery results (pages, parameters, forms)
List[Dict]
Vulnerability findings
int
Total vulnerabilities found

WebCrawler

Intelligent web crawler.
int
default:"3"
Maximum crawl depth
int
default:"100"
Maximum pages to crawl
List[str]
Discovered URLs
List[Dict]
HTML forms with inputs
List[Dict]
Query and form parameters
List[str]
Discovered API endpoints

WebFuzzer

LLM-guided intelligent fuzzing.
List[str]
Types to test: “sqli”, “xss”, “command_injection”, “path_traversal”, “xxe”
List[Dict]
Detected vulnerabilities with evidence

WebClient

HTTP client with session management.

Crawling

Basic Crawling

API Discovery

Parameter Discovery

Fuzzing

SQL Injection

Cross-Site Scripting (XSS)

Command Injection

Multiple Vulnerabilities

Complete Scan

Autonomous Web Scan

Authentication

Basic Auth

Session Auth

Custom Headers

Vulnerability Detection

SQL Injection Detection

XSS Detection

Command Injection

Configuration

Crawler Configuration

Fuzzer Configuration

Client Configuration

Output Structure

Report Example

Performance

Crawling Speed

  • Pages/second: 2-5 (depends on delay)
  • Typical scan: 50 pages in 2-5 minutes
  • With delay: Slower but stealthier

Fuzzing Speed

  • Per parameter: 30-60 seconds (depends on payloads)
  • LLM-guided: Smarter payloads, fewer requests
  • Full scan: 10-30 minutes (depends on scope)

Integration

With Static Analysis

With LLM Analysis

Best Practices

  1. Start with limited scope (max_depth=2, max_pages=50)
  2. Use delays to avoid rate limiting
  3. Authenticate properly for protected areas
  4. Verify SSL in production, skip for testing only
  5. Review findings manually before reporting