Skip to content
KitploitKITPLOIT
StrumentiBlog
Log in
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
zero-touch-containment — Antigena (Darktrace) → Aruba ClearPass CoA bridge — quarantena in tempo reale di utenti/dispositivi basata su modelli. Zero clic SOC. Architettura esagonale, copertura dei test all'82%. | Kitploit
Strumenti/GitLabGitLab/lama-labs/zero-touch-containment
Strumenti DifensiviSicurezza di ReteRisposta agli Incidenti
GitLablama-labs/zero-touch-containment

zero-touch-containment

Antigena (Darktrace) → Aruba ClearPass CoA bridge — quarantena in tempo reale di utenti/dispositivi basata su modelli. Zero clic SOC. Architettura esagonale, copertura dei test all'82%.

Vedi Repository

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
164 mesi faNon ancora revisionato
Condividi

zero-touch-containment

pipeline status coverage report License: MIT Python 3.11+ Code style: ruff FastAPI

Ponte Antigena (Darktrace) → Aruba ClearPass CoA — quarantena in tempo reale di utenti/dispositivi basata su modelli. Zero click SOC tra rilevamento e contenimento.

Implementazione di riferimento sanificata di un pattern di integrazione NDR↔NAC operato su scala finanziaria (migliaia di endpoint, SOC 24/7). Elementi specifici del cliente sono stati sostituiti con fixture sintetiche; l'architettura, il flusso decisionale e i pattern operativi sono quelli reali.


Perché esiste

La promessa di NDR (Darktrace, ExtraHop, Vectra) è il rilevamento in secondi. La realtà nella maggior parte delle banche: rilevamento in secondi, contenimento in ore — perché il passaggio dal SOC ai team NAC/firewall è manuale.

Questo toolkit colma quel divario collegando Antigena (modulo di risposta autonoma di Darktrace) ad Aruba ClearPass tramite l'API REST di ClearPass. Quando un modello Darktrace si attiva superando una soglia di severità configurabile, il toolkit:

  1. Riceve il webhook Antigena (convalidato con HMAC).
  2. Mappa il modello + la severità a un'azione di contenimento tramite configurazione YAML.
  3. Chiama l'API REST di ClearPass per assegnare un nuovo ruolo endpoint (VLAN di quarantena), disconnettere la sessione, o entrambi.
  4. Registra ogni decisione in un registro SQLite per audit e rilascio automatico.
  5. Notifica il SOC tramite Slack/Teams.
  6. Inoltra eventi di audit strutturati al SIEM (LogRhythm, Elastic).

Latenza mediana end-to-end dall'attivazione del modello alla VLAN di quarantena attiva: sotto i 5 secondi.


Cosa contiene

zero-touch-containment/
├── README.md                       ← Sei qui
├── LICENSE
├── .gitignore
├── docs/
│   ├── architecture.md             ← Approfondimento completo dell'architettura + tracciato SOLID
│   └── lessons-learned.md          ← 10 lezioni apprese dall'esecuzione in produzione
│
├── webhook/                        ← Livello HTTP in ingresso (diviso per SRP)
│   ├── app.py                      ← Solo route FastAPI + ciclo di vita
│   ├── auth.py                     ← verify_hmac() — convalida HMAC-SHA1
│   ├── replay.py                   ← ReplayCache — protezione replay LRU
│   └── models.py                   ← Schema pydantic AntigenaEvent
│
├── engine/                         ← Motore decisionale basato su YAML
│   ├── decision.py                 ← DecisionEngine (dipende dal protocollo QuarantineReader)
│   ├── rules.py                    ← Caricatori YAML per mapping e allowlist
│   └── models.py                   ← Action + MappingRule + ActionKind
│
├── clearpass/                      ← Adattatore NAC (implementa il protocollo CoAClient)
│   ├── client.py                   ← ClearPassClient — operazioni REST in stile CoA
│   ├── ports.py                    ← Protocollo CoAClient — interfaccia per qualsiasi backend NAC
│   └── auth.py                     ← TokenCache OAuth2
│
├── ledger/                         ← Registro SQLite (implementa 5 porte — ISP applicato)
│   ├── store.py                    ← SqliteLedger — implementazione tutto-in-uno
│   ├── ports.py                    ← EventStore + QuarantineWriter + QuarantineReader
│   │                                 + ReleaseManager + HealthChecker (separati)
│   └── schema.py                   ← Costante DDL SQL
│
├── cli/                            ← CLI per operazioni SOC
│   └── soc.py                      ← `ztc release-expired` + comandi pianificati
│
├── config/
│   ├── mapping.example.yaml        ← Mapping severità → azione
│   └── allowlist.example.yaml      ← Lista VIP / mai in quarantena
│
├── deploy/
│   ├── docker-compose.yml
│   ├── Dockerfile
│   └── .env.example
│
├── tests/                          ← 60 test che coprono ogni livello
│   ├── test_decision.py
│   ├── test_ledger.py
│   ├── test_webhook_helpers.py
│   ├── test_clearpass_client.py
│   ├── test_protocols.py           ← Test di conformità strutturale ISP/DIP
│   └── fixtures/sample_event.json
│
├── requirements.txt
└── pyproject.toml

Avvio rapido

git clone https://gitlab.com/zimlama/zero-touch-containment.git
cd zero-touch-containment

python3 -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt

cp config/mapping.example.yaml config/mapping.yaml
cp config/allowlist.example.yaml config/allowlist.yaml
cp deploy/.env.example .env  # inserisci CLEARPASS_HOST, credenziali OAuth, segreto HMAC

# Avvia il ricevitore webhook
uvicorn webhook.app:app --host 0.0.0.0 --port 8080

# In un'altra shell: riproduci un evento di esempio
curl -X POST http://localhost:8080/antigena \
  -H "Content-Type: application/json" \
  -H "X-Darktrace-Signature: sha1=$(echo -n @tests/fixtures/sample_event.json | openssl dgst -sha1 -hmac "$HMAC_SECRET" | awk '{print $2}')" \
  --data @tests/fixtures/sample_event.json

Il webhook convalida HMAC-SHA1, esegue il motore decisionale contro mapping.yaml e:

  • modalità dry-run (predefinita in sviluppo) → registra l'azione che sarebbe stata eseguita
  • modalità live → chiama l'API REST di ClearPass per applicare

Architettura (vista a schermo singolo)

┌──────────────┐   1. webhook    ┌──────────────────┐   2. convalida   ┌──────────────────┐
│  Darktrace   │ ──────────────▶ │  Ricevitore      │ ───────────────▶ │  Motore          │
│  Antigena    │  HMAC-SHA1      │  webhook         │  parse + auth    │  decisionale     │
│  attiva modello│               │  (FastAPI)        │                  │  (basato su YAML)│
└──────────────┘                 └──────────────────┘                  └─────────┬────────┘
                                                                                  │
                                                                                  ▼
                                                                       3. risolvi azione
                                                                       (allowlist + rate limit)
                                                                                  │
                                  ┌───────────────────────┬───────────────────────┼────────────────────────┐
                                  ▼                       ▼                       ▼                        ▼
                          ┌──────────────┐       ┌────────────────┐      ┌──────────────┐         ┌─────────────┐
                          │ ClearPass    │       │ Registro       │      │ Notifica     │         │ SIEM        │
                          │ API REST     │       │ SQLite         │      │ Slack/Teams  │         │ (log        │
                          │ - cambio ruolo│      │ - stato        │      │              │         │  strutturati)│
                          │ - disconnessione│    │ - rilascio auto │      │              │         │             │
                          └──────────────┘       └────────────────┘      └──────────────┘         └─────────────┘

Vedi docs/architecture.md per la ripartizione completa.


Stack tecnologico

Scarica lo strumento