Complete pentest feature overhaul: SSE streaming, session-persistent browser tool (CDP), AES-256 credential encryption, auto-screenshots in reports, code-level remediation correlation, SAST triage chunking, context window optimization, test user cleanup (Keycloak/Auth0/Okta), wizard dropdowns, attack chain improvements, architecture docs with Mermaid diagrams. Co-authored-by: Sharang Parnerkar <parnerkarsharang@gmail.com> Reviewed-on: #16
6.4 KiB
AI Pentest
The AI Pentest module provides autonomous, LLM-driven penetration testing against your DAST targets. It orchestrates a chain of security tools guided by AI reasoning to discover vulnerabilities that traditional scanning may miss.
Overview
Navigate to Pentest in the sidebar to see the pentest dashboard.
The dashboard shows:
- Total pentest sessions run
- Aggregate finding counts with severity breakdown
- Tool invocation statistics and success rates
- Session cards with status, target, strategy, and finding count
Starting a Pentest Session
Click New Pentest on the dashboard to open the 4-step onboarding wizard:
Step 1 — Target & Scope
- App URL — enter manually or select from existing DAST targets (dropdown)
- Git Repository URL — enter manually or select from tracked repositories (dropdown). If an SSH URL is selected, the deploy key is displayed for easy copy
- Branch / Commit — auto-populated when you click Lookup for a tracked repo
- App Type and Rate Limit
Step 2 — Authentication
- None — unauthenticated testing
- Manual Credentials — provide username/password (encrypted at rest with AES-256-GCM)
- Auto-Register — the orchestrator uses the browser tool (headless Chrome) to discover the registration page and create a test account:
- Registration URL (optional) — auto-discovered via Playwright if omitted
- Verification Email (optional) — override the agent's default mailbox. Uses plus-addressing (
base+sessionid@domain) and polls IMAP for verification links - IMAP Settings — collapsible section to override host/port/credentials
Step 3 — Strategy & Instructions
| Strategy | Description |
|---|---|
| Comprehensive | Full-spectrum test covering recon, API analysis, injection testing, auth checks, and more |
| Quick | Focus on common/high-impact vulnerabilities with minimal tool invocations |
| Targeted | SAST-guided — prioritize areas where static analysis found issues |
| Aggressive | Maximum payloads, attempt full exploitation |
| Stealth | Minimal noise, passive analysis, targeted probes |
- Initial Instructions — free-text guidance for the AI
- Scope Exclusions — paths to skip
- Max Duration, Tester Name/Email, Destructive Tests toggle
Step 4 — Disclaimer & Confirm
Review the configuration summary and accept the authorization disclaimer.
The wizard can be closed at any time via the X button (top-right corner) or by clicking outside the modal.
::: tip Architecture Deep-Dive See Pentest Orchestration Architecture for details on how the LLM loop works, what context is passed, and how findings are correlated to source code. :::
The AI orchestrator will autonomously select and execute security tools in phases, using the output of each phase to inform the next.
Session View
Click any session card to open the detailed session view. It shows:
Summary Cards
- Findings — total vulnerabilities discovered
- Exploitable — confirmed-exploitable findings
- Tool Invocations — total tools executed
- Success Rate — percentage of tools that completed successfully
Severity Distribution
A bar showing the breakdown of findings by severity level (Critical, High, Medium, Low, Info).
Findings Tab
Lists all discovered vulnerabilities with:
- Severity badge and title
- Vulnerability type and exploitability status
- HTTP method and endpoint
- CWE identifier
- Description and remediation recommendation
- Correlated SAST finding references (when available)
Attack Chain Tab
A visual DAG (directed acyclic graph) showing the sequence of tools executed during the pentest. Nodes are grouped into phases:
- Phase-based layout — tools are organized top-down by execution phase (reconnaissance, analysis, testing, exploitation, etc.)
- Category icons — each tool displays an icon indicating its category (recon, XSS, SQLi, SSRF, auth, headers, cookies, TLS, CORS, etc.)
- Status indicators — color-coded status dots (green = completed, yellow = running, red = failed)
- Finding badges — red badge showing the number of findings produced by each tool
- Interactive — hover for details, click to select, scroll to zoom, drag to pan
Pausing, Resuming & Stopping
- Pause — click the Pause button on a running session to suspend the orchestrator loop. The session status changes to
pausedand the LLM stops iterating. SSE clients receive apausedevent. - Resume — click Resume on a paused session to continue from where it left off. The status returns to
runningand aresumedevent is broadcast. - Stop — click Stop to permanently halt the session. This marks it as
failedwith reason "Stopped by user".
Exporting Reports
Click Export Report on any session to generate a professional pentest report.
Export Process
- Enter an encryption password (minimum 8 characters)
- Click Export to generate and download the report
The export produces a password-protected ZIP archive (AES-256 encryption) that can be opened with any standard archive tool (7-Zip, WinRAR, macOS Archive Utility, etc.).
Archive Contents
| File | Description |
|---|---|
report.html |
Professional HTML report with executive summary, methodology, tools, findings with recommendations, and attack chain timeline |
findings.json |
Raw findings data in JSON format for programmatic processing |
attack-chain.json |
Raw attack chain data showing tool execution sequence and relationships |
Report Features
The HTML report includes:
- Company logo and CONFIDENTIAL banner
- Requester information
- Executive summary with overall risk rating
- Severity distribution chart
- Methodology and tools section
- Detailed findings with severity, CWE, endpoint, evidence, remediation guidance, and linked SAST references
- Attack chain timeline
- Print-friendly layout (dark theme on screen, light theme for print)
Integrity Verification
After export, the dashboard displays the SHA-256 checksum of the archive with a copy-to-clipboard button. Use this to verify the archive has not been tampered with after distribution.
::: warning Only run pentests against applications you own or have explicit written authorization to test. AI-driven pentesting sends real attack payloads that may trigger alerts or cause unintended side effects. :::