Skip to content
KitploitKITPLOIT
StrumentiBlog
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
standalone_tdo — Estrae Intelligenza sulle Minacce Informatiche (CTI) strutturata da documenti PDF, DOCX e TXT utilizzando LLM. Genera flussi di attacco MITRE ATT&CK, opportunità di rilevamento e grafici completi di relazioni tra entità. | Kitploit
Strumenti/GitHubGitHub/blevene/standalone_tdo
Analisi delle VulnerabilitàRaccolta InformazioniThreat IntelligenceMachine LearningPaper e RicercaApprendimento e Formazione
GitHubblevene/standalone_tdo

standalone_tdo

Estrae Intelligenza sulle Minacce Informatiche (CTI) strutturata da documenti PDF, DOCX e TXT utilizzando LLM. Genera flussi di attacco MITRE ATT&CK, opportunità di rilevamento e grafici completi di relazioni tra entità.

Vedi Repository
438 mesi faNon ancora revisionato

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 →
Condividi

TDO Standalone Extractor

Un potente strumento da riga di comando autonomo per estrarre Cyber Threat Intelligence (CTI) da documenti utilizzando Large Language Models con capacità di output strutturato avanzate.

🚀 Caratteristiche

  • Supporto documenti multi-formato: PDF, DOCX, TXT e file Markdown
  • Integrazione LLM avanzata: Modelli Google Gemini con output strutturato e parsing di fallback automatico
  • Schema CTI completo: 12 tipi di entità e 24 tipi di relazione con proprietà ricche
  • Generazione di Opportunità di Rilevamento: Crea regole di rilevamento delle minacce attuabili con supporto di prove
  • Sintesi dei Flussi di Attacco: Genera diagrammi di flusso MITRE ATT&CK basati su prove
  • Affidabilità dell'Output Strutturato: Schemi Pydantic con tasso di successo del parsing JSON del 100%
  • Elaborazione Parallela: Elabora più file contemporaneamente con tracciamento del progresso
  • Portabile e Autonomo: Dipendenze minime con configurazione basata su variabili d'ambiente

📋 Guida Rapida

1. Installazione

root@kitploit:~
# Clona o scarica la cartella standalone-tdo
cd standalone-tdo

# Crea un ambiente virtuale (consigliato)
python -m venv .venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate

# Installa le dipendenze
pip install -r requirements.txt

2. Configurazione

Lo strumento utilizza variabili d'ambiente caricate da un file .env per la configurazione:

root@kitploit:~
# Copia la configurazione di esempio
cp env.example .env

# Modifica .env con le tue impostazioni
# Variabili richieste:
GEMINI_API_KEY=your-google-ai-api-key-here
GEMINI_MODEL=gemini-2.5-flash

Ottenere una Chiave API Gemini:

  1. Visita Google AI Studio
  2. Crea una nuova chiave API
  3. Copia la chiave nel tuo file .env

Modelli Disponibili:

  • gemini-2.5-flash-preview-05-20 (consigliato - veloce ed economico)
  • gemini-2.5-pro-preview-06-05 (più potente, più lento)

3. Utilizzo Base

root@kitploit:~
# Elabora un singolo file con tutte le funzionalità
python tdo_bulk.py report.pdf --flow --opps

# Elabora più file
python tdo_bulk.py file1.pdf file2.docx file3.txt

# Elabora tutti i file in una directory con lavoratori paralleli
python tdo_bulk.py reports/ -j 4

# Genera analisi completa con valutazione
python tdo_bulk.py report.pdf --flow --opps --eval-opps

🎯 Riferimento Riga di Comando

root@kitploit:~
usage: tdo_bulk.py [options] FILE [FILE ...]

Positional Arguments:
  FILE                  One or more files or directories to process

Core Options:
  -o, --output DIR      Output directory (default: ./extracted_data)
  --csv FILE            Export summary to CSV file
  -j, --jobs N          Number of parallel workers (default: 1)
  --retries N           LLM retry count (default: 2)
  --backoff SEC         Exponential back-off base (default: 1.5)

Analysis Features:
  --flow                Generate Attack-Flow JSON
  --opps                Generate Threat Detection Opportunities
  --eval-opps           Evaluate detection opportunities quality
  --debug-opps          Show debug information for opportunity generation

Output Control:
  -q, --quiet           Minimal console output
  -v, --verbose         Debug-level logging
  -h, --help            Show help message and exit

Comandi di Esempio

root@kitploit:~
# Estrazione CTI di base
python tdo_bulk.py threat_report.pdf

# Analisi completa con tutte le funzionalità
python tdo_bulk.py apt_report.pdf --flow --opps --eval-opps

# Elaborazione batch con lavoratori paralleli
python tdo_bulk.py reports_folder/ -j 8 --flow --opps

# Esporta risultati in CSV
python tdo_bulk.py *.pdf --csv results.csv

# Modalità silenziosa per automazione
python tdo_bulk.py reports/ -q -o /var/soc/cti --opps

📊 File di Output

Per ogni file elaborato, lo strumento genera:

Output Primari

  • {filename}_extracted.json: Dati CTI strutturati con schema completo
  • {filename}_{timestamp}.md: Report Markdown leggibile con tutta l'analisi

Output Opzionali (con flag)

  • JSON del Flusso di Attacco: Struttura del flusso MITRE ATT&CK basata su prove (con --flow)
  • Opportunità di Rilevamento: Regole di rilevamento attuabili con prove (con --opps)

🔍 Panoramica dello Schema CTI

Tipi di Entità (12 Tipi)

Tipo di EntitàDescrizioneProprietà Chiave
ThreatActorGruppi di minacce informatichealiases, primary_motivation, first_seen
ToolSoftware legittimofamily, capabilities, kill_chain_phases
MalwareSoftware malignofamily, capabilities, first_seen, last_seen
TechniqueTecniche MITRE ATT&CKid (T1234), description, kill_chain_phases
TacticTattiche MITRE ATT&CKid (TA0001), description
InfrastructureIP, domini, URLtype, tags, first_seen, last_seen
IndicatorHash di file, patternvalue, pattern, valid_from, valid_until
VulnerabilityVoci CVEid, cvss_score, affected_software
CampaignCampagne di attacco nominateobjective, status, first_seen
IdentityOrganizzazioni bersagliotype, description
CourseOfActionMitigazioni, patchtype, description
SourceProvenienza del documentofilename, ,

Tipi di Relazione (24 Tipi)

Relazioni di Attribuzione e Attore:

  • USES_TOOL, USES_TECHNIQUE, CONDUCTS, ATTRIBUTED_TO, TARGETS

Relazioni Tecniche:

  • TOOL_IMPLEMENTS_TECHNIQUE, HOSTS_ON, COMMUNICATES_WITH, VARIANT_OF
  • DROPS, DOWNLOADS, INDICATES, OBSERVED_ON, EXPLOITS

Relazioni Avanzate:

  • MITIGATES, DETECTS, IS_SUBTECHNIQUE_OF, FLOW_CONTAINS_STEP
  • FLOW_USED_BY_ACTOR, OBSERVES, SOURCED_FROM

Tutte le relazioni supportano proprietà come confidence, source, first_seen, last_seen.

💡 Opportunità di Rilevamento

Lo strumento genera opportunità di rilevamento basate su prove con:

Caratteristiche Principali

  • Mappatura delle Tecniche: Collegamenti a specifiche tecniche MITRE ATT&CK
  • Artefatti Osservabili: Indicatori specifici da rilevare
  • Pattern Comportamentali: Sequenze e pattern da monitorare
  • Citazioni delle Prove: Citazioni dirette dai report sorgente
  • Punteggi di Confidenza: Valutazione dell'affidabilità (0.0-1.0)
  • Valutazione della Qualità: Punteggio automatico con ripartizione dei criteri

Esempio di Output

root@kitploit:~
{
  "id": "opp-001",
  "name": "Rileva Iniezione di Processo PowerShell",
  "technique_id": "T1055",
  "artefacts": ["powershell.exe con chiamate WriteProcessMemory"],
  "behaviours": ["Iniezione di processo in processi legittimi"],
  "rationale": "I gruppi APT usano comunemente PowerShell per l'iniezione di processo",
  "confidence": 0.8,
  "source": "PowerShell usato per l'iniezione di processo (T1055)",
  "evidence": [
    "• PowerShell esegue chiamate WriteProcessMemory (riga 45)",
    "• Relazione: ThreatActor USES_TECHNIQUE T1055"
  ]
}

🔗 Sintesi dei Flussi di Attacco

I flussi di attacco migliorati forniscono:

  • Ordinamento Basato su Prove: Passaggi supportati da prove temporali e causali
  • Riferimenti alle Entità: Ogni passaggio fa riferimento a entità CTI estratte
  • Ragionamento Esplicito: Giustificazione dell'ordinamento dei passaggi con citazioni
  • Copertura Completa: Fino a 25 passaggi che coprono l'intero ciclo di vita dell'attacco

Esempio di Flusso di Attacco

root@kitploit:~
{
  "flow": {
    "label": "AttackFlow",
    "pk": "attack-flow--uuid",
    "properties": {
      "name": "Attacco Multistadio APT29",
      "description": "Flusso sofisticato di spear-phishing fino all'esfiltrazione dei dati"
    }
  },
  "steps": [
    {
      "order": 1,
      "entity": {"label": "Technique", "pk": "T1566.001"},
      "description": "Consegna dell'allegato di spear-phishing",
      "reason": "Metodo di accesso iniziale citato nella sezione 2.1 del report"
    }
  ]
}

🏗️ Panoramica dell'Architettura

Componenti Principali

🎯 CLI Principale (tdo_bulk.py)

  • Punto di ingresso con parsing degli argomenti e validazione dell'ambiente
  • Carica la configurazione .env utilizzando python-dotenv
  • Orchestra l'elaborazione batch con tracciamento del progresso

⚙️ Esecutore Batch (tdo_bulk_runner.py)

  • Gestisce l'elaborazione parallela con ThreadPoolExecutor
  • Coordina le fasi della pipeline di estrazione
  • Gestisce callback di progresso e recupero da errori

🧠 Estrattore CTI (tdo_core/extractors/report_processor.py)

  • Parsing dei Documenti: Supporto multi-formato (PDF, DOCX, TXT, MD)
  • Integrazione LLM: Google Gemini con output strutturato
  • Parsing di Fallback: Parsing JSON manuale quando l'output strutturato fallisce
  • Gestione dei Token: Suddivisione automatica per documenti grandi
  • Validazione dello Schema: I modelli Pydantic garantiscono la coerenza dei dati

🔍 Generatore TDO (tdo_core/detection/opportunity_generator.py)

  • Creazione di opportunità di rilevamento basate su prove
  • Mappatura delle tecniche MITRE ATT&CK
  • Valutazione della qualità con criteri di punteggio
  • Modalità di debug per analisi dettagliata

🌊 Sintetizzatore di Flussi di Attacco (tdo_core/flows/attack_flow_synthesizer.py)

  • Generazione di flussi basata su LLM con supporto di prove
  • Fallback basato su regole per flussi semplici
  • Ordinamento dei passaggi con ragionamento esplicito
  • Analisi delle relazioni tra entità

📝 Generatore di Report (tdo_core/report/md_export.py)

  • Creazione di report Markdown leggibili
  • Presentazione dei dati strutturati
  • Integrazione di tutti i componenti di analisi

🎨 Gestione dei Prompt (tdo_core/llm/prompts.py)

  • Template di prompt centralizzati
  • Ottimizzazione dell'output strutturato
  • Buone pratiche per l'interazione con LLM

Flusso dei Dati

root@kitploit:~
Document Input → Text Extraction → LLM Processing → Structured Output
     ↓              ↓                 ↓               ↓
   PDF/DOCX      Clean Text       Gemini API     JSON + Fallback
     ↓              ↓                 ↓               ↓
 Multi-format   Preprocessing    Pydantic Schema  Validation
     ↓              ↓                 ↓               ↓
File Support   Text Cleaning    Structured Data   CTI Graph
                                      ↓
                              Post-Processing
                                 ↓         ↓
                          Attack Flows  Detection Opps
                                 ↓         ↓
                            Markdown Report Export

🛠️ Configurazione Avanzata

Variabili d'Ambiente

VariabileObbligatoriaDescrizioneEsempio
GEMINI_API_KEY✅Chiave API Google AIAIza...
GEMINI_MODEL✅Modello Gemini da utilizzaregemini-2.5-flash-preview-05-20

Guida alla Selezione del Modello

ModelloVelocitàQualitàCostoCaso d'Uso
gemini-2.5-flash-preview-05-20⚡ Veloce🎯 Buona💰 BassoProduzione, elaborazione batch
gemini-2.5-pro-preview-06-05🐌 Lento🏆 Eccellente💸 AltoAnalisi complessa, ricerca

🔧 Risoluzione dei Problemi

Problemi Comuni

Variabili d'Ambiente Mancanti

root@kitploit:~
Error: Required environment variables missing: GEMINI_API_KEY, GEMINI_MODEL

Soluzione: Crea un file .env con entrambe le variabili richieste

Formato File Non Supportato

root@kitploit:~
Skipping unsupported file: document.rtf

Soluzione: Converti in formato PDF, DOCX, TXT o MD

Errori di Elaborazione LLM

root@kitploit:~
Structured Gemini API error: ...

Soluzioni:

  • Controlla la validità della chiave API
  • Verifica la corretta ortografia del nome del modello
  • Prova prima con documenti più piccoli
  • Usa --verbose per log di errore dettagliati

Problemi di Parsing JSON

Lo strumento gestisce automaticamente i problemi di parsing JSON con:

  • Output strutturato come metodo principale
  • Fallback di parsing manuale
  • Riparazione JSON per risposte troncate
  • Recupero elegante dagli errori

Ottimizzazione delle Prestazioni

  • Elaborazione Parallela: Usa il flag -j per più file
  • Selezione del Modello: Usa modelli più veloci per elaborazione batch
  • Modalità Silenziosa: Usa -q per script di automazione
  • Gestione degli Output: Organizza con directory di output personalizzate

Modalità Debug

root@kitploit:~
# Abilita logging verboso
python tdo_bulk.py report.pdf -v

# Debug delle opportunità di rilevamento
python tdo_bulk.py report.pdf --opps --debug-opps

# Esporta log dettagliati
python tdo_bulk.py report.pdf -v > processing.log 2>&1

📦 Dipendenze

Lo strumento richiede Python 3.9+ e questi pacchetti chiave:

  • google-generativeai: Client API Google AI (Gemini) con output strutturato
  • PyMuPDF: Estrazione testo PDF ad alte prestazioni
  • python-docx: Elaborazione documenti Microsoft Word
  • pandas: Manipolazione dati ed esportazione CSV
  • pydantic: Validazione degli schemi e output strutturato
  • python-dotenv: Gestione variabili d'ambiente
  • cleantext: Utility di pre-elaborazione del testo

🚧 Limitazioni

Questa versione standalone:

  • Non include il Knowledge Graph o l'integrazione Neo4j
  • Non supporta funzionalità di database vettoriale per la ricerca di similarità
  • Nessuna capacità di augmentation del recupero in tempo reale
  • Semplificata rispetto alla piattaforma TDO completa

Tuttavia, include tutte le capacità principali di estrazione e analisi CTI necessarie per la maggior parte dei casi d'uso.

🔄 Miglioramenti Recenti

  • Configurazione d'Ambiente: Migrato alla gestione dei file .env con dotenv
  • Output Strutturato: Parsing JSON affidabile al 100% con output strutturato di Google Gemini
  • Schemi Migliorati: 12 tipi di entità e 24 tipi di relazione completi
  • Opportunità di Rilevamento: Generazione di regole di rilevamento basate su prove con valutazione
  • Miglioramenti ai Flussi di Attacco: Potenziati con supporto di prove e ragionamento esplicito
  • Nessun Valore Predefinito Hardcoded: Tutta la configurazione proviene da variabili d'ambiente
  • Gestione degli Errori Robusta: Parsing di fallback automatico e recupero elegante dagli errori

🔒 Considerazioni sulla Sicurezza

Protezione della Chiave API

  • Non committare mai il tuo file .env - è escluso da .gitignore
  • Conserva GEMINI_API_KEY in modo sicuro utilizzando variabili d'ambiente
  • Ruota periodicamente le chiavi API
  • Rivedi SECURITY.md per indicazioni dettagliate sulla sicurezza

Privacy dei Dati

  • Il testo del documento viene inviato all'API Gemini di Google per l'elaborazione
  • Rivedi le politiche di utilizzo dei dati di Google AI prima di elaborare documenti sensibili
  • I dati estratti possono contenere informazioni sensibili (IOC, nomi di organizzazioni, percorsi file)
  • Rivedi gli output prima di condividerli al di fuori della tua organizzazione

Dati di Output

I file JSON e Markdown estratti possono contenere:

  • Indirizzi IP e nomi di dominio (indicatori di infrastruttura)
  • Hash di file e indicatori tecnici
  • Informazioni su organizzazioni e obiettivi
  • Dettagli su attori di minaccia e campagne

Rivedi sempre gli output prima della condivisione pubblica.

Segnalazione di Problemi di Sicurezza

Segnala le vulnerabilità di sicurezza in modo responsabile. Vedi SECURITY.md per i dettagli.

📄 Licenza

Questo progetto è concesso in licenza con la Licenza MIT - vedi LICENSE per i dettagli.

🤝 Contributi

I contributi sono benvenuti! Leggi CONTRIBUTING.md per le linee guida.


Hai bisogno di aiuto? Esegui python tdo_bulk.py --help per un riferimento rapido o consulta la sezione di risoluzione dei problemi sopra.

Scarica lo strumento
document_title
file_size_mb