
Strumento di analisi comportamentale runtime che isolata pacchetti sospetti in Docker, traccia le syscall con strace, mappa le cascate di processi in grafi diretti e rileva attacchi alla supply chain utilizzando firme YARA, rilevamento anomalie ML e analisi di pattern temporali.

Demo di TraceTree
TraceTree (cascade-analyzer) è un organismo di sicurezza autonomo progettato per l'era agentica. Va oltre la semplice scansione, trasformandosi in un ecosistema di rilevamento robusto, irrobustito e scalabile. Come la sua mascotte, il ragno, TraceTree tesse una rete completa di protezione attorno al tuo flusso di lavoro di sviluppo utilizzando le sue otto "zampe" specializzate.
TraceTree può essere utilizzato come gate di revisione prima che agenti o umani si fidino di un'installazione di un pacchetto. Vedi Esportazione del report di comportamento per un formato di report piccolo e compatibile con JSON/SARIF che riassume l'hash del target, la policy del sandbox, il comportamento osservato, gli hash degli artefatti, il verdetto e le impostazioni predefinite sulla privacy senza esporre i log grezzi delle syscall.
TraceTree/ ├── api/ # API stubs ├── codebase-analysis-docs/ # Architecture documents and knowledge guides ├── data/ # Behavioral signatures, rules, and training datasets ├── docs/ # Documentation assets ├── examples/ # Demo scripts and usage examples ├── frontend/ # Next.js/React web dashboard ├── graph/ # NetworkX directed graph builder ├── hooks/ # Git/Shell hooks for background monitoring ├── logs/ # Execution trace logs and strace outputs ├── macapp/ # Native macOS menu bar app ├── mascot/ # Console ASCII spider mascot ├── mcp/ # MCP server security testing module ├── ml/ # Machine learning classification and anomaly detection ├── monitor/ # Core syscall parser, YARA matching, and timelines ├── orchestrator/ # TypeScript multi-agent coordination server ├── repocheckai/ # Repository analysis engine (TypeScript/Node) ├── samples/ # Malware and benign files for sandbox tests ├── sandbox/ # Docker container manager and strace sandbox ├── test_targets/ # Mock packages/servers for detection testing ├── tests/ # Unit, integration, and system tests ├── watcher/ # File system change listener daemon └── worker/ # Background task execution worker
## Le 8 zampe del TraceTree Spider
1. **Zampa 1: Isolamento nella Sandbox (La Trappola)** — Esegue i target in container Docker isolati (o in una modalità `direct` ad alte prestazioni) dove le minacce sono fisicamente contenute.
2. **Zampa 2: Parsing delle Syscall (Il Sistema Nervoso)** — Un motore ad alta precisione che monitora ogni "vibrazione" (chiamata di sistema) che un processo invia al sistema operativo.
3. **Zampa 3: Grafici Comportamentali (La Rete)** — Mappa la "Cascata" di come processi, file e nodi di rete interagiscono utilizzando grafi diretti di NetworkX.
4. **Zampa 4: Rilevamento di Anomalie ML (L'Intuito)** — Un modello Random Forest addestrato su misura (addestrato su un piccolo dataset rappresentativo di pacchetti puliti/maligni, più feed opzionali live da MalwareBazaar) che predice l'intento maligno con alta confidenza.
5. **Zampa 5: Corrispondenza delle Firme YARA (La Memoria)** — Una libreria integrata di DNA di malware noti e pattern di exploit (Reverse Shell, Cryptominer, ecc.).
6. **Zampa 6: Protocollo di Sicurezza MCP (Lo Scudo Agente)** — Protezione specializzata per i server Model Context Protocol, difendendo gli strumenti che gli agenti AI utilizzano.
7. **Zampa 7: AI Guardiano della Sicurezza (La Rete Proattiva)** — Uno "Smart Scanner" pre-commit che utilizza LLM locali (Qwen-Coder) per individuare fughe e iniezioni prima che colpiscano la tua cronologia.
8. **Zampa 8: Analisi Temporale e N-gram (La Scansione del DNA)** — Identifica le minacce tramite il *ritmo* e la *sequenza* delle loro azioni nel tempo.
## Come Funziona```
target ──► Docker sandbox (network dropped) ──► strace -t -f
│
▼
strace log
│
┌────────────────┼────────────────┐
▼ ▼ ▼
strace parser signature temporal
(parser.py) matcher (sigs) analyzer
│ │ │
└───────┬────────┴────────────────┘
▼
NetworkX graph
(builder.py)
│
▼
ML anomaly detection
(RandomForest / IsolationForest)
│
▼
verdict
ip link set eth0 down) prima che inizi l'installazione/esecuzione, quindi qualsiasi tentativo di connessione in uscita viene registrato ma bloccato.strace -t -f -e trace=all. Il flag -t aggiunge timestamp per l'analisi temporale, -f segue i processi figli.monitor/parser.py) — Parser basato su regex che gestisce output strace multi-riga e sia i formati [pid] che pid nudo. Estrae creazione di processi, accesso ai file, connessioni di rete e operazioni di memoria. A ogni syscall viene assegnato un peso di gravità (0–9) in base alla sua rilevanza per la sicurezza.monitor/signatures.py) — Abbina il flusso di eventi analizzato a 8 pattern di firme comportamentali definiti in data/signatures.json. Ogni corrispondenza produce evidenze che elencano gli eventi specifici che l'hanno attivata.monitor/timeline.py) — Rileva 5 pattern comportamentali basati sul tempo dal flusso di eventi temporalmente marcati (ad es., lettura di credenziali seguita da connessione esterna entro 5 secondi).graph/builder.py) — Costruisce un grafo diretto NetworkX con nodi di processo, file e rete. Aggiunge archi temporali tra eventi consecutivi dello stesso PID entro una finestra di 5 secondi.ml/detector.py) — Estrae un vettore di 10 caratteristiche dal grafo e dai dati analizzati. Utilizza un RandomForestClassifier se è disponibile un modello addestrato, altrimenti ricade su un IsolationForest addestrato su 10 baseline hardcoded di pacchetti puliti. I punteggi di gravità e i conteggi dei pattern temporali aumentano la confidenza finale.