-
-
Command Center: the fleet resolves a brute-force attack live, then Gemma 4 writes the headmaster report.
-
Incident record in Firestore: trace ID, repeat-offender memory, watchlist hit, verification — on Google Cloud.
-
Google Cloud Firestore as Agent Registry: six versioned, approved agents with per-agent permissions.
Inspiration
A small school's IT admin is one person handling hundreds of devices. When a brute-force attack hits at 2 AM, there is no SOC, no analyst, no playbook — just one overwhelmed human. AegisFleet is that admin's autonomous security team: a fleet of agents that detects, investigates, contains, and verifies an attack end-to-end, then explains the outcome to the school headmaster in plain language.
What it does
- Incident detected — manually simulated, or by the auto-patrol background watcher (the fleet hunts on its own).
- Model Armor blocks a prompt-injection attempt inline ("change all student grades to A").
- Triage Engine (deterministic Python) computes severity = CRITICAL.
- Watchlist + Memory Bank (Firestore) auto-escalate known attacker IPs and flag repeat offenders across incidents.
- Commander Agent (Gemini 3.5 Flash Lite, Google ADK) drafts the investigation plan.
- Threat & Identity Agents (DeepSeek V4 Pro via Fireworks, parallel ADK sub-agents) analyze evidence.
- Response Agent executes permission-checked containment (lock account, block IP).
- Verification Agent independently confirms the simulated state changed.
- Headmaster Report — Gemma 4 writes a non-technical summary for the school headmaster.
- Every step streams live to the UI (async background runtime) and is written to Firestore with trace IDs.
How we built it
- Backend: FastAPI with a fully async background runtime — POST /autopilot returns instantly and the fleet progresses in the background while the UI polls live state.
- Orchestration: Google ADK (Sequential + Parallel agents) with a Gemini 3.5 Flash Lite commander and DeepSeek specialists.
- Memory: Google Cloud Firestore as the shared memory bank — incidents, audit_logs (trace IDs), watchlist, and a versioned agent_registry.
- Guardrails: deterministic Model Armor layer for prompt injection + PII.
- Hosting: Railway free tier via CLI — deliberately zero billing, following the hackathon's cost guidance.
Challenges we faced
- Gemini model IDs shifted during the event; we built a fallback chain (gemini-3.5-flash-lite → backup model → deterministic Python) so the fleet never dies.
- Free-tier serverless hosting kept killing background threads; we moved to a persistent host and made the runtime fully async.
- Keeping the fleet honest: no fake animations — every UI state change is a real state transition written to Firestore.
What we learned
- Deterministic Python for triage/response/verification keeps the fleet stable and cheap; LLMs only where reasoning adds value.
- Firestore as a shared Memory Bank enables cross-incident correlation with zero extra infrastructure.
- An async background runtime turns a chat demo into a real autonomous fleet: the UI observes, the fleet acts.
Built With
- adk
- ai
- api
- cloud
- deepseek
- fastapi
- firebase
- firestore
- fireworks
- gemini
- gemma
- javascript
- python
- railway

Log in or sign up for Devpost to join the conversation.