Una piattaforma open per la visibilità sui livelli bassi delle reti 4G/5G, vista in chiave difensiva e offensiva.
TL;DR
5grok è un analizzatore di protocolli cellulari real-time che si aggancia all’interfaccia DIAG dei modem Qualcomm, MediaTek e Samsung Shannon. Estrae i frame L1/L2/L3 grezzi, li decodifica fino al livello di NAS/RRC ASN.1 e li espone via WebSocket/REST a una dashboard live, con correlazione GPS opzionale.
Dove servizi commerciali come Network Signal Guru o XCAL chiudono il sorgente e il formato, 5grok mette il codice sotto controllo dell’utente. Questo apre due prospettive simmetriche:
- Difesa. Rilevare IMSI catcher, downgrade silenziosi, configurazioni di sicurezza deboli del carrier, anomalie di copertura, retroazione su deploy 5G SA/NSA.
- Attacco. Recon passiva sull’aria, fingerprinting di rete, ricerca di vulnerabilità protocollari, raccolta di dataset per fuzzing 3GPP, validazione di tool offensivi su un canale ground-truth.
L’asset chiave è la trasparenza sul wire: ogni frame DIAG è ispezionabile, ogni decoder è leggibile, niente black box tra antenna e dashboard.
1. Architettura in una pagina

Tre componenti, un protocollo.
agent-5grok: raccolta sul campo
- Rust, build
aarch64-unknown-linux-muslper girare su router OpenWrt, come GL-XE3000, e SBC. - Driver DIAG via
/dev/ttyUSBx, framing HDLC, escape, CRC-16. - Astrazione multi-chipset:
chipset/qualcomm.rs,chipset/mediatek.rs, traitchipset/traits.rs. - Monitor AT, con
at_monitor.rseat_parser.rs, per fallback su modem con DIAG firmware-locked, come HP lt4120. - Monitor GPS NMEA seriale o gpsd, con iniezione di pseudo-frame
0xFD01correlabile a livello server. - Wire format: MsgPack compatto con struttura
["Frame", [seq, ts_wall, ts_mono, log_code, payload, vendor?]].
fivegrok-api: decode e serve
- Decoder ASN.1 RRC via
grok5-asn1per LTE e 5G NR. - Decoder NAS deep coverage: circa il 95% delle 5GMM, EMM, 5GSM ed ESM messages.
- Decoder PHY/MAC: PDSCH, PUSCH, PDCCH, PUCCH, MCS table 1/2, CQI table 1/2, MIMO rank, BLER e throughput stimato.
- ML1: serving cell, neighbor, SINR, beam management, formule RSRP/RSRQ validate per NR e LTE.
- Geo correlation: interpolazione lineare GPS-frame, coverage map a grid di circa 11 m, export KML, GeoJSON e CSV.
- Vendor-aware dispatch: lo stesso log code può avere encoding diverso QC, MTK o Samsung.
decode_protocol(log_code, data, vendor)instrada di conseguenza.
Dashboard + REST
- WebSocket push real-time, badge vendor QC, MTK e Samsung.
- Pannello L1/L2 con BLER gauge, CQI, MCS, MIMO rank e throughput DL/UL.
- Pannello GPS con posizione, fix, satelliti ed export.
- 7 endpoint REST per location, coverage e track.
Test e qualità
- Oltre 130 test unitari e di integrazione in
fivegrok-api, oltre 150 inagent-5grok. - Pipeline di test end-to-end: fake agent, decoder, WebSocket e assertion.
- Validato con oltre 17.000 frame DIAG reali da Quectel su rete LTE/5G NSA produttiva.
2. Cosa decodifica davvero
| Layer | Protocolli / log codes | Stato |
|---|---|---|
| L3 NAS 4G/5G | EMM, ESM, 5GMM, 5GSM: Registration, PDU Session, Authentication, Security Mode. | Circa 95% dei messaggi |
| L3 RRC | LTE/NR DL-DCCH, UL-DCCH, BCCH, PCCH, SIB1 + extensions. | ASN.1 grok5 |
| L2 PDCP/RLC/MAC | TB con MCS, modulation, layers, NDI, RV, scheduling DL/UL, RACH e BSR. | Structural + stats |
| L1 PHY | PDSCH, PUSCH, PDCCH, PUCCH metadata, CQI e BLER. | Quantitativo |
| Mobility | NR/LTE serving cell, neighbor list, beam, ARFCN, EARFCN e PCI. | dB-accurate |
| Geo | GPS NMEA / gpsd verso grid coverage map. | KML, GeoJSON, CSV |
Il log code legacy 0x1xxx di QXDM è coperto al 100% per il modem Quectel testato: 12 codici su 12 e 200 frame su 200.
3. Prospettiva difensiva
L’aggancio a livello DIAG offre una visibilità che i normali strumenti consumer, come signal bar, ping e speedtest, non danno. I casi d’uso difensivi sono diversi.
3.1 Detection di IMSI catcher / Stingray
Una BTS rogue tradisce sé stessa con segnali strutturali sul wire:
- PCI duplicato o non coerente con la planning del carrier nell’area.
- MIB/SIB anomali: TAC fuori sequenza, PLMN coerente ma cell ID assente dal database.
- Forced reselection verso una cella con potenza implausibile.
- Authentication request senza Security Mode Command o con MAC/AUTN sospetti.
- Downgrade NSA-LTE-2G non giustificato dal contesto radio.
5grok rende ognuno di questi segnali una query sui frame. La coverage map storica, insieme al database celle previsto in Phase 3, permette di flaggare in tempo reale celle nuove non viste prima nella stessa area.
3.2 Audit configurazione sicurezza carrier
- Verifica che il
Security Mode Commandusi cifratura forte, come EEA2/NEA2, e non EEA0/null. - Verifica integrità EIA2/NIA2 attiva su NAS e RRC.
- Detection di bug noti come aLTEr e IMP4GT, legati alla manipolazione PDCP non autenticata in user plane LTE.
- Verifica che 5G SA non faccia fall-back inatteso a NSA mascherando la null cipher.
3.3 Coverage / SLA enforcement
- Coverage map georeferenziata per produrre una ground truth su cui contestare contratti SLA o claim di copertura del carrier.
- Monitor BLER, CQI e MIMO rank in produzione: drift sotto soglia, apertura ticket.
3.4 Forensics e response
- Capture PCAP/GSMTAP esportabile per Wireshark, in formato standard e peritabile.
- Timeline sessioni con NAS state machine, utile per ricostruire incidenti come sospetta intercettazione, dispositivo compromesso o anomalia roaming.
3.5 Validazione di prodotti di sicurezza
I vendor che vendono soluzioni anti-IMSI-catcher su Android raramente espongono il piano DIAG. 5grok diventa il ground truth contro cui validare le claim di un prodotto closed-source.
4. Prospettiva offensiva
Lo stesso wire, letto dall’altra parte, diventa una piattaforma di ricerca offensiva. Le applicazioni legittime sono red team autorizzato, ricerca su 3GPP, CTF e security testing su lab privati.
4.1 Recon passiva
- Fingerprinting carrier: PLMN, capability set, SIB content e supported bands possono aiutare a identificare il vendor RAN dalle peculiarità di IE.
- Topologia: PCI, ARFCN e neighbor list mappano il deployment celle reale, comprese small cell e DAS.
- Scheduler fingerprint: pattern PDCCH possono identificare specifiche release software del gNB.
Tutto passivo, nessuna trasmissione: zero superficie legale rispetto a un IMSI catcher attivo.
4.2 Vulnerability research 3GPP
- Cattura di NAS/RRC reali per creare corpus di fuzzing differenziale di stack 3GPP open, come srsRAN, OpenAirInterface e Open5GS.
- Comparazione tra il decode di 5grok e quello di un altro stack: una divergenza può indicare un potenziale parser bug, candidato CVE.
- Validazione di PoC su attacchi noti: aLTEr, IMP4GT, ToRPEDO, NR Reject attacks e 5G null-scheme exploits.
- I decoder ASN.1 espongono ogni IE. Se uno stack target accetta valori out-of-spec, qui lo si vede.
4.3 Side-channel e traffic analysis
- Pattern di scheduling DL/UL per inference su attività dell’utente target in contesto lab, non on-the-wild.
- Burst di paging per presenza o assenza di un MSISDN noto, nel classico scenario di TMSI tracking.
- Power side-channel via delta RSRP su movimento.
4.4 Downgrade e redirection studies
- Cattura frame
RRC Connection Release with redirectedCarrierInfoper studio di downgrade attacks legittimati dal carrier. - Confronto comportamento UE su reti 5G SA/NSA per ricerca su null cipher e null integrity.
4.5 Tooling per CTF e training
- Dataset pulito e annotato per challenge SIGINT/telco.
- L’ASN.1 leggibile rende 5grok un didattico ideale per corsi su sicurezza cellulare, dove altrimenti serve hardware proprietario QXDM da migliaia di USD.
Limite di responsabilità. 5grok intercetta il traffico del modem dell’operatore stesso, non quello di terzi. Per qualunque uso che vada oltre questa configurazione, come capture di traffico altrui via SDR + uplink injection, valgono le leggi locali su intercettazioni e telecomunicazioni. La piattaforma è progettata e documentata per uso difensivo, di ricerca e red team autorizzato.
5. Differenziatori vs alternative
| Aspetto | 5grok | QXDM Qualcomm | XCAL / NSG | scat / mobile-insight |
|---|---|---|---|---|
| Open source | ✓ | × | × | ✓ |
| Multi-chipset | ✓ QC/MTK/Samsung | × solo QC | ✓ proprietario | Parziale |
| Real-time WebSocket | ✓ | Parziale | ✓ | × |
| Coverage map georef | ✓ + export | × | ✓ | × |
| ASN.1 RRC deep | ✓ grok5 | ✓ | ✓ | Parziale |
| L1/L2 metrics BLER/CQI/MIMO | ✓ | ✓ | ✓ | Parziale |
| Costo | Gratis + HW commodity | Licenza enterprise | Licenza enterprise | Gratis |
| Dashboard pronta | ✓ | × | ✓ | × |
Il vero competitor concettuale è scat + mobile-insight + Wireshark: 5grok li ricompone in una pipeline integrata e moderna in Rust, con multi-chipset e geo built-in.
6. Stato e roadmap
Fasi completate
- Phase 3: PCAP/GSMTAP export, multi-agent, cell DB, NAS deep, ML anomaly detection.
- Phase 4: decoder split modulare, 10 moduli, 32 NAS deep parsers, ML1 deep, RRC SIB.
- Phase 5: L1/L2 metrics, PHY decoder, MCS/CQI tables, BLER/MIMO/throughput, REST
/api/v1/stats/l1l2. - Phase 6: GPS/location correlation + multi-chipset MTK + Samsung Shannon.
Gap aperti
- App Android per field collection.
- Modem support: Sierra Wireless, Fibocom.
- Detection automatica IMSI catcher con rule engine e ML su anomalia coverage.
- Hardening produzione in corso su branch
fix/build-recovery-and-docsefeat/security-integrity-kdf.
7. Sintesi
5grok prende una capacità tradizionalmente chiusa, cioè guardare dentro una sessione cellulare al livello del wire, e la rende un componente componibile, scriptabile ed estensibile in Rust. Lo stesso strumento serve a chi difende una rete o un dispositivo, con audit, detection e forensics, e a chi cerca debolezze nei protocolli, con recon passiva, vulnerability research e validazione PoC.
L’asset strategico non è una singola feature: è la continuità decode, dal byte HDLC sul /dev/ttyUSB0 fino all’IE ASN.1 nella dashboard, senza nessun anello opaco.