Quickstart

Get Dristi up and running in under 5 minutes. Three commands — install tools, configure agents, start hunting.

# Step 1: Install all tools
$ curl -sSL https://dristi.sh/install | bash
# Step 2: Configure OpenCode + agents
$ ./scripts/setup.sh
# Step 3: Start a full pipeline hunt
$ opencode --agent autopilot --target example.com

Installation

Prerequisites

  • Linux (Ubuntu 22.04+, Debian 12+, Arch, Fedora) or macOS
  • Git, curl, sudo access
  • OpenCode CLI installed (npm install -g @opencode/cli)
  • LLM API key (Claude, GPT, or Ollama for local)

1. Install Tools (install.sh)

Installs 60+ security tools: Go binaries, Python packages, Cargo crates, Playwright Chromium, GF patterns, and SecLists.

$ curl -sSL https://dristi.sh/install | bash
# Or from the repo:
$ git clone https://github.com/manojxshrestha/dristi && cd dristi && bash scripts/install.sh

2. Configure Agents (setup.sh)

Sets up the Dristi agent definitions, OpenCode config, and MCP server configuration.

$ bash scripts/setup.sh

3. Connect Burp Suite (Optional)

For active testing with Burp proxy:

$ bash scripts/connect-burp.sh

Usage

Quickstart — Your First Engagement

Start OpenCode in the project directory and describe your target in plain English:

opencode
> Dristi engagement on example.com — HackerOne program with web app and API.
Run full workflow: scope intake → recon → hunt → validate → capture → report.

Agents auto-load by topic — you don't need to remember agent names. Just describe what you're testing.

Running the Full Pipeline

Dristi offers three modes for running the 12-phase pipeline:

1. Autopilot (fully autonomous):

@autopilot # in OpenCode conversation

Dispatches all 12 phases via sub-agents. Auto-checks phase gates, auto-checkpoints, handles WAF detection, activates conditional phases (DeepThink, Search) automatically, and ends with a full report. No human intervention needed.

2. Consult (interactive):

@consult # in OpenCode conversation

Same pipeline, but pauses at every phase transition. Presents findings, suggests next steps, and asks for your approval before proceeding. Best for learning the methodology or when you want oversight.

3. Manual (step-by-step):

@scope @recon @surface @hunt
@deepthink @exploit @search
@capture @validate @report

Invoke each agent individually. You control the transitions and gates. Best for targeted single-class testing when you already know what you want to do.

Targeting Specific Vulnerability Classes

Describe what you see, and the right agent loads automatically. Or invoke by name:

# Describe what you see:
> XSS on the search endpoint — testing with multiple contexts.
# Or invoke directly:
@hunt-xss # Cross-Site Scripting — curated from BugBoard's H1 database
@hunt-sqli # SQL Injection — classic, blind, time-based
@hunt-ssrf # SSRF — 11 IP bypass techniques, cloud metadata exfil
@hunt-idor # Insecure Direct Object Reference
@hunt-rce # Remote Code Execution — crown-jewel chains
@hunt-ssti # Server-Side Template Injection — Jinja2, Twig, Freemarker
@hunt-graphql # GraphQL — introspection, batching, alias abuse
@hunt-xxe # XML External Entity — in-band, blind OOB, SVG
@hunt-ato # Account Takeover — 9 distinct ATO paths
@hunt-jwt-confusion # JWT alg confusion, key confusion
@hunt-file-upload # File upload — 10 bypass techniques
@hunt-race-condition # Race conditions — TOCTOU, double-spend
@hunt-http-smuggling # HTTP Request Smuggling — CL.TE, TE.CL

Enterprise & Platform Testing

@cloud-iam-deep # AWS/Azure/GCP IAM — 24+ priv-esc patterns
@m365-entra-attack # Microsoft 365 / Entra ID — AADSTS, CA bypass
@okta-attack # Okta — push fatigue, FastPass abuse
@enterprise-vpn-attack # Cisco, Fortinet, Citrix, Pulse VPNs
@apk-redteam-pipeline # Android APK — decompile, Frida, cert pinning bypass
@supply-chain-attack-recon # Dependency confusion, GH Actions injection
@hunt-k8s # Kubernetes — RBAC abuse, pod escape, kubelet API
@hunt-springboot # Spring Boot — actuator, SpEL, Spring4Shell
@hunt-laravel # Laravel — debug mode, APP_KEY decryption
@hunt-cicd # CI/CD — GH Actions injection, Jenkins RCE
@hunt-llm-ai # LLM/AI — prompt injection, RAG poisoning

Slash Commands

Available inside OpenCode conversations for quick actions:

/hunt # Run targeted vulnerability hunting
/triage # Quick 7-Question Gate on a finding
/validate # Full 4-gate finding validator
/report # Draft a submission-ready report
/recon # Run recon pipeline
/capture # Capture/preserve evidence with redaction
/deepthink # Trigger first-principles gap analysis
/search # Research CVEs, bypass techniques
/exploit # Deep-research exploitation
/chain # Check chaining opportunities between findings
/scope <asset> # Verify a specific asset is in scope

Finding Validation — The 7-Question Gate

Before any finding enters your report, it passes through the 7-Question Gate:

  1. Can an attacker use this RIGHT NOW with a real HTTP request?
  2. Is the impact on the program's accepted-impact list?
  3. Is the vulnerable asset in scope?
  4. Does it work without privileged access an attacker can't get?
  5. Is this not already known or documented behavior?
  6. Can impact be proved beyond "technically possible"?
  7. Is this NOT on the never-submit list?

Verdicts: PASS → proceed to report  |  DOWNGRADE → lower severity, still report  |  CHAIN REQUIRED → needs another primitive  |  KILL → discard

Never-submit list: missing headers alone, introspection alone, clickjacking alone, self-XSS, open redirect alone, SSRF DNS-only, logout CSRF, rate limits on non-critical forms, cookie flags alone.

Engagement Management

Start an engagement:

> Starting Dristi engagement on example.com — HackerOne program.
> Run full workflow: scope intake → recon → hunt → validate → capture → report.

Register scope: Agents use register_scope() and register_scope_batch() to register all in-scope domains, apps, and API endpoints. Bug bounty scope tables can be pasted directly for automatic parsing.

Set up auth: The auth phase detects WAF vendor via response headers, captures tokens/cookies, and saves authentication context for downstream phases.

Track everything: Every test, tool run, and finding is automatically tracked via MCP tools. At the end of an engagement, get_coverage() and get_tool_coverage() verify nothing was missed before report generation.

Report Generation

After validation, generate a professional report:

@report # In OpenCode — full coverage check + deliverable

The report generator first runs get_coverage() and phase_gate_check() to verify all phases passed, then produces a CVSS-scored report with evidence, PoC output, and remediation guidance. Platform-specific reporters handle HackerOne, Bugcrowd, Intigriti, Immunefi, and client-facing DOCX formats.

Agent Reference

Dristi ships with 87 autonomous agents organized into 5 categories:

Pipeline Agents (12)

AgentPhasePurpose
autopilotFullFully autonomous P1–P12 orchestration
consultFullInteractive pipeline — pauses at every phase for human guidance
scope1Engagement scaffold, scope boundaries, credentials
auth2Authenticate to target, capture tokens, cookies, session state
pintel3Passive intel — WHOIS, M365/Azure, cloud buckets, spoof check
osint3OSINT methodology — source verification, identity correlation
recon4Subdomain enum, DNS, crawl, params, nuclei, secrets
surface5Attack surface ranking, endpoint prioritization
hunt6Dispatch hunt-* agents based on surface analysis
deepthink7(conditional) First-principles gap analysis when hunt stalls
exploit8Deep-research exploitation, WAF bypass, finding chains
search9(conditional) Research CVEs, bypass techniques, disclosed reports
capture10Evidence collection, screenshots, HAR sanitization
validate11Re-run PoCs, 7-Question Gate, severity grading
report12Coverage check, phase gates, final deliverable

Hunt Agents (54)

AgentVulnerability Class
hunt-xssCross-Site Scripting
hunt-sqliSQL Injection
hunt-ssrfServer-Side Request Forgery
hunt-rceRemote Code Execution
hunt-idorInsecure Direct Object Reference
hunt-atoAccount Takeover
hunt-lfiLocal File Inclusion / Path Traversal
hunt-sstiServer-Side Template Injection
hunt-csrfCross-Site Request Forgery
hunt-corsCORS Misconfiguration
hunt-nosqliNoSQL Injection
hunt-oauthOAuth 2.0 / OpenID Connect
hunt-jwt-confusionJWT Algorithm Confusion
hunt-graphqlGraphQL API
hunt-xxeXML External Entity
hunt-brute-forceBrute Force / Credential Stuffing
hunt-race-conditionRace Conditions
hunt-http-smugglingHTTP Request Smuggling
hunt-host-headerHost Header Injection
hunt-open-redirectOpen Redirect
hunt-cache-poisonWeb Cache Poisoning
hunt-file-uploadFile Upload Vulnerabilities
hunt-deserializationInsecure Deserialization
hunt-business-logicBusiness Logic Flaws
hunt-subdomainSubdomain Takeover
hunt-domDOM-based Vulnerabilities
hunt-sessionSession Management Flaws
hunt-mfa-bypassMFA Bypass
hunt-auth-bypassAuthentication Bypass
hunt-miscCatch-all / Emerging Threats
hunt-clickjackingClickjacking
hunt-crlfCRLF Injection
hunt-dependency-confusionDependency Confusion
hunt-http-param-pollutionHTTP Parameter Pollution
hunt-mass-assignmentMass Assignment
hunt-prototype-pollutionPrototype Pollution

Platform Agents (15)

AgentPlatform
hunt-k8sKubernetes
hunt-springbootSpring Boot
hunt-laravelLaravel
hunt-nextjsNext.js / Vercel
hunt-nodejsNode.js / Express
hunt-sharepointSharePoint
hunt-aspnetASP.NET / .NET
hunt-cicdCI/CD Pipeline
hunt-samlSAML SSO
hunt-llm-aiLLM / AI Security
hunt-ldapLDAP Injection
hunt-tls-networkTLS / SSL
hunt-websocketWebSocket Security
hunt-source-leakSource Code Leak
hunt-cloud-misconfigCloud Misconfiguration

Specialty Agents (10)

AgentDomain
cloud-iam-deepAWS / Azure / GCP IAM
enterprise-vpn-attackCisco / Fortinet / Citrix VPN Appliances
m365-entra-attackMicrosoft 365 / Entra ID
okta-attackOkta Identity Platform
supply-chain-attack-reconSupply Chain Security
meme-coin-auditMeme Coin / Token Audit
apk-redteam-pipelineAndroid APK Assessment
offensive-osintOffensive OSINT
hunt-ntlm-infoNTLM Information Disclosure
hunt-api-misconfigAPI Misconfiguration

Supporting Agents (12)

AgentRole
web2-reconWeb recon specialist
web2-vuln-classesVulnerability class reference
osint-methodologyOSINT methodology guide
redteam-mindsetRed team operations
redteam-report-templateReport template generator
report-writingSecurity report writer
triage-validationFinding triage — 7-Question Gate
evidence-hygieneEvidence sanitization
bugcrowd-reportingBugcrowd VRT reporting
bug-bountyBug bounty master methodology
hunt-dispatchHunt agent dispatcher
exploreCodebase exploration

Pipeline

Dristi's 12-phase pipeline covers the full bug bounty workflow:

PhaseNameKey Activities
0Code AnalysisSource code review, entry point identification
1ScopeEngagement config, scope registration, auth setup
2AuthAuthenticate, capture tokens, session state
3IntelPassive OSINT, WHOIS, cloud buckets, spoof check
4ReconSubdomains, live hosts, crawl, params, nuclei, secrets
5SurfaceAttack surface analysis, endpoint prioritization
6HuntDedicated hunt agents per vulnerability class
7DeepThink(conditional) Gap analysis, first-principles reasoning
8ExploitSystematic validation, PoC execution, exploitation
9Search(conditional) Research CVEs, bypass techniques, reports
10CaptureEvidence collection, screenshots, network captures
11ValidatePoC re-validation, impact assessment, severity grading
12ReportCoverage check, phase gates, final deliverable