
Una suite SOC personale per Windows costruita in PowerShell — monitora connessioni di rete, utilizzo delle risorse, attività pianificate ed eventi di alimentazione con classificazione della gravità e rilevamento della baseline.
Un Security Operations Center (SOC) personale costruito da zero durante un programma di riqualificazione in Anwendungsentwicklung. Questa suite monitora un endpoint Windows per anomalie di rete, picchi di risorse, esecuzione di processi, modifiche al registro, attività dei log eventi di sicurezza, modifiche alle attività pianificate, query DNS ed eventi di alimentazione — registrando tutto in file strutturati per analisi e correlazione settimanali tramite un motore Python.

Dashboard Flask a pagina singola. Tutti i 12 collector + motore di correlazione attivi, monitor risorse live, feed connessioni in uscita, tile eventi dei collector e avvisi streaming del motore.
Realizzato come progetto di apprendimento pratico parallelamente alla riqualificazione IT formale, questa suite applica concetti reali di SOC — raccolta baseline, rilevamento anomalie, classificazione della gravità, aggregazione log e correlazione cross-source — a un personal computer Windows. Il processo di progettazione è stato avversario fin dall'inizio: ogni fase è stata stress-testata contro un'analisi red team prima di passare alla successiva, con 48 regole di correlazione definite da quei risultati che hanno guidato l'architettura del motore Python.
Lo sviluppo è tracciato in roadmap.md — stato attuale, piani per la Fase 9 (Motore Forense) e obiettivi di hardening a lungo termine.
La dashboard viene eseguita come server Flask e richiede l'elevazione a Amministratore per il rilevamento dei processi dei collector. Crea un collegamento una volta dopo aver clonato:
Replace C:\path\to\SOC con il percorso di installazione effettivo.
3. Denominalo: SOC Dashboard
4. Fai clic con il pulsante destro del mouse sul collegamento → Proprietà → Avanzate → seleziona Esegui come amministratore
5. Fai clic su OK
Il collegamento avvia Flask, attende che sia pronto, poi apre automaticamente il browser. Se Flask è già in esecuzione, salta l'avvio e apre direttamente il browser. I punti di stato appariranno grigi se il collegamento viene eseguito senza elevazione ad Amministratore.
Il dashboard impone una sequenza di avvio/arresto pulita in modo che i bookend dell'Auditor (controllo di integrità mattutino, validazione della catena di hash serale) vengano sempre eseguiti in ordine.

Tutti i battiti cardiaci dei collector sono rossi (file di salute mancanti o arrestati). Il pulsante Shutdown Dashboard è nascosto — il dashboard non consentirà l'arresto fino a quando End Day non è stato eseguito.

Start Day esegue il bookend mattutino dell'Auditor (verifica dei log SHA256, validazione della catena di hash dell'archivio) e avvia tutti i 12 collector più il motore di correlazione. I battiti cardiaci diventano verdi man mano che ogni collector segnala.

End Day ferma tutti i collector in sequenza ed esegue il bookend serale dell'Auditor. I punti dei collector rimangono verdi mentre la sequenza è in esecuzione; la riga di stato mostra Running Auditor Evening…

Una volta completato l'audit serale, tutti i punti dei collector diventano rossi, la riga di stato legge Evening audit complete. Safe to shut down., e appare il pulsante Shutdown Dashboard — cliccando termina pulitamente il processo Flask.

La scheda del browser deve essere chiusa manualmente (i browser non espongono un'API di chiusura ai processi esterni).
I riquadri degli eventi dei collector mostrano gli eventi più recenti con gravità per fonte. Il feed Engine Alerts trasmette in tempo reale i risultati correlati dal motore Python, con numero regola, punteggio di confidenza, catena di prove completa e hash SHA256 delle prove.

Esempio: Regola 35 (Lettura disco raw) attivata su powershell.exe che apre un handle raw a \Device\HarddiskVolume3, e Regola 31 (Anomalia caricamento DLL) che segnala DLL di Defender caricate da un percorso scrivibile dall'utente. Entrambe con piena provenienza del processo e hash dei file.
La suite segue un'architettura a tre livelli:
Livello di raccolta — Collector PowerShell che vengono eseguiti continuamente in background, ognuno monitora una specifica fonte dati e scrive voci di log strutturate con tag di gravità. Tutti richiedono elevazione ad Amministratore.
Livello di analisi — Script di analisi PowerShell che analizzano i log raccolti e generano report settimanali di riepilogo. Vengono eseguiti come utente standard.
Motore di correlazione (Fase 7 — completa) — Motore Python che acquisisce tutti i log dei collector, normalizza gli eventi in uno schema comune, ed esegue la correlazione basata su regole e punteggio di rischio su tutti i flussi di dati. Tre programmi:
| Programma | Fase | Ruolo |
|---|---|---|
| Correlation Engine | 7 — completa | Acquisizione, normalizzazione, correlazione, avviso (archivio operativo SQLite) |
| SOC Dashboard | 8 — completa | Visibilità in tempo reale — salute dei collector, avvisi, catene di prove (Flask) |
| Forensic Engine | 9 — pianificata | Indagine post-evento — super timeline, lineage dei processi, analisi beacon, audit di persistenza, banca dati delle prove solo append |
| Forensic Dashboard | 9 — pianificata | Conclusioni forensi riassunte — stato con codice colore, generazione report, navigazione prove |
| Fase | Script | Soprannome | Funzione |
|---|---|---|---|
| 1 | Sentinel.ps1 | Watchdog di rete | Connessioni TCP in uscita con geolocalizzazione, verifica del percorso del processo e tracciamento del trasferimento cumulativo |
| 1 | Bulwark.ps1 | Guardia Notturna | Porte in ascolto in entrata — differenza baseline, rilevamento porte nuove/chiuse, anomalie di geolocalizzazione |
| 1 | Steward.ps1 | Intendente | CPU, RAM e I/O disco per processo utilizzando i contatori prestazioni di Windows con rilevamento automatico di 8 lingue |
| 1 | CityGuard.ps1 | Guardia cittadina | Aggiunte, eliminazioni e modifiche di attività pianificate — rilevamento di modifiche di azione e trigger |
| 1 | Watchman.ps1 | Sentinella | Eventi di alimentazione — avvio, sospensione, riattivazione, spegnimento imprevisto e attività fuori orario |
| 2A | Registry_Warden.ps1 | — | Chiavi di esecuzione del registro, RunOnce, baseline e differenza dei servizi, controllo integrità RID SAM |
| 2B | Harbinger.ps1 | — | Monitoraggio della creazione di processi basato su eventi WMI/CIM — rilevamento di percorsi ad alto rischio, tracciamento del processo padre |
| 3 | Bloodhound.ps1 | — | Monitoraggio query DNS — rilevamento DGA tramite entropia di Shannon, segnalazione record TXT, rilevamento picchi di volume ICMP |
| 4 | Warden.ps1 | — | Watchdog della suite — FIM script SHA256, regressione dimensione log, salute del collector, flag di manutenzione, attività pianificata di auto-sorveglianza |
| 5 | SecEventLog.ps1 | — | Registro eventi di sicurezza di Windows — anomalie di accesso, manipolazione account, escalation privilegi, installazione servizi, rilevamento brute force |
| 6 | DoH_Detector.ps1 | — | Rilevatore evasione DNS-over-HTTPS — connessioni TCP a 28 IP resolver DoH noti da processi non nella whitelist |
| 7 | SysmonWatcher.ps1 | — | Monitoraggio eventi a livello kernel Sysmon — iniezione di processi, accesso LSASS, letture disco raw, caricamento driver non firmati, persistenza WMI e collegamento debugger del browser (22 ID evento) |
| Script | Soprannome | Funzione |
|---|---|---|
| Investigator.ps1 | Report di audit | Analisi settimanale dei log delle connessioni in uscita di Sentinel |
| Crow.ps1 | Lord Comandante | Analisi settimanale dei log delle porte in entrata di Bulwark |
| Ledger.ps1 | Maester | Analisi settimanale dei log delle risorse di Steward con rilevamento tendenza RAM |
| Castellan.ps1 | Castellan | Analisi settimanale dei log delle attività pianificate di CityGuard |
| Auditor.ps1 | — | Audit di integrità bookend mattutino/serale — verifica log SHA256, validazione catena di hash dell'archivio |
Definite tramite analisi red team multi-round (vedi Documentazione). Implementate nella Fase 7.
| # | Regola | Gravità | Fonti |
|---|---|---|---|
| 1 | Data Exfiltration Sospettata | HIGH | Steward + Sentinel |
| 2 | C2 Beacon Sospettato | HIGH | Sentinel + Bulwark |
| 3 | Persistenza + Callback C2 | CRITICAL | CityGuard + Sentinel |
| 4 | Intrusione Fuori Orario | CRITICAL | Watchman + Sentinel |
| 5 | Data Staging | HIGH | Bulwark + Steward |
| 6 | Attività di rete LOLBin | CRITICAL | Sentinel |
| 7 | Process Hollowing Sospettato | CRITICAL | Harbinger + Sentinel |
| 8 | DoH Evasion Sospettato | CRITICAL | DoH_Detector |
| 9 | Persistenza WMI Sospettata | HIGH | Harbinger + CityGuard |
| 10 | Manipolazione Account | CRITICAL | SecEventLog |
| 11 | Pattern di Exfiltration a Rafto | HIGH | Sentinel |
| 12 | Processo Persistente Sotto Soglia | SUSPICIOUS | Sentinel + Steward |
| 13 | Accesso Iniziale Sospettato | CRITICAL | Harbinger + Sentinel |
| 14 | Anomalia Binario Attendibile | SUSP→CRIT | Sentinel |
| 15 | Rilevatore di Jitter Statistico | HIGH | Sentinel |
| 16 | Violazione di Integrità Contestuale | CRITICAL | Harbinger + Sentinel |
| 17 | Identity / RID Hijack | CRITICAL | Registry_Warden + SecEventLog |
| 18 | Salute Motore di Correlazione | MEDIUM | Python Core |
| 19 | Autoprotezione / FIM Script | CRITICAL | Warden |
| 20 | Deriva Temporale Statistica | MEDIUM | Steward + Sentinel |
| 21 | Blocco Interprete / BYOI | HIGH | Harbinger |
| 22 | Anomalia API Cloud | HIGH | Sentinel |
Tutti i collector utilizzano un sistema di gravità coerente a quattro livelli:
| Livello | Colore | Significato |
|---|---|---|
| OK | Verde | Corrisponde alla baseline nota, nessuna azione necessaria |
| SCONOSCIUTO | Giallo | Non ancora baselined, monitorare per pattern |
| SOSPETTO | GialloScuro | Anomalia rilevata, investigare |
| CRITICO | Rosso | Soglia superata, revisione immediata |
Tutti i log seguono un formato coerente per la compatibilità con il parser Python:``` [yyyy-MM-dd HH:mm:ss] [SEVERITY] Event details
**Struttura del repository:**```
home_SOC_suite/
├── Analysts/ — PowerShell analyst scripts
├── Collectors/ — PowerShell collector scripts
├── Dashboard/ — Flask single-page SOC dashboard (Phase 8)
│ ├── app.py — Flask server, all routes, process detection, DB reads
│ ├── Launch_Dashboard.ps1 — Launcher: checks if Flask running, starts it, opens browser
│ ├── templates/
│ │ └── index.html — Single-page dashboard layout
│ └── static/
│ ├── style.css — Dark terminal aesthetic, severity colours, bar graph tiers
│ └── dashboard.js — All polling, Start Day / End Day sequence, session alert counter
├── Engine/ — Python correlation engine
│ ├── engine.py — Main loop and orchestration
│ ├── log_parser.py — Collector log ingestion
│ ├── normalizer.py — Event normalisation to canonical schema
│ ├── correlator.py — Correlation rules engine
│ ├── alert_manager.py — Alert deduplication, flood detection, log writing
│ ├── db.py — SQLite operations (batch ingest, query, retention)
│ ├── health_db.py — Heartbeat SQLite store (collector_status, heartbeats tables)
│ ├── config.py — All thresholds and time windows in one place
│ ├── test_parser.py — Log parser test suite (7 tests)
│ ├── test_normalizer.py — Normaliser test suite (32 tests)
│ └── test_correlator.py — Correlator test suite (135 tests)
└── Documentation/ — Research documents, red team analysis, and dashboard screenshots
Generato in fase di esecuzione (non tracciato nel repository):``` Logs/ — Active collector log files │ └── Archives/ — 7-day rotated log archives Reports/ — Weekly analyst report output Config/ — Baseline JSON files and Sysmon config Engine/hocsoc.db — SQLite operational database Engine/hocsoc_health.db — Heartbeat and collector status store (engine correlation use only)
---
## Lingue del sistema operativo supportate
Steward rileva automaticamente il percorso corretto del contatore delle prestazioni della CPU per le seguenti lingue del sistema operativo:
| Lingua | Percorso contatore |
|---|---|
| English | \Process(*)\% Processor Time |
| Tedesco | \Prozess(*)\Prozessorzeit (%) |
| Francese | \Processus(*)\% temps processeur |
| Spagnolo | \Proceso(*)\% de tiempo de procesador |
| Italiano | \Processo(*)\% Tempo processore |
| Portoghese | \Processo(*)\% de Tempo do Processador |
| Russo | \Процесс(*)\% загруженности процессора |
| Cinese (semplificato) | \Process(*)\% Processor Time (typically English) |
Per aggiungere il supporto per un'altra lingua, aggiungi il percorso contatore localizzato all'array `$PathsToTry` nella funzione `Get-WorkingCounterPath` in `Steward.ps1`.
---
## Documentazione e ricerca
La cartella `Documentation/` contiene il registro completo della ricerca e della pianificazione che ha guidato la progettazione di questa suite. La suite è stata costruita in modo avversariale — ogni livello è stato pianificato contro un modello di minaccia prima di essere costruito e stress-testato contro un'analisi del red team prima di iniziare il livello successivo.
| Documento | Scopo |
|---|---|
| `home_soc_pre_coding_architecture_guide.pdf` | Framework decisionale pre-costruzione. Modello dati canonico, modello di fiducia, ciclo di vita della baseline, strategia di test e opportunità di validazione cross-collettore. Scritto prima di una singola riga di codice. |
| `Home_Soc_Architecture_And_Engine_Design.pdf` | Specifica dell'architettura target. Progettazione del motore Python a tre programmi, schema SQLite, modello di rilevamento ibrido (regole deterministiche + risk scoring), logica di promozione degli alert. |
| `HomSOC_Implementation_Guide.pdf` | Piano di costruzione fase per fase. Codice scheletro per tutti i collettori, programma settimanale, modelli di riferimento rapido per PowerShell. Il manuale di costruzione per il livello PowerShell. |
| `RedTeam_Analysis_HomSOC_Final.pdf` | Riferimento primario del red team. 11 round avversariali (Claude + Gemini + simulazioni di engagement live), tutte le 26 regole di correlazione con logica di rilevamento completa, risultati di bypass e mitigazioni applicate alla build. |
| `Home_SOC_Red_Team_Analysis_Pro.pdf` | Red team architetturale. 11 scenari di attacco mirati a debolezze strutturali: avvelenamento della baseline, bypass della correlazione, inondazione di rumore, soppressione del collettore, manomissione degli archivi, iniezione di log, attacchi di replay e abuso di identità. |
| `Home_SOC_Red_Team_Whitepaper.pdf` | Riepilogo esecutivo. Tabella completa degli scenari di attacco, confronto del sistema (baseline vs. indurito), miglioramenti architetturali chiave e panoramica del progetto del modello di rilevamento. |
---
## Caratteristiche principali
- **Progettazione avversariale** — 48 regole di correlazione definite attraverso analisi multi-round del red team prima della costruzione del motore Python. La logica di rilevamento è basata su catene di attacco reali, non su scenari ipotetici
- **Raccolta della baseline comportamentale** — tutti i collettori costruiscono baseline nel tempo, consentendo il rilevamento di anomalie rispetto alla norma osservata piuttosto che a regole statiche
- **Monitoraggio della geolocalizzazione** — connessioni in uscita, connessioni in entrata, IP sorgente di autenticazione e connessioni DoH tracciati per paese con avviso TELEMETRY_GAP su fallimenti geografici
- **Impronta digitale dei processi** — ogni evento di rete, porta, processo e autenticazione registrato con il percorso completo del processo, rilevando attacchi di mascheramento e LOLBin
- **Autoprotezione della suite** — Warden monitora tutti gli script e le configurazioni tramite SHA256 FIM con una catena di protezione a tre livelli: integrità del manifest, attività pianificata esterna e monitoraggio dell'attività CityGuard
- **Whitelisting Zero-Trust** — tutte le whitelist partono vuote. La raccolta della baseline di 30 giorni precede qualsiasi concessione di eccezioni
- **Logging con tag di gravità** — voci di log strutturate progettate per la compatibilità con il parser Python e la futura integrazione SIEM
- **Rotazione dei log di 7 giorni** — archiviazione automatica con verifica SHA256 e controlli di integrità della catena di hash dell'archivio agli estremi mattina/sera tramite Auditor.ps1
- **Compatibilità Windows multi-lingua** — percorsi dei contatori delle prestazioni rilevati automaticamente in 8 lingue del sistema operativo all'avvio
- **Dashboard SOC a pagina singola** — visibilità in tempo reale basata su Flask che sostituisce tutte le singole finestre di PowerShell. Include avvio della suite (Start Day / End Day), monitor risorse Steward live, feed connessioni Sentinel, punti heartbeat a tre stati (verde attivo / ambra non avviato / rosso fermo — letti direttamente dai file JSON di salute del collettore, indipendenti dallo stato del motore), carte eventi SUSPICIOUS/CRITICAL, feed degli alert del motore scorrevole, contatore degli alert della sessione e generazione di report settimanali con un clic. End Day ferma tutti i collettori ed esegue il bookend serale di Auditor — appare quindi un pulsante Shutdown Dashboard per terminare pulitamente il processo Flask. La scheda del browser deve essere chiusa manualmente (i browser non espongono un'API di chiusura ai processi esterni)
---
## Stato attuale — Fase 8 completata
Il motore di correlazione Python è costruito e in esecuzione in tempo reale su tutti i 12 collettori, incluso SysmonWatcher (eventi a livello kernel di Sysmon).
**Pipeline del motore:**
`log_parser.py` → `normalizer.py` → `correlator.py` → `alert_manager.py`
Tutti i passaggi di ingest, normalizzazione e correlazione utilizzano transazioni batch SQLite.
174 test in tre suite di test — tutti superati.
**Regole implementate:** 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 16, 17, 18, 21, 22, 41, 42,
43, 44, 45, 46, 47, 48 (correlazione di singolo evento Tier 1 e finestra temporale Tier 2) e regole 28–39 (eventi kernel Sysmon tramite SysmonWatcher). Regole 12, 14, 15, 20 rinviate a Tier 4 (richiedono 30 giorni di dati di baseline). Regole 23, 24, 25 bloccate in attesa di collettori specializzati.
**Modello di rilevamento:** Ibrido — regole deterministiche per catene di attacco chiare, risk scoring per segnali deboli cumulativi, avvisi di visibilità per silenzio del collettore e degradazione della qualità dell'ingest.
**Fasi successive:**
| Fase | Programma | Stato |
|---|---|---|
| 8 | Dashboard SOC — visibilità live a pagina singola Flask | Completata |
| 9 | Motore forense — indagine post-evento, banca dati delle prove append-only | Pianificata |
| 9 | Dashboard forense — risultati riassunti, generazione di report, navigazione delle prove | Pianificata |
Vedi [`roadmap.md`](https://github.com/nate-ryan-7690/home_soc_suite/blob/main/roadmap.md) per la cronologia di sviluppo completa.
---
## Avvisi rumorosi noti — Prima dell'indurimento
Su una nuova installazione, diversi tipi di avviso scatteranno regolarmente finché non viene applicato l'indurimento specifico della macchina. Questi sono previsti e non rappresentano rilevamenti reali.
| Collettore | Avviso | Causa |
|---|---|---|
| Sentinel | CRITICAL environmental violation | Qualsiasi software di terze parti installato al di fuori dei percorsi predefiniti della zona attendibile (Windows, Program Files) — client di sincronizzazione cloud, app di comunicazione e utilità del fornitore che si installano in AppData sono fonti comuni |
| Sentinel | SUSPICIOUS TELEMETRY_GAP | Gli indirizzi IPv6 loopback e link-local non riescono nella ricerca di geolocalizzazione — risolto nella build corrente |
| SysmonWatcher | SUSPICIOUS/CRITICAL on Rules 31, 33, 34 | Il software antivirus e di sicurezza degli endpoint esegue regolarmente letture LSASS, letture raw del disco e carica DLL da percorsi scrivibili dall'utente come parte del normale funzionamento |
| SysmonWatcher | SUSPICIOUS on Rule 28 | Gli strumenti di sviluppo che si collegano ai processi del browser per il debug attiveranno la regola di collegamento del debugger del browser |
| Bulwark | SUSPICIOUS GeoIP failures | Le connessioni su intervalli IP privati e riservati non possono essere geolocalizzate — produce TELEMETRY_GAP fino a quando non vengono inserite nella whitelist |
| Bloodhound | SUSPICIOUS DGA detection | Le query DNS di breve durata o con un basso numero di campioni attivano i controlli di entropia prima che la baseline mobile si stabilizzi |
| Warden | SUSPICIOUS MANIFEST_MISSING | Nessun manifest FIM esiste al primo avvio — esegui `.\Warden.ps1 -BuildManifest` dopo la configurazione iniziale |
| Warden | SUSPICIOUS COLLECTOR_DOWN | I collettori non ancora distribuiti non hanno file heartbeat — previsto fino a quando l'intera suite è in esecuzione |
| DoH_Detector | CRITICAL for browser DoH | I browser configurati per utilizzare DNS-over-HTTPS scatteranno finché non vengono aggiunti all'elenco dei processi consentiti |
L'indurimento specifico della macchina (elenchi di processi attendibili, whitelist di percorsi, voci note sicure) viene applicato localmente e non è incluso in questo repository.
---
## Note
- Imposta `$RootPath` in ogni script sulla cartella in cui hai installato la SOC Suite. Il valore predefinito è `Desktop\SOC`
- Gli script richiedono che la policy di esecuzione di PowerShell sia impostata su Bypass
- Gli script dei collettori richiedono privilegi di amministratore per la massima visibilità del sistema
- Gli script dell'analista vengono eseguiti come utente standard
- Geolocalizzazione fornita dal livello gratuito di ip-api.com
- Il log eventi del client DNS deve essere abilitato prima di eseguire Bloodhound.ps1:
`wevtutil sl "Microsoft-Windows-DNS-Client/Operational" /e:true`
---
## Contesto di apprendimento
Costruito durante la riqualificazione Fachinformatiker Anwendungsentwicklung, Germania 2026.
Mirato a una carriera nella difesa informatica e nella threat intelligence.
Costruito con assistenza AI come strumento di apprendimento. Ogni decisione progettuale,
sessione di debug e scelta architetturale è stata guidata dallo sviluppatore
con piena comprensione dei concetti sottostanti.
| 23 | Rilevatore Iniezione HID | CRITICAL | WMI Device Events |
| 24 | Evil Twin / WiFi Ghost | CRITICAL | Network Monitor |
| 25 | Focus Thief / Window Hijack | HIGH | Win32 API |
| 26 | Controllo Integrità Visita | HIGH | All collectors |
| 27 | Accesso Iniziale Ritardato | CRITICAL | Harbinger + Sentinel (SQLite watchlist) |
| 28 | Collegamento Debugger Browser | CRITICAL | SysmonWatcher (Event ID 10) |
| 29 | Iniezione Processo Kernel | CRITICAL | SysmonWatcher (Event ID 8) |
| 30 | Caricamento Driver Non Firmato | CRITICAL | SysmonWatcher (Event ID 6) |
| 31 | Caricamento Immagine Sospetto | SUSPICIOUS | SysmonWatcher (Event ID 7) |
| 32 | Binding Sottoscrizione WMI | CRITICAL | SysmonWatcher (Event IDs 19/20/21) |
| 33 | Accesso LSASS Sospettato | CRITICAL | SysmonWatcher (Event ID 10) |
| 34 | Lettura Disco Raw | CRITICAL | SysmonWatcher (Event ID 9) |
| 35 | File Eseguibile Creato | SUSPICIOUS | SysmonWatcher (Event ID 11) |
| 36 | Provider AMSI Manomesso | CRITICAL | SysmonWatcher (Event ID 12) |
| 37 | Named Pipe Sospetto | SUSPICIOUS | SysmonWatcher (Event IDs 17/18) |
| 38 | Eseguibile Scaricato | HIGH | SysmonWatcher (Event ID 15) |
| 39 | Process Hollowing Confermato | CRITICAL | SysmonWatcher (Event ID 25) |
| 40 | Carico CPU Persistente Sotto Soglia | SUSPICIOUS | Steward + Sentinel |
| 41 | Sfruttamento Finestra Cieca | HIGH/CRITICAL | Python Engine (collector DOWN + concurrent events) |
| 42 | Soppressione Coordinata Collector | CRITICAL | Python Engine (≥2 collectors simultaneously DOWN) |
| 43 | Generazione Inaspettata Motore Scripting | SUSPICIOUS | Harbinger (known-bad parent → scripting engine) |
| 44 | Script da Percorso ad Alto Rischio | HIGH | Harbinger (43 + engine binary in user-writable path) |
| 45 | Callback di Rete Motore Scripting | CRITICAL | Harbinger + Sentinel (43 + outbound connection) |
| 46 | Catena di Esecuzione Supply-Chain Completa | CRITICAL | Harbinger + Sentinel (bad parent + drop + callback) |
| 47 | Esecuzione Offuscata / Codificata | HIGH | Harbinger (-EncodedCommand / Hidden+Bypass combination) |
| 48 | Coppia Padre-Figlio Nota-Maligna | CRITICAL | Harbinger (specific high-confidence pairs, zero legitimate use) |