# b-3llum/parrot-setup architecture

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

- Interactive diagram: https://gitdiagram.com/b-3llum/parrot-setup
- Repository: https://github.com/b-3llum/parrot-setup

## Overview

Parrot OS Red Team Setup is a workstation-provisioning script, not a runtime framework. A user runs the script, which builds on IppSec’s Ansible playbook and adds or configures documented red-team tools and services. The README describes BloodHound’s native PostgreSQL/neo4j setup and credential-file output, but no source excerpts were available to verify implementation details or finer-grained call paths.

Main entry points: [`parrot-setup.sh`](https://github.com/b-3llum/parrot-setup/blob/master/parrot-setup.sh) (Setup script)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_provisioning["Workstation setup"]
  node_setup["Setup script<br/>[parrot-setup.sh]"]
  node_playbook["IppSec playbook"]
  node_base["Base tools and policies<br/>[parrot-setup.sh]"]
  node_creds["Credential file<br/>[parrot-setup.sh]"]
end

subgraph group_analysis["Analysis and utilities"]
  node_bloodhound["BloodHound CE<br/>[parrot-setup.sh]"]
  node_postgres[("PostgreSQL")]
  node_neo4j[("neo4j")]
  node_coercer["Coercer<br/>[parrot-setup.sh]"]
  node_pspy["pspy<br/>[parrot-setup.sh]"]
  node_responder["Responder<br/>[parrot-setup.sh]"]
end

subgraph group_operations["C2 and pivoting"]
  node_adaptix["AdaptixC2<br/>[parrot-setup.sh]"]
  node_havoc["Havoc<br/>[parrot-setup.sh]"]
  node_mythic["Mythic<br/>[parrot-setup.sh]"]
  node_sliver["Sliver<br/>[parrot-setup.sh]"]
  node_ligolo["Ligolo-ng<br/>[parrot-setup.sh]"]
end

node_user(("Workstation user"))

node_user -->|"runs"| node_setup
node_setup -->|"builds on"| node_playbook
node_setup -->|"installs"| node_base
node_setup -->|"installs and configures"| node_bloodhound
node_setup -->|"installs"| node_coercer
node_setup -->|"installs"| node_pspy
node_setup -->|"ensures available"| node_responder
node_setup -->|"installs"| node_adaptix
node_setup -->|"installs"| node_havoc
node_setup -->|"installs"| node_mythic
node_setup -->|"installs"| node_sliver
node_setup -->|"installs"| node_ligolo
node_bloodhound -->|"uses"| node_postgres
node_bloodhound -->|"configures"| node_neo4j
node_setup -->|"saves credentials"| node_creds

click node_setup "https://github.com/b-3llum/parrot-setup/blob/master/parrot-setup.sh"
click node_base "https://github.com/b-3llum/parrot-setup/blob/master/parrot-setup.sh"
click node_bloodhound "https://github.com/b-3llum/parrot-setup/blob/master/parrot-setup.sh"
click node_creds "https://github.com/b-3llum/parrot-setup/blob/master/parrot-setup.sh"
click node_coercer "https://github.com/b-3llum/parrot-setup/blob/master/parrot-setup.sh"
click node_pspy "https://github.com/b-3llum/parrot-setup/blob/master/parrot-setup.sh"
click node_responder "https://github.com/b-3llum/parrot-setup/blob/master/parrot-setup.sh"
click node_adaptix "https://github.com/b-3llum/parrot-setup/blob/master/parrot-setup.sh"
click node_havoc "https://github.com/b-3llum/parrot-setup/blob/master/parrot-setup.sh"
click node_mythic "https://github.com/b-3llum/parrot-setup/blob/master/parrot-setup.sh"
click node_sliver "https://github.com/b-3llum/parrot-setup/blob/master/parrot-setup.sh"
click node_ligolo "https://github.com/b-3llum/parrot-setup/blob/master/parrot-setup.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_setup,node_playbook,node_base,node_creds,node_user toneBlue
class node_bloodhound,node_postgres,node_neo4j,node_coercer,node_pspy,node_responder toneAmber
class node_adaptix,node_havoc,node_mythic,node_sliver,node_ligolo toneMint
```

## Components

### Workstation setup

- [Setup script](https://github.com/b-3llum/parrot-setup/blob/master/parrot-setup.sh): `parrot-setup.sh`
- **IppSec playbook**
- [Base tools and policies](https://github.com/b-3llum/parrot-setup/blob/master/parrot-setup.sh): `parrot-setup.sh`
- [Credential file](https://github.com/b-3llum/parrot-setup/blob/master/parrot-setup.sh): `parrot-setup.sh`

### Analysis and utilities

- [BloodHound CE](https://github.com/b-3llum/parrot-setup/blob/master/parrot-setup.sh): `parrot-setup.sh`
- **PostgreSQL**
- **neo4j**
- [Coercer](https://github.com/b-3llum/parrot-setup/blob/master/parrot-setup.sh): `parrot-setup.sh`
- [pspy](https://github.com/b-3llum/parrot-setup/blob/master/parrot-setup.sh): `parrot-setup.sh`
- [Responder](https://github.com/b-3llum/parrot-setup/blob/master/parrot-setup.sh): `parrot-setup.sh`

### C2 and pivoting

- [AdaptixC2](https://github.com/b-3llum/parrot-setup/blob/master/parrot-setup.sh): `parrot-setup.sh`
- [Havoc](https://github.com/b-3llum/parrot-setup/blob/master/parrot-setup.sh): `parrot-setup.sh`
- [Mythic](https://github.com/b-3llum/parrot-setup/blob/master/parrot-setup.sh): `parrot-setup.sh`
- [Sliver](https://github.com/b-3llum/parrot-setup/blob/master/parrot-setup.sh): `parrot-setup.sh`
- [Ligolo-ng](https://github.com/b-3llum/parrot-setup/blob/master/parrot-setup.sh): `parrot-setup.sh`

### Other components

- **Workstation user**

## Connections

- Workstation user → Setup script: runs
- Setup script → IppSec playbook: builds on
- Setup script → Base tools and policies: installs
- Setup script → BloodHound CE: installs and configures
- Setup script → Coercer: installs
- Setup script → pspy: installs
- Setup script → Responder: ensures available
- Setup script → AdaptixC2: installs
- Setup script → Havoc: installs
- Setup script → Mythic: installs
- Setup script → Sliver: installs
- Setup script → Ligolo-ng: installs
- BloodHound CE → PostgreSQL: uses
- BloodHound CE → neo4j: configures
- Setup script → Credential file: saves credentials
