FixVibe

// docs / scans

Scan types

FixVibe runs three kinds of scans against three kinds of targets. Each has different gating, different speed, and different blast radius โ€” pick the one that matches what you're testing.

Passive

Available on every tier. A passive scan never sends crafted attack input; it fetches the URL like a normal browser and checks shipped responses, client assets, BaaS exposure, DNS, and public security posture against 250+ vulnerability classes.

Because it's read-only, passive can run against any URL โ€” no domain verification, no attestation. The trade-off is depth: passive misses everything that requires sending input to discover.

What passive catches

  • Missing security headers (HSTS, CSP, frame-options, etc.).
  • Insecure cookie attributes (no Secure / HttpOnly / SameSite).
  • Weak TLS configuration, expired certs, missing HSTS preload.
  • Secrets in JS bundles (Supabase service keys, AWS keys, Stripe sk_, etc.).
  • Exposed source maps, debug endpoints, OpenAPI specs, GraphQL introspection.
  • Open Supabase RLS / Firebase rules / Clerk misconfiguration.
  • DNS (subdomain takeover, missing SPF/DKIM/DMARC).
  • Threat-intel listings (Spamhaus, URLhaus).
  • Outdated framework versions with known CVEs.

Active Hobby+

Active scans perform bounded verification against verified domains you have explicitly authorized. They are available on the Hobby plan and higher tiers (Pro, Unlimited) and are designed to confirm risky behavior without publishing the underlying probe recipes.

Why we gate it: the attestation flow

Active probes can theoretically affect production โ€” slow responses, error spikes, garbage data in test stores. We require you to:

  1. Verify the domain via DNS TXT or an HTTP file (Account โ†’ Domains).
  2. Attest authorization โ€” a single confirmation at scan-start time saying you have permission. Server-stamped with your IP, user-agent, and timestamp; written to audit_logs.

For scheduled re-scans and API/MCP active starts, domain authorization is recorded from Dashboard โ†’ Domains and can be revoked at any time. Automated active scans use the authorized safety level for that domain.

GitHub repository Pro+

Repo scans skip deployed URL testing and review source through the FixVibe GitHub App or your OAuth connection. They report high-confidence code, dependency, and repository-security risks without storing your source code.

Repo scans never write to your repo and never persist source code โ€” only finding evidence is stored. Quota: same scansPerMonth bucket as URL scans.

Trigger via API

curl
curl -X POST https://fixvibe.app/api/v1/scans \
  -H "Authorization: Bearer fxv_..." \
  -H "content-type: application/json" \
  -d '{"target":"https://staging.example.com"}'

REST API and MCP can start passive scans, and can start active scans for verified domains that have been explicitly authorized in Dashboard โ†’ Domains. Full reference: /docs/api.

Anonymous one-shot scans

The home page lets unsigned-up visitors run a single passive scan per browser session. These scans expire 24 hours after creation and can be migrated to a real account by signing up before they expire โ€” the auth callback automatically attaches the anonymous scan to the new org.

Scan types โ€” Docs ยท FixVibe