# lynch9274927482/socket-x architecture

> Architecture diagram of the GitHub repository lynch9274927482/socket-x, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-30). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/lynch9274927482/socket-x
- Repository: https://github.com/lynch9274927482/socket-x

## Overview

Socket-X is a Python website security tester with lightweight subdomain reconnaissance, passive baseline checks, and a more comprehensive aggressive scan. Users start scans through the CLI or interactive/web launcher; the scan produces findings that the launcher can turn into JSON reports. The aggressive scanner covers discovery, injection testing, database-interface and exposed-file checks, and documented SQL-injection exploitation. Its implementation is concentrated in one large module, so those stages share a source path. Some internal orchestration and the README-listed capabilities are not fully visible in the excerpts; those relationships are cited to the README where documented.

Main entry points: [`scoutsafe/scanner/aggressive.py`](https://github.com/lynch9274927482/socket-x/blob/main/scoutsafe/scanner/aggressive.py) (Aggressive scan runner), [`socketx.py`](https://github.com/lynch9274927482/socket-x/blob/main/socketx.py) (Interactive launcher), [`scoutsafe/cli.py`](https://github.com/lynch9274927482/socket-x/blob/main/scoutsafe/cli.py) (CLI commands), [`scoutsafe/reporter/report_builder.py`](https://github.com/lynch9274927482/socket-x/blob/main/scoutsafe/reporter/report_builder.py) (Report builder)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_entry["User entry points"]
  node_cli["CLI commands<br/>[cli.py]"]
  node_launcher["Interactive launcher<br/>[socketx.py]"]
  node_web["Local web controls<br/>[socketx.py]"]
end

subgraph group_recon["Reconnaissance"]
  node_subdomains["Subdomain checks<br/>[subfinder.py]"]
end

subgraph group_scanning["Scanning and discovery"]
  node_baseline["Baseline checks<br/>[baseline.py]"]
  node_aggressive["Aggressive scan runner<br/>[aggressive.py]"]
  node_directories["Directory discovery<br/>[aggressive.py]"]
  node_parameters["Parameter discovery<br/>[aggressive.py]"]
  node_sqli["SQL injection tests<br/>[aggressive.py]"]
  node_exploitation["SQL data extraction<br/>[aggressive.py]"]
  node_dbinterfaces["Database interfaces<br/>[aggressive.py]"]
  node_exposed["Exposed-file checks<br/>[aggressive.py]"]
  node_wordlists["Scan wordlists"]
end

subgraph group_output["Findings and reports"]
  node_reportbuilder["Report builder<br/>[report_builder.py]"]
  node_jsonreport["JSON report"]
end

node_user(("Operator"))
node_target(("Target website"))
node_tor(("Tor proxy"))

node_user -->|"runs commands"| node_cli
node_user -->|"uses launcher"| node_launcher
node_launcher -->|"starts controls"| node_web
node_cli -->|"checks subdomains"| node_subdomains
node_cli -->|"runs baseline"| node_baseline
node_launcher -->|"checks subdomains"| node_subdomains
node_launcher -->|"runs baseline"| node_baseline
node_launcher -->|"starts scan"| node_aggressive
node_web -->|"starts scan"| node_aggressive
node_aggressive -->|"runs discovery"| node_directories
node_aggressive -->|"runs fuzzing"| node_parameters
node_aggressive -->|"tests injections"| node_sqli
node_sqli -->|"tests discovered"| node_parameters
node_aggressive -->|"extracts data"| node_exploitation
node_aggressive -->|"checks interfaces"| node_dbinterfaces
node_aggressive -->|"checks files"| node_exposed
node_aggressive -->|"loads lists"| node_wordlists
node_directories -->|"requests paths"| node_target
node_parameters -->|"sends probes"| node_target
node_sqli -->|"sends payloads"| node_target
node_exploitation -->|"requests extraction"| node_target
node_dbinterfaces -->|"checks endpoints"| node_target
node_exposed -->|"requests files"| node_target
node_aggressive -->|"proxies requests"| node_tor
node_launcher -->|"builds report"| node_reportbuilder
node_reportbuilder -->|"exports JSON"| node_jsonreport
node_launcher -->|"saves report"| node_jsonreport

click node_cli "https://github.com/lynch9274927482/socket-x/blob/main/scoutsafe/cli.py"
click node_launcher "https://github.com/lynch9274927482/socket-x/blob/main/socketx.py"
click node_web "https://github.com/lynch9274927482/socket-x/blob/main/socketx.py"
click node_subdomains "https://github.com/lynch9274927482/socket-x/blob/main/scoutsafe/recon/subfinder.py"
click node_baseline "https://github.com/lynch9274927482/socket-x/blob/main/scoutsafe/scanner/baseline.py"
click node_aggressive "https://github.com/lynch9274927482/socket-x/blob/main/scoutsafe/scanner/aggressive.py"
click node_directories "https://github.com/lynch9274927482/socket-x/blob/main/scoutsafe/scanner/aggressive.py"
click node_parameters "https://github.com/lynch9274927482/socket-x/blob/main/scoutsafe/scanner/aggressive.py"
click node_sqli "https://github.com/lynch9274927482/socket-x/blob/main/scoutsafe/scanner/aggressive.py"
click node_exploitation "https://github.com/lynch9274927482/socket-x/blob/main/scoutsafe/scanner/aggressive.py"
click node_dbinterfaces "https://github.com/lynch9274927482/socket-x/blob/main/scoutsafe/scanner/aggressive.py"
click node_exposed "https://github.com/lynch9274927482/socket-x/blob/main/scoutsafe/scanner/aggressive.py"
click node_wordlists "https://github.com/lynch9274927482/socket-x/tree/main/wordlists"
click node_reportbuilder "https://github.com/lynch9274927482/socket-x/blob/main/scoutsafe/reporter/report_builder.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_launcher,node_web toneBlue
class node_subdomains toneAmber
class node_baseline,node_aggressive,node_directories,node_parameters,node_sqli,node_exploitation,node_dbinterfaces,node_exposed,node_wordlists toneMint
class node_reportbuilder,node_jsonreport toneRose
class node_user,node_target,node_tor toneIndigo
```

## Components

### User entry points

- [CLI commands](https://github.com/lynch9274927482/socket-x/blob/main/scoutsafe/cli.py): `scoutsafe/cli.py`
- [Interactive launcher](https://github.com/lynch9274927482/socket-x/blob/main/socketx.py): `socketx.py`
- [Local web controls](https://github.com/lynch9274927482/socket-x/blob/main/socketx.py): `socketx.py`

### Reconnaissance

- [Subdomain checks](https://github.com/lynch9274927482/socket-x/blob/main/scoutsafe/recon/subfinder.py): `scoutsafe/recon/subfinder.py`

### Scanning and discovery

- [Baseline checks](https://github.com/lynch9274927482/socket-x/blob/main/scoutsafe/scanner/baseline.py): `scoutsafe/scanner/baseline.py`
- [Aggressive scan runner](https://github.com/lynch9274927482/socket-x/blob/main/scoutsafe/scanner/aggressive.py): `scoutsafe/scanner/aggressive.py`
- [Directory discovery](https://github.com/lynch9274927482/socket-x/blob/main/scoutsafe/scanner/aggressive.py): `scoutsafe/scanner/aggressive.py`
- [Parameter discovery](https://github.com/lynch9274927482/socket-x/blob/main/scoutsafe/scanner/aggressive.py): `scoutsafe/scanner/aggressive.py`
- [SQL injection tests](https://github.com/lynch9274927482/socket-x/blob/main/scoutsafe/scanner/aggressive.py): `scoutsafe/scanner/aggressive.py`
- [SQL data extraction](https://github.com/lynch9274927482/socket-x/blob/main/scoutsafe/scanner/aggressive.py): `scoutsafe/scanner/aggressive.py`
- [Database interfaces](https://github.com/lynch9274927482/socket-x/blob/main/scoutsafe/scanner/aggressive.py): `scoutsafe/scanner/aggressive.py`
- [Exposed-file checks](https://github.com/lynch9274927482/socket-x/blob/main/scoutsafe/scanner/aggressive.py): `scoutsafe/scanner/aggressive.py`
- [Scan wordlists](https://github.com/lynch9274927482/socket-x/tree/main/wordlists): `wordlists`

### Findings and reports

- [Report builder](https://github.com/lynch9274927482/socket-x/blob/main/scoutsafe/reporter/report_builder.py): `scoutsafe/reporter/report_builder.py`
- **JSON report**

### Other components

- **Operator**
- **Target website**
- **Tor proxy**

## Connections

- Operator → CLI commands: runs commands (evidence: `scoutsafe/cli.py`)
- Operator → Interactive launcher: uses launcher (evidence: `socketx.py`)
- Interactive launcher → Local web controls: starts controls (evidence: `socketx.py`)
- CLI commands → Subdomain checks: checks subdomains (evidence: `scoutsafe/cli.py`)
- CLI commands → Baseline checks: runs baseline (evidence: `scoutsafe/cli.py`)
- Interactive launcher → Subdomain checks: checks subdomains (evidence: `socketx.py`)
- Interactive launcher → Baseline checks: runs baseline (evidence: `socketx.py`)
- Interactive launcher → Aggressive scan runner: starts scan (evidence: `socketx.py`)
- Local web controls → Aggressive scan runner: starts scan (evidence: `socketx.py`)
- Aggressive scan runner → Directory discovery: runs discovery (evidence: `scoutsafe/scanner/aggressive.py`)
- Aggressive scan runner → Parameter discovery: runs fuzzing (evidence: `scoutsafe/scanner/aggressive.py`)
- Aggressive scan runner → SQL injection tests: tests injections (evidence: `scoutsafe/scanner/aggressive.py`)
- SQL injection tests → Parameter discovery: tests discovered (evidence: `scoutsafe/scanner/aggressive.py`)
- Aggressive scan runner → SQL data extraction: extracts data (evidence: `README.md`)
- Aggressive scan runner → Database interfaces: checks interfaces (evidence: `README.md`)
- Aggressive scan runner → Exposed-file checks: checks files (evidence: `README.md`)
- Aggressive scan runner → Scan wordlists: loads lists (evidence: `scoutsafe/scanner/aggressive.py`)
- Directory discovery → Target website: requests paths (evidence: `scoutsafe/scanner/aggressive.py`)
- Parameter discovery → Target website: sends probes (evidence: `scoutsafe/scanner/aggressive.py`)
- SQL injection tests → Target website: sends payloads (evidence: `scoutsafe/scanner/aggressive.py`)
- SQL data extraction → Target website: requests extraction (evidence: `scoutsafe/scanner/aggressive.py`)
- Database interfaces → Target website: checks endpoints (evidence: `scoutsafe/scanner/aggressive.py`)
- Exposed-file checks → Target website: requests files (evidence: `scoutsafe/scanner/aggressive.py`)
- Aggressive scan runner → Tor proxy: proxies requests (evidence: `scoutsafe/scanner/aggressive.py`)
- Interactive launcher → Report builder: builds report (evidence: `socketx.py`)
- Report builder → JSON report: exports JSON (evidence: `scoutsafe/reporter/report_builder.py`)
- Interactive launcher → JSON report: saves report (evidence: `socketx.py`)
