File size: 3,074 Bytes
701fa2d
 
 
 
 
 
8352ecc
701fa2d
 
 
 
 
 
8352ecc
df5d3a2
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
---
title: Security Triage Fleet
emoji: 💻
colorFrom: gray
colorTo: gray
sdk: docker
app_port: 8080
pinned: false
license: agpl-3.0
short_description: 'A multi-agent cybersecurity system using A2A protocol, OCSF '
---

Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference

# Security Triage Fleet

Welcome to the **Security Triage Fleet** project! This repository contains a multi-agent SOC (Security Operations Center) dashboard powered by the Google Agent Development Kit (ADK) and Gemini. 

The project orchestrates multiple specialized AI agents (Red Team, Blue Team, Green Team) to triage, analyze, and remediate security threats. It features a FastAPI backend and a web-based dashboard for interactive simulation and Human-In-The-Loop (HITL) approval.

---

## 🚀 Setup Instructions

You can run this project either using **Docker** (recommended) or **Locally via Python**. 

### Prerequisites
Before you begin, you will need:
1. A **Google API Key** for Gemini models.
2. **Docker** installed (if using the Docker method).
3. **Python 3.11+** installed (if using the local method).

---

### Option 1: Running with Docker (Recommended)

Running with Docker ensures you have the exact environment needed without modifying your local system.

**1. Build the Docker image:**
Open your terminal in the project root directory and run:
```bash
docker build -t security-triage-fleet .
```

**2. Run the container:**
Start the container and pass your Google API Key as an environment variable:
```bash
docker run -p 8080:8080 -e GOOGLE_API_KEY="your_api_key_here" security-triage-fleet
```

**3. Access the Dashboard:**
Open your web browser and navigate to:  
[http://localhost:8080](http://localhost:8080)

---

### Option 2: Running Locally with Python

If you prefer to run the project directly on your machine, follow these steps:

**1. Create a virtual environment:**
```bash
python -m venv agent-env
```

**2. Activate the virtual environment:**
- **Windows:**
  ```powershell
  agent-env\Scripts\activate
  ```
- **macOS / Linux:**
  ```bash
  source agent-env/bin/activate
  ```

**3. Install dependencies:**
```bash
pip install -r requirements.txt
```

**4. Configure Environment Variables:**
Create a `.env` file in the root directory of the project and add your API key:
```env
GOOGLE_API_KEY=your_google_api_key_here
```
*(Note: The server will automatically map this to `GEMINI_API_KEY` if required by underlying libraries).*

**5. Start the Server:**
Run the FastAPI server using `uvicorn`:
```bash
uvicorn server:app --host 0.0.0.0 --port 8000
```
*(Alternatively, you can run `python server.py` which will also start the server on port 8000).*

**6. Access the Dashboard:**
Open your web browser and navigate to:  
[http://localhost:8000](http://localhost:8000)

---

## 🛠️ Technology Stack
* **Agent Framework:** Google ADK (Agent Development Kit), Google GenAI SDK
* **Backend:** FastAPI, Uvicorn, Pydantic
* **Frontend:** Vanilla HTML/JS/CSS Dashboard
* **Containerization:** Docker (Python 3.11-slim)