Skip to main content

BAS & Pentest Automation

If a term is unfamiliar, open the Glossary.

Access controls: Reconnaissance, vulnerability discovery, and authenticated crawling are premium add-ons. You must (a) hold an active Pentest/BAS subscription and (b) upload written authorization from the target organization before any automation is enabled. Dralvia SOC staff review every request and can revoke access at any time through the global kill switch.

The Pentest & BAS workspace (#/bas-guardrails, #/bas-recon, #/bas-auth) lets authorized program owners run scoped tests without leaving the Dralvia console.

1. Guardrails & Kill Switch

Use BAS Guardrails to define what is in scope and how much effort is allowed.

FieldDescription
Scope nameFriendly label that appears in EvidencePacks.
Target domains / IPsComma-separated list of fully qualified domains or CIDR ranges. Wildcards are blocked.
Effort tierRecon, Safe set (OWASP Top 10), or Full. Higher tiers require explicit legal approval.
Allowed techniquesToggle DNS, WHOIS, OSINT, auth crawl, credential stuffing simulation, etc.
Kill switchMaster toggle to freeze every BAS job instantly. SOC uses this for emergency stop.

Every change is versioned and signed in the EvidencePack (Dralvia's exportable evidence report) chain so auditors can show the controls that were in place when testing ran.

2. Recon & OSINT Jobs

The BAS Recon & OSINT tab orchestrates passive discovery (WHOIS, DNS, SSL, exposed services, breach forums).

  1. Select an approved scope from the dropdown.
  2. Pick the modules you want (WHOIS, DNS Records, Certificate Transparency, Threat Intel, Asset Graph).
  3. Hit Launch job. Jobs run asynchronously; progress appears in the job table and each module writes artifacts into the linked EvidencePack.
  4. Use the Download EvidencePack button to hand results to investigators or attach to TicketBridge tickets.

API sample

curl -X POST "$BASE_URL/bas/recon/jobs" \
-H "X-API-KEY: $DRALVIA_API_KEY" \
-H "Content-Type: application/json" \
-d '{"scope_id": "scope_123", "modules": ["whois","dns","ct_logs"]}'

Jobs respect guardrails automatically. If you ask for a module that is not approved for the selected scope the API returns 403 scope_locked.

3. Authenticated Crawl (OWASP Safe Set)

The BAS Auth Crawl tab runs authenticated checks against login portals and critical workflows without performing destructive actions.

Workflow:

  1. Add targets in the BAS Auth Crawl tab (URL, allowlist, and an optional sign-in flow describing how to authenticate; secrets stay in env vars such as username_env/password_env).
  2. Dralvia fetches the page over HTTPS, validates the certificate, and inspects forms, CSP/HSTS headers, and cookie attributes. If a Playwright flow is available the service drives headless Chromium, logs in, and records the resulting session cookies (Secure/HttpOnly/SameSite verdicts land in the EvidencePack).
  3. Optionally walks the "Safe set" of OWASP tests (misconfigured MFA prompt, missing rate limits, weak session cookies).
  4. Produces a signed report with per-target findings and attaches raw HTTP transcripts (plus the Playwright session metadata) to the EvidencePack.

The UI shows latest runs, duration, and detected issues. You can rerun a single target on demand or schedule periodic scans.

API sample

curl -X POST "$BASE_URL/bas/auth_crawl/run" \
-H "X-API-KEY: $DRALVIA_API_KEY" \
-H "Content-Type: application/json" \
-d '{"target_id": "login_acme", "safe_set": true}'

4. Reporting & Evidence

  • Every BAS job (guardrail change, recon run, auth crawl) writes a dedicated EvidencePack with Merkle proofs and timestamped parameters.
  • The Reports console can compile executive, technical, and compliance-grade PDFs that include BAS results. Use the Generate report button, then click View report to download the rendered file.
  • TicketBridge can ingest BAS job IDs so incidents link directly to the supporting EvidencePack.

5. Operational Tips

  • Legal: Keep signed authorization letters uploaded in #/bas-guardrails for each scope so audits have a current proof of authorization.
  • Throttling: Recon modules are throttled per workspace to avoid triggering abuse detection on target infrastructure.
  • Kill switch drills: At least once per quarter, toggle the kill switch to ensure on-call staff remember the flow.
  • Multi-workspace teams: Combine BAS output with Pro-tier teams/webhooks to push findings into SIEM or Jira automatically.

Need access? Contact your customer success manager with proof of authorization. Once the subscription is active, the BAS cards will appear automatically in the burger menu's Pentest & BAS section.

Who this is for

This guide is for workspace owners, workspace admins, and security operators who need clear, repeatable steps without support intervention for day-to-day execution.

Role-based start here

  • Workspace Owner: Start with Before you start, then complete Step-by-step and Known limits and rate limits.
  • Workspace Admin: Focus on Step-by-step, What each button does, and API and automation.
  • Security Analyst: Start at Day-2 operations and Troubleshooting, then use API error quick reference.
  • Integrator/Engineer: Start at API and automation, then validate with Step-by-step and FAQ.

Before you start

Use this short checklist before making changes:

  1. Confirm you are signed into the correct workspace account.
  2. Confirm your role includes the permissions needed for this page.
  3. Confirm your browser session is fresh (if pages behave unexpectedly, sign out/in once).
  4. Confirm required prerequisites (API keys, agent enrollment, license, upstream integrations) are already in place.

Step-by-step

Follow this sequence for predictable results:

  1. Open the workspace from the workspace menu.
  2. Review current status/health/last update indicators before making changes.
  3. Apply one change at a time and save.
  4. Run the available validate/probe/refresh action.
  5. Confirm the expected output appears (status change, new event, successful result).
  6. If behavior is not as expected, use Troubleshooting below before repeating actions.

Day-2 operations

After initial setup, keep this surface healthy with a simple routine:

  1. Daily: verify data freshness and error banners.
  2. Weekly: review trends, limits, and failed actions.
  3. Monthly: review permissions, keys/tokens, and stale entities.
  4. After any incident: capture evidence and update your internal operating notes.

What each button does

Button labels can vary by module, but behavior is consistent:

  • Refresh: reloads the latest data from backend APIs without changing configuration.
  • Save: persists workspace-scoped configuration changes.
  • Run/Probe/Validate: executes a non-destructive health or verification action.
  • Download: fetches workspace-scoped artifact(s) (for example bundle, checksum, signature, or report).
  • Verify: checks integrity/consistency and returns pass/fail details.
  • Enable/Disable: toggles module behavior for your workspace; audit evidence should be recorded.

If a button appears disabled, check role permissions, required fields, and workspace license/feature entitlement first.

Self-check playbook

Use this 5-step isolation flow before escalating:

  1. Configuration: confirm required inputs are present and formatted correctly.
  2. Permission: confirm your role can perform the action (401/403 usually indicates authz/authn mismatch).
  3. License/feature: confirm the feature is enabled for your workspace plan and module toggles.
  4. Quota/rate limit: check for 429 responses and cooldown windows.
  5. Service health: if you see 5xx, retry once after 30-60 seconds and capture exact error text.

If still failing, escalate with workspace ID, UTC timestamp, route, action, payload shape (no secrets), and screenshot/error response.

Troubleshooting

Use this quick triage order to reduce time-to-fix:

  1. Auth/session: refresh token by signing out/in.
  2. Workspace context: confirm you are in the correct workspace.
  3. Inputs/config: verify required fields and formats.
  4. Quota/license: confirm limits and feature entitlement.
  5. Service health: retry after short delay if backend is transiently degraded.

For escalation, include workspace ID, timestamp (UTC), route name, action attempted, and full error message.

API and automation

Everything in this page should remain workspace-scoped. If your team prefers automation, use the corresponding API endpoints with the same guardrails as the UI:

  • Use authenticated requests bound to your workspace context.
  • Use idempotency/retry controls where available.
  • Validate outcomes in the UI after automated runs.

If your endpoint mapping is not obvious, start from Help Center and follow the linked API docs.

Next best actions

After finishing this page, continue with related workflows so your workspace setup stays end-to-end complete:

FAQ

Q: I clicked save but nothing changed. A: Refresh once, confirm permissions, and verify required fields.

Q: Why do I see missing API key/unauthorized errors? A: Confirm your workspace API key/session is valid and mapped to the correct workspace scope.

Q: Can non-admin users use this page? A: Usually read-only access is possible; write actions require workspace-admin or equivalent roles.

Next steps

After finishing this guide:

  1. Validate the result in the related dashboard/workspace.
  2. Export or capture evidence if this affects compliance/incident operations.
  3. Share the same runbook internally so other operators follow identical steps.
  4. Return to Help Center for adjacent workflows.

API error quick reference

Use this matrix when a UI action fails with an HTTP/API error.

ErrorMeaningWhat to do now
401 UnauthorizedSession token is missing/expired or request is not authenticated.Sign out/in, refresh once, then retry. Confirm your session is active in the correct workspace.
403 ForbiddenYou are authenticated but your role is not allowed to perform this action.Confirm your role includes the required permission for this button/action. Ask workspace admin to grant access.
404 Not FoundThe route/resource does not exist in current workspace context (or feature not enabled).Confirm URL/route, workspace context, and feature availability. Refresh and retry; if persistent, capture timestamp and route and contact support.
429 Too Many RequestsRate limit/quota window was exceeded.Wait for cooldown/reset window, retry once, then reduce burst traffic/backoff if automated.
500 Internal Server ErrorBackend failed unexpectedly while processing the request.Retry after 30-60 seconds. If still failing, escalate with workspace ID, UTC time, route, action, and full error text.

Known limits and rate limits

These limits can vary by plan and feature, but behavior is consistent:

  • Burst traffic can trigger 429 Too Many Requests.
  • Workspace quotas apply per feature/module and reset on configured windows.
  • Repeated retries without backoff can extend recovery time during saturation.

Recommended operator behavior:

  1. Retry once after cooldown for 429 responses.
  2. Use exponential backoff in automation.
  3. Monitor usage/quota dashboards for sustained high utilization.
  4. Request quota review when normal workload regularly approaches limits.