# befoul/get-hard architecture

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

- Interactive diagram: https://gitdiagram.com/befoul/get-hard
- Repository: https://github.com/befoul/get-hard

## Overview

GET Hard is a collection of security scripts intended to help users create more secure machines. The README describes running a selected script but does not document the scripts’ internal calls or detailed behavior, so the graph shows only that entry-point relationship and the documented machine-hardening purpose. Component labels for the memory and framework scripts are based on their filenames.

Main entry points: [`hardasf/desktopharden.sh`](https://github.com/befoul/get-hard/blob/main/hardasf/desktopharden.sh) (Desktop Hardening), [`hardasf/serverharden.sh`](https://github.com/befoul/get-hard/blob/main/hardasf/serverharden.sh) (Server Hardening), [`hardasf/frameworks.sh`](https://github.com/befoul/get-hard/blob/main/hardasf/frameworks.sh) (Framework Hardening), [`malloc/securemalloc.sh`](https://github.com/befoul/get-hard/blob/main/malloc/securemalloc.sh) (Secure Malloc)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_host["Host Hardening"]
  node_desktop["Desktop Hardening<br/>[desktopharden.sh]"]
  node_server["Server Hardening<br/>[serverharden.sh]"]
  node_frameworks["Framework Hardening<br/>[frameworks.sh]"]
end

subgraph group_memory["Memory Security"]
  node_securemalloc["Secure Malloc<br/>[securemalloc.sh]"]
  node_asan["ASan Installer<br/>[install_asan.sh]"]
end

node_user(("User"))
node_machine["Target Machine"]
node_cupcheck["Cupcheck"]

node_user -->|"runs"| node_cupcheck
node_user -->|"runs"| node_desktop
node_user -->|"runs"| node_server
node_user -->|"runs"| node_frameworks
node_user -->|"runs"| node_securemalloc
node_user -->|"runs"| node_asan
node_desktop -->|"hardens"| node_machine
node_server -->|"hardens"| node_machine
node_frameworks -->|"hardens"| node_machine

click node_cupcheck "https://github.com/befoul/get-hard/blob/main/cupcheck"
click node_desktop "https://github.com/befoul/get-hard/blob/main/hardasf/desktopharden.sh"
click node_server "https://github.com/befoul/get-hard/blob/main/hardasf/serverharden.sh"
click node_frameworks "https://github.com/befoul/get-hard/blob/main/hardasf/frameworks.sh"
click node_securemalloc "https://github.com/befoul/get-hard/blob/main/malloc/securemalloc.sh"
click node_asan "https://github.com/befoul/get-hard/blob/main/malloc/install_asan.sh"

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_desktop,node_server,node_frameworks,node_user toneBlue
class node_securemalloc,node_asan toneAmber
class node_machine toneIndigo
class node_cupcheck toneTeal
```

## Components

### Host Hardening

- [Desktop Hardening](https://github.com/befoul/get-hard/blob/main/hardasf/desktopharden.sh): `hardasf/desktopharden.sh`
- [Server Hardening](https://github.com/befoul/get-hard/blob/main/hardasf/serverharden.sh): `hardasf/serverharden.sh`
- [Framework Hardening](https://github.com/befoul/get-hard/blob/main/hardasf/frameworks.sh): `hardasf/frameworks.sh`

### Memory Security

- [Secure Malloc](https://github.com/befoul/get-hard/blob/main/malloc/securemalloc.sh): `malloc/securemalloc.sh`
- [ASan Installer](https://github.com/befoul/get-hard/blob/main/malloc/install_asan.sh): `malloc/install_asan.sh`

### Other components

- **User**
- **Target Machine**
- [Cupcheck](https://github.com/befoul/get-hard/blob/main/cupcheck): `cupcheck`

## Connections

- User → Cupcheck: runs
- User → Desktop Hardening: runs
- User → Server Hardening: runs
- User → Framework Hardening: runs
- User → Secure Malloc: runs
- User → ASan Installer: runs
- Desktop Hardening → Target Machine: hardens
- Server Hardening → Target Machine: hardens
- Framework Hardening → Target Machine: hardens
