Map any website as a directed graph. Capture metrics. Scan for vulnerabilities. Explore with AI agents. Report everything.
BFS crawl via robots.txt, sitemaps, and link following. Two passes: anonymous and authenticated. Optional framework route detection for Astro, Next.js, SvelteKit.
Playwright visits every page. Records timing, HTTP status, all subresources, response headers, cookies, console messages, forms, and full-page screenshots.
Graph metrics, cyclomatic complexity, broken links, auth boundary violations, timing outliers, prime path enumeration, and passive security scanning.
Stable JSON schema for aggregation and trending. Dark-themed HTML with summary cards, sortable tables, and per-node details with expandable sections.
LLM-driven agents with headless browsers. WCAG contrast checking, hidden element detection, vision analysis, and interactive form testing. Cost-tracked.
Passive checks -- no attack payloads, safe for production
HSTS, CSP, X-Frame-Options, X-Content-Type-Options, Referrer-Policy
Missing CSP, unsafe-inline/eval, reflected parameters
Secure, HttpOnly, SameSite flags
HTTP resources on HTTPS pages
Wildcard origins, credentials exposure
Server versions, source maps, stack traces
CSRF tokens, password autocomplete
WCAG AA/AAA contrast ratios
Versioned JSON output. Diff any two runs. Aggregate across hundreds. Break your pipeline on regressions.
Claude, OpenAI, Gemini, or Apprentice for local routing. Configurable per run. Cost tracked to the token.
YAML rules to suppress known issues by URL pattern, title, or category. Suppressed findings are tracked, not deleted.
Detects Astro, Next.js, and SvelteKit routes from your project root. Supplements crawl with routes the spider can't reach.
# Full mechanical scan
webprobe run https://your-site.com
# With framework route detection
webprobe run https://your-site.com --project-root ./my-project
# JS-rendered sites (uses Playwright for mapping)
webprobe run https://your-site.com --js
# With LLM exploration
webprobe run https://your-site.com --explore --agents 5
# Individual phases
webprobe map https://your-site.com
webprobe capture ./webprobe-runs/run-id/
webprobe analyze ./webprobe-runs/run-id/
# Compare two runs
webprobe diff ./run-a/ ./run-b/
# Different LLM provider
webprobe explore ./run-id/ --provider openai --model gpt-4o