
iocx v0.7.6
Un motore di analisi statica estensibile e deterministico che estrae IOC ad alto segnale da binari PE e testo, progettato per l'automazione SOC e le pipeline moderne di analisi delle minacce.
IOCX
Estrazione IOC deterministica e a rischio zero per le pipeline di sicurezza moderne
Estrazione statica di IOC da un file PE tramite la CLI di IOCX
Progetto ufficiale IOCX
Questo è il motore IOCX originale per l'estrazione statica deterministica di IOC e l'analisi PE. Qualsiasi altro repository che utilizzi il nome "iocx" non è affiliato a questo progetto.
Link ufficiali:
- PyPI: https://pypi.org/project/iocx/
- Github: https://github.com/iocx-dev/iocx
- Sito web: https://iocx.dev/
Perché IOCX è importante
Il malware moderno è adversarial per impostazione predefinita — malformato, evasivo e progettato per rompere gli estrattori ingenui.
- Gli strumenti ignari dei binari collassano di fronte a PE malformati
- Le sandbox sono insicure e inutilizzabili in CI/CD
- La riproducibilità è essenziale per le pipeline automatizzate
IOCX è costruito per ambienti in cui correttezza e determinismo contano davvero.
Il motore IOCX
IOCX è il motore ufficiale di estrazione statica di IOC — un sistema deterministico e consapevole dei binari, costruito per DFIR, automazione SOC, sicurezza CI/CD e pipeline di threat-intel su larga scala.
A differenza degli estrattori basati solo su regex o degli strumenti dipendenti da sandbox, IOCX esegue:
- analisi puramente statica
- rischio di esecuzione zero
- output stabile e deterministico
- euristiche testate in modo adversariale
È un componente centrale dell'ecosistema MalX Labs per un'analisi delle minacce moderna e scalabile.
Prova IOCX in 10 secondi
echo "http://malicious.example" | iocx -
Oppure analizza un file PE in sicurezza:
iocx suspicious.exe -a deep
Perché esiste IOCX
I team di sicurezza affrontano tre problemi persistenti:
- Gli estrattori regex si rompono con input adversarial
- Il sandboxing è insicuro, lento e inadatto all'automazione
- La maggior parte degli strumenti IOC è incoerente, lenta o produce output leggermente diversi tra un'esecuzione e l'altra
IOCX risolve questo con un motore deterministico e puramente statico progettato per automazione, sicurezza e scala.
Cosa IOCX non è
IOCX è intenzionalmente non:
- una sandbox
- uno strumento di analisi comportamentale
- un emulatore
- un motore di enrichment
Non esegue mai codice non attendibile. Non esegue mai analisi dinamica. È puramente statico per progettazione — per sicurezza, determinismo e compatibilità con CI/CD.
Filosofia di progettazione
IOCX è progettato per le realtà del malware moderno, non per le assunzioni degli strumenti legacy.
1. Determinismo invece di ambiguità
Output stabile e riproducibile — nessuna casualità, nessuna volatilità.
2. Statico invece di dinamico
L'esecuzione è insicura. L'analisi statica è prevedibile, scalabile e adatta alla CI.
3. Ingegneria adversarial-first
PE malformati, RVA corrotti, stringhe ostili — IOCX li tratta come input normali.
4. Stabilità dello schema come contratto
I sistemi a valle non dovrebbero mai rompersi con un aggiornamento.
5. Prestazioni senza compromessi
150–300 MB/s su testo grezzo. 6–15 MB/s su PE tipici. Prevedibile anche sotto carico adversarial nel caso peggiore.
Questi impegni derivano da una metodologia di ricerca pubblicata per l'analisi strutturale dei PE — costruzione deterministica di fixture, disciplina dell'anomalia singola e comportamento del loader di Windows come oracolo di correttezza. Vedi docs/methodology.md per la metodologia completa, e paax.dev per la tassonomia più ampia dei PE adversarial e la suite commerciale di fixture.
Cosa rende IOCX diverso
| Capacità | IOCX | Estrattori IOC tipici | Strumenti sandbox / dinamici |
|---|---|---|---|
| Sicurezza | Zero esecuzione, puramente statico | Solo regex, nessuna sicurezza sui binari | Esegue codice non attendibile (alto rischio) |
| Determinismo | Output completamente deterministico | Non deterministico sotto rumore | Non deterministico per progettazione |
| Consapevolezza dei binari | Parsing PE completo, euristiche | Nessun supporto ai binari | Sì, ma insicuro + lento |
| Resilienza adversarial | Testato contro PE malformati, stringhe ostili | Facilmente aggirabile | Spesso va in crash o classifica erroneamente |
| Prestazioni | 150–300 MB/s (testo), 6–15 MB/s (PE) | Altamente variabili | Estremamente lento |
| Compatibilità CI/CD | Sì — sicuro, deterministico, veloce | Parziale | No — insicuro per le pipeline |
| Stabilità dello schema | Garantita | Rara | Nessuna |
In breve: IOCX è costruito per la realtà adversarial concreta, non per input idealizzati.
Casi d'uso
CI/CD & DevSecOps
- Analizza i binari prima del rilascio
- Rileva URL, IP o segreti accidentali nelle build
- Applica gate di sicurezza con rischio di esecuzione zero
SOC & Incident Response
- Estrai indicatori da alert o dal testo negli appunti dell'analista
- Ispeziona campioni di malware in sicurezza senza esecuzione
- Normalizza gli IOC in JSON strutturato
Threat Intelligence
- Elabora feed su larga scala
- Analizza report non strutturati
- Costruisci pipeline di enrichment su output deterministico
Automazione & Scripting
- Invia log o artefatti attraverso IOCX tramite pipe
- Usa l'API Python per flussi ETL o batch
- Estendi con rilevatori personalizzati
Profili di prestazioni
1. Estrazione IOC grezza (testo, log, buffer)
150–300 MB/s di throughput sostenuto Percorso veloce — nessun parsing PE.
| Rilevatore | Tempo per 1 MB | Throughput |
|---|---|---|
| Crypto | 0.0037 s | ~270 MB/s |
| Filepaths | 0.0041 s | ~250 MB/s |
| IP | 0.0065 s | ~156 MB/s |
| Domini | 0.0035 s | ~300 MB/s |
2. File PE tipici (~39 KB)
- 0.0122 s (tipico)
- 0.0145 s (con euristiche)
- 6–15 MB/s di throughput
3. PE adversarial denso (1.5 MB)
- 0.192 s
- ~7.6 MB/s di throughput
- Attiva anomalie TLS, anomalie strutturali, pattern anti-debug
4. Motore completo (non-PE)
- 1 MB: 0.038 s