# jack51706/cyberpatriot architecture

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

- Interactive diagram: https://gitdiagram.com/jack51706/cyberpatriot
- Repository: https://github.com/jack51706/cyberpatriot

## Overview

CyberPatriot is a collection of operating-system hardening scripts and reference material for competition images. The documented workflow is to run the platform’s scripts with elevated privileges, then use the Lists material to continue completing the image; Windows also has additional scripts the README cautions may break an image. The tree and sampled code show a Windows hash-based file scanner, but not the launcher implementations or wiring among the bundled tools, so those relationships are not inferred.

Main entry points: [`Windows/files/3/ubuntuhf.py`](https://github.com/jack51706/cyberpatriot/blob/master/Windows/files/3/ubuntuhf.py) (Ubuntu scanner), [`Windows/files/3/debianhf.py`](https://github.com/jack51706/cyberpatriot/blob/master/Windows/files/3/debianhf.py) (Debian scanner), [`Windows/files/3/windowshf.py`](https://github.com/jack51706/cyberpatriot/blob/master/Windows/files/3/windowshf.py) (Windows scanner), [`Linux/runme.sh`](https://github.com/jack51706/cyberpatriot/blob/master/Linux/runme.sh) (Linux launcher)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_execution["Platform execution"]
  node_linux_launcher["Linux launcher<br/>[runme.sh]"]
  node_debian_launcher["Debian launcher<br/>[runme.sh]"]
  node_windows_tools["Windows scripts"]
end

subgraph group_hardening["Hardening tools"]
  node_linux_hardening["Linux hardening"]
  node_debian_hardening["Debian hardening"]
  node_windows_hardening["Windows hardening"]
  node_shared_scripts["Shared scripts"]
end

subgraph group_guidance["Scoring and guidance"]
  node_lists["Scoring lists"]
  node_practice["Practice scenarios"]
end

subgraph group_scanning["File scanning"]
  node_linux_scanner["Ubuntu scanner<br/>[ubuntuhf.py]"]
  node_debian_scanner["Debian scanner<br/>[debianhf.py]"]
  node_windows_scanner["Windows scanner<br/>[windowshf.py]"]
end

node_operator(("Administrator"))

node_operator -->|"runs as root"| node_linux_launcher
node_operator -->|"runs as root"| node_debian_launcher
node_operator -->|"runs scripts"| node_windows_tools
node_operator -->|"browses"| node_lists
node_linux_scanner -->|"reports matches"| node_operator
node_debian_scanner -->|"reports matches"| node_operator
node_windows_scanner -->|"reports matches"| node_operator

click node_linux_launcher "https://github.com/jack51706/cyberpatriot/blob/master/Linux/runme.sh"
click node_debian_launcher "https://github.com/jack51706/cyberpatriot/blob/master/Debian/runme.sh"
click node_windows_tools "https://github.com/jack51706/cyberpatriot/tree/master/Windows"
click node_linux_hardening "https://github.com/jack51706/cyberpatriot/tree/master/Linux/2"
click node_debian_hardening "https://github.com/jack51706/cyberpatriot/tree/master/Debian/2"
click node_windows_hardening "https://github.com/jack51706/cyberpatriot/tree/master/Windows/files/Win10Server16-19"
click node_shared_scripts "https://github.com/jack51706/cyberpatriot/tree/master/Linux/cp-gawhs-master"
click node_lists "https://github.com/jack51706/cyberpatriot/tree/master/Lists"
click node_practice "https://github.com/jack51706/cyberpatriot/tree/master/CyberPatriot-practice"
click node_linux_scanner "https://github.com/jack51706/cyberpatriot/blob/master/Windows/files/3/ubuntuhf.py"
click node_debian_scanner "https://github.com/jack51706/cyberpatriot/blob/master/Windows/files/3/debianhf.py"
click node_windows_scanner "https://github.com/jack51706/cyberpatriot/blob/master/Windows/files/3/windowshf.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_linux_launcher,node_debian_launcher,node_windows_tools toneBlue
class node_linux_hardening,node_debian_hardening,node_windows_hardening,node_shared_scripts toneAmber
class node_lists,node_practice toneMint
class node_linux_scanner,node_debian_scanner,node_windows_scanner toneRose
class node_operator toneIndigo
```

## Components

### Platform execution

- [Linux launcher](https://github.com/jack51706/cyberpatriot/blob/master/Linux/runme.sh): `Linux/runme.sh`
- [Debian launcher](https://github.com/jack51706/cyberpatriot/blob/master/Debian/runme.sh): `Debian/runme.sh`
- [Windows scripts](https://github.com/jack51706/cyberpatriot/tree/master/Windows): `Windows`

### Hardening tools

- [Linux hardening](https://github.com/jack51706/cyberpatriot/tree/master/Linux/2): `Linux/2`
- [Debian hardening](https://github.com/jack51706/cyberpatriot/tree/master/Debian/2): `Debian/2`
- [Windows hardening](https://github.com/jack51706/cyberpatriot/tree/master/Windows/files/Win10Server16-19): `Windows/files/Win10Server16-19`
- [Shared scripts](https://github.com/jack51706/cyberpatriot/tree/master/Linux/cp-gawhs-master): `Linux/cp-gawhs-master`

### Scoring and guidance

- [Scoring lists](https://github.com/jack51706/cyberpatriot/tree/master/Lists): `Lists`
- [Practice scenarios](https://github.com/jack51706/cyberpatriot/tree/master/CyberPatriot-practice): `CyberPatriot-practice`

### File scanning

- [Ubuntu scanner](https://github.com/jack51706/cyberpatriot/blob/master/Windows/files/3/ubuntuhf.py): `Windows/files/3/ubuntuhf.py`
- [Debian scanner](https://github.com/jack51706/cyberpatriot/blob/master/Windows/files/3/debianhf.py): `Windows/files/3/debianhf.py`
- [Windows scanner](https://github.com/jack51706/cyberpatriot/blob/master/Windows/files/3/windowshf.py): `Windows/files/3/windowshf.py`

### Other components

- **Administrator**

## Connections

- Administrator → Linux launcher: runs as root (evidence: `README.md`)
- Administrator → Debian launcher: runs as root (evidence: `README.md`)
- Administrator → Windows scripts: runs scripts (evidence: `README.md`)
- Administrator → Scoring lists: browses (evidence: `README.md`)
- Ubuntu scanner → Administrator: reports matches (evidence: `Windows/files/3/ubuntuhf.py`)
- Debian scanner → Administrator: reports matches (evidence: `Windows/files/3/debianhf.py`)
- Windows scanner → Administrator: reports matches (evidence: `Windows/files/3/windowshf.py`)
