# f1r10-cmd/xezer architecture

> Architecture diagram of the GitHub repository f1r10-cmd/xezer, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-14). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/f1r10-cmd/xezer
- Repository: https://github.com/f1r10-cmd/xezer

## Overview

QBH is an authorized-scope bug-bounty reconnaissance and vulnerability-hunting platform. Its principal workflow loads configuration, enforces scope and rules, runs recon and vulnerability stages (optionally chaining findings or performing a deeper hunt), stores results, and produces reports. The graph preserves major documented engine capabilities while grouping related stages. Evidence for several modules comes from the SOURCE INDEX or README rather than inspected implementation; those links are limited to documented or indexed relationships.

Main entry points: [`qbh/conductor.py`](https://github.com/f1r10-cmd/xezer/blob/main/qbh/conductor.py) (Scan conductor), [`main.py`](https://github.com/f1r10-cmd/xezer/blob/main/main.py) (CLI entry), [`qbh/db.py`](https://github.com/f1r10-cmd/xezer/blob/main/qbh/db.py) (SQLite scan store), [`qbh/hunter.py`](https://github.com/f1r10-cmd/xezer/blob/main/qbh/hunter.py) (Deep hunt)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_control["Scan control"]
  node_cli["CLI entry<br/>[main.py]"]
  node_config["Configuration<br/>[config.py]"]
  node_conductor["Scan conductor<br/>[conductor.py]"]
  node_hunter["Deep hunt<br/>[hunter.py]"]
  node_chain["Finding chains<br/>[chain.py]"]
end

subgraph group_safety["Authorization and traffic"]
  node_scope["Scope enforcement<br/>[scope.py]"]
  node_authorization["Authorization and RoE<br/>[authorization.py]"]
  node_http["HTTP request policy<br/>[http_policy.py]"]
  node_egress["Process egress guard<br/>[egress.py]"]
end

subgraph group_discovery["Discovery and testing"]
  node_recon["Recon<br/>[recon.py]"]
  node_api["API enumeration and fuzz<br/>[api_enum.py]"]
  node_content["Content discovery<br/>[content.py]"]
  node_fingerprint["Technology fingerprinting<br/>[fingerprint.py]"]
  node_vuln["Vulnerability scanning<br/>[vuln.py]"]
  node_specialized["Specialized tests"]
  node_oob["Out-of-band checks<br/>[oob.py]"]
end

subgraph group_state["Results and reporting"]
  node_database[("SQLite scan store<br/>[db.py]")]
  node_results["Stage results<br/>[results.py]"]
  node_report["Report generation and export<br/>[generator.py]"]
end

subgraph group_evasion["Adaptive behavior"]
  node_guardian["Request guardian<br/>[guardian.py]"]
  node_identity["Identity and proxy rotation<br/>[identity.py]"]
  node_waf["WAF detection policy<br/>[waf.py]"]
end

node_user(("Operator"))

node_user -->|"invokes"| node_cli
node_cli -->|"loads"| node_config
node_cli -->|"starts scan"| node_conductor
node_cli -->|"starts hunt"| node_hunter
node_conductor -->|"checks permission"| node_authorization
node_authorization -->|"validates hosts"| node_scope
node_conductor -->|"runs stage"| node_recon
node_conductor -->|"runs stage"| node_api
node_conductor -->|"runs stage"| node_content
node_conductor -->|"runs stage"| node_fingerprint
node_conductor -->|"runs stage"| node_vuln
node_conductor -->|"runs engines"| node_specialized
node_conductor -->|"chains findings"| node_chain
node_hunter -->|"runs full chain"| node_conductor
node_hunter -->|"deepens testing"| node_specialized
node_recon -->|"stores hosts"| node_database
node_vuln -->|"reads hosts"| node_database
node_conductor -->|"wraps stages"| node_results
node_conductor -->|"records scan"| node_database
node_conductor -->|"generates report"| node_report
node_report -->|"reads findings"| node_database
node_report -->|"exports formats"| node_results
node_conductor -->|"configures defenses"| node_guardian
node_guardian -->|"uses request policy"| node_http
node_guardian -->|"rotates identity"| node_identity
node_recon -.->|"runs guarded tools"| node_egress
node_fingerprint -->|"uses WAF policy"| node_waf
node_vuln -.->|"uses OOB checks"| node_oob

click node_cli "https://github.com/f1r10-cmd/xezer/blob/main/main.py"
click node_config "https://github.com/f1r10-cmd/xezer/blob/main/qbh/config.py"
click node_conductor "https://github.com/f1r10-cmd/xezer/blob/main/qbh/conductor.py"
click node_hunter "https://github.com/f1r10-cmd/xezer/blob/main/qbh/hunter.py"
click node_chain "https://github.com/f1r10-cmd/xezer/blob/main/qbh/chain.py"
click node_scope "https://github.com/f1r10-cmd/xezer/blob/main/qbh/scope.py"
click node_authorization "https://github.com/f1r10-cmd/xezer/blob/main/qbh/authorization.py"
click node_http "https://github.com/f1r10-cmd/xezer/blob/main/qbh/http_policy.py"
click node_egress "https://github.com/f1r10-cmd/xezer/blob/main/qbh/egress.py"
click node_recon "https://github.com/f1r10-cmd/xezer/blob/main/qbh/engines/recon.py"
click node_api "https://github.com/f1r10-cmd/xezer/blob/main/qbh/engines/api_enum.py"
click node_content "https://github.com/f1r10-cmd/xezer/blob/main/qbh/engines/content.py"
click node_fingerprint "https://github.com/f1r10-cmd/xezer/blob/main/qbh/engines/fingerprint.py"
click node_vuln "https://github.com/f1r10-cmd/xezer/blob/main/qbh/engines/vuln.py"
click node_specialized "https://github.com/f1r10-cmd/xezer/tree/main/qbh/engines"
click node_database "https://github.com/f1r10-cmd/xezer/blob/main/qbh/db.py"
click node_results "https://github.com/f1r10-cmd/xezer/blob/main/qbh/results.py"
click node_report "https://github.com/f1r10-cmd/xezer/blob/main/qbh/report/generator.py"
click node_guardian "https://github.com/f1r10-cmd/xezer/blob/main/qbh/antiblock/guardian.py"
click node_identity "https://github.com/f1r10-cmd/xezer/blob/main/qbh/antiblock/identity.py"
click node_waf "https://github.com/f1r10-cmd/xezer/blob/main/qbh/stealth/waf.py"
click node_oob "https://github.com/f1r10-cmd/xezer/blob/main/qbh/oob.py"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_cli,node_config,node_conductor,node_hunter,node_chain toneBlue
class node_scope,node_authorization,node_http,node_egress toneAmber
class node_recon,node_api,node_content,node_fingerprint,node_vuln,node_specialized,node_oob toneMint
class node_database,node_results,node_report toneRose
class node_guardian,node_identity,node_waf,node_user toneIndigo
```

## Components

### Scan control

- [CLI entry](https://github.com/f1r10-cmd/xezer/blob/main/main.py): `main.py`
- [Configuration](https://github.com/f1r10-cmd/xezer/blob/main/qbh/config.py): `qbh/config.py`
- [Scan conductor](https://github.com/f1r10-cmd/xezer/blob/main/qbh/conductor.py): `qbh/conductor.py`
- [Deep hunt](https://github.com/f1r10-cmd/xezer/blob/main/qbh/hunter.py): `qbh/hunter.py`
- [Finding chains](https://github.com/f1r10-cmd/xezer/blob/main/qbh/chain.py): `qbh/chain.py`

### Authorization and traffic

- [Scope enforcement](https://github.com/f1r10-cmd/xezer/blob/main/qbh/scope.py): `qbh/scope.py`
- [Authorization and RoE](https://github.com/f1r10-cmd/xezer/blob/main/qbh/authorization.py): `qbh/authorization.py`
- [HTTP request policy](https://github.com/f1r10-cmd/xezer/blob/main/qbh/http_policy.py): `qbh/http_policy.py`
- [Process egress guard](https://github.com/f1r10-cmd/xezer/blob/main/qbh/egress.py): `qbh/egress.py`

### Discovery and testing

- [Recon](https://github.com/f1r10-cmd/xezer/blob/main/qbh/engines/recon.py): `qbh/engines/recon.py`
- [API enumeration and fuzz](https://github.com/f1r10-cmd/xezer/blob/main/qbh/engines/api_enum.py): `qbh/engines/api_enum.py`
- [Content discovery](https://github.com/f1r10-cmd/xezer/blob/main/qbh/engines/content.py): `qbh/engines/content.py`
- [Technology fingerprinting](https://github.com/f1r10-cmd/xezer/blob/main/qbh/engines/fingerprint.py): `qbh/engines/fingerprint.py`
- [Vulnerability scanning](https://github.com/f1r10-cmd/xezer/blob/main/qbh/engines/vuln.py): `qbh/engines/vuln.py`
- [Specialized tests](https://github.com/f1r10-cmd/xezer/tree/main/qbh/engines): `qbh/engines`
- [Out-of-band checks](https://github.com/f1r10-cmd/xezer/blob/main/qbh/oob.py): `qbh/oob.py`

### Results and reporting

- [SQLite scan store](https://github.com/f1r10-cmd/xezer/blob/main/qbh/db.py): `qbh/db.py`
- [Stage results](https://github.com/f1r10-cmd/xezer/blob/main/qbh/results.py): `qbh/results.py`
- [Report generation and export](https://github.com/f1r10-cmd/xezer/blob/main/qbh/report/generator.py): `qbh/report/generator.py`

### Adaptive behavior

- [Request guardian](https://github.com/f1r10-cmd/xezer/blob/main/qbh/antiblock/guardian.py): `qbh/antiblock/guardian.py`
- [Identity and proxy rotation](https://github.com/f1r10-cmd/xezer/blob/main/qbh/antiblock/identity.py): `qbh/antiblock/identity.py`
- [WAF detection policy](https://github.com/f1r10-cmd/xezer/blob/main/qbh/stealth/waf.py): `qbh/stealth/waf.py`

### Other components

- **Operator**

## Connections

- Operator → CLI entry: invokes
- CLI entry → Configuration: loads (evidence: `main.py`)
- CLI entry → Scan conductor: starts scan (evidence: `main.py`)
- CLI entry → Deep hunt: starts hunt (evidence: `main.py`)
- Scan conductor → Authorization and RoE: checks permission (evidence: `qbh/conductor.py`)
- Authorization and RoE → Scope enforcement: validates hosts (evidence: `qbh/authorization.py`)
- Scan conductor → Recon: runs stage (evidence: `qbh/conductor.py`)
- Scan conductor → API enumeration and fuzz: runs stage (evidence: `qbh/conductor.py`)
- Scan conductor → Content discovery: runs stage (evidence: `qbh/conductor.py`)
- Scan conductor → Technology fingerprinting: runs stage (evidence: `qbh/conductor.py`)
- Scan conductor → Vulnerability scanning: runs stage (evidence: `qbh/conductor.py`)
- Scan conductor → Specialized tests: runs engines (evidence: `qbh/conductor.py`)
- Scan conductor → Finding chains: chains findings (evidence: `qbh/conductor.py`)
- Deep hunt → Scan conductor: runs full chain
- Deep hunt → Specialized tests: deepens testing
- Recon → SQLite scan store: stores hosts (evidence: `qbh/engines/recon.py`)
- Vulnerability scanning → SQLite scan store: reads hosts (evidence: `qbh/engines/vuln.py`)
- Scan conductor → Stage results: wraps stages (evidence: `qbh/results.py`)
- Scan conductor → SQLite scan store: records scan (evidence: `qbh/conductor.py`)
- Scan conductor → Report generation and export: generates report (evidence: `qbh/conductor.py`)
- Report generation and export → SQLite scan store: reads findings (evidence: `qbh/report/generator.py`)
- Report generation and export → Stage results: exports formats
- Scan conductor → Request guardian: configures defenses (evidence: `qbh/conductor.py`)
- Request guardian → HTTP request policy: uses request policy (evidence: `qbh/antiblock/guardian.py`)
- Request guardian → Identity and proxy rotation: rotates identity (evidence: `qbh/antiblock/guardian.py`)
- Recon → Process egress guard: runs guarded tools
- Technology fingerprinting → WAF detection policy: uses WAF policy
- Vulnerability scanning → Out-of-band checks: uses OOB checks
