Interfaccia Obsidian con vista Links e Graph per collegamenti tra note
Open source intelligence

Obsidian come motore d’analisi OSINT: quando un’app di appunti diventa un grafo relazionale

Maria Cattini
Maria Cattini

Obsidian per Osint. Marito e moglie, agenti di intelligence russi in due Paesi diversi, mai collegati tra loro attraverso le rispettive identità di copertura — finché qualcuno non ha smesso di cercarli con un database commerciale e ha iniziato a scriverli in note collegate tra loro. È il caso raccontato da Claudia Tietze, fondatrice della boutique OSINT Farallon LLC, nel suo pezzo su Medium “Uncommon OSINT: Obsidian, Semantic Meaning and NLP” (aprile 2024). Nello stesso metodo rientrano l’individuazione anticipata delle località russe dove sono stati trasferiti bambini ucraini, prima della conferma ufficiale, e la ricostruzione di una catena di riciclaggio dentro una struttura societaria complessa. Nessuno di questi risultati nasce da una piattaforma di intelligence a pagamento. Nasce da Obsidian, applicazione gratuita per la gestione di note collegate, piegata a fare un lavoro per cui non è stata progettata.

Il vuoto che il metodo riempie

La maggior parte dei software OSINT copre una sola fase: la raccolta. Scraper, aggregatori, motori di ricerca su persone. Quello che accade dopo — mettere in relazione i frammenti, verificare se due dati sono davvero collegati, comunicare il risultato — resta affidato a fogli di calcolo, bacheche fisiche o alla memoria dell’analista. Tietze parte da un’osservazione precisa: un programma pensato per un giardino digitale di appunti collegati contiene già gli elementi di base che servono a un analista — link bidirezionali, una vista a grafo, un ecosistema di plugin capace di importare ontologie esterne. La domanda operativa è se un software di scrittura possa rivelare relazioni mai digitate esplicitamente dall’analista.

Mappa del sistema: dove vive l’informazione

L’impianto poggia su quattro livelli. Il vault è il fascicolo del caso: una cartella autonoma, una per ogni indagine. Ogni nota contiene un corpo di testo libero più un blocco YAML in intestazione, che funziona come carta d’identità della nota. Wikidata — database strutturato con oltre 100 milioni di voci in più di 300 lingue — copre il livello semantico: importato dentro lo YAML, associa a un concetto relazioni come “sottoclasse di”, “usato da” o “campo di lavoro”. La vista a grafo trasforma ogni nota in un nodo e ogni relazione YAML o menzione testuale in un arco, nativa nell’app ed estendibile con plugin della comunità.

Metodo operativo Obsidian per Osint

  1. Creare un vault dedicato per ogni caso. Isola i link di un’indagine da quelli di un’altra, e permette di bloccare o condividere un singolo vault senza toccare gli altri. Da controllare: se la modalità restricted resta attiva mentre si aggiungono file sensibili.
  2. Importare un termine con il plugin Wikidata Importer (Sam Rose). Si cerca il termine, si passano in rassegna i candidati — una ricerca su “spy” restituisce la professione insieme a un film del 2015, un villaggio belga e una classe di Team Fortress 2 — e si sceglie quello pertinente al caso. Questo passaggio dimostra solo che l’entità Wikidata scelta è quella giusta, non che le relazioni importate siano complete: Wikidata resta una fonte generalista, e i tratti specifici del lavoro di intelligence vanno spesso aggiunti a mano.
  3. Aggiungere un estratto Wikipedia al corpo della nota con il plugin Wikipedia (Jonathan Miller). Importa la prima sezione della voce enciclopedica, dando ai passaggi successivi di NLP e rilevamento link un testo su cui lavorare invece dei soli campi YAML.
  4. Verificare le menzioni non collegate prima di confermare i link. Obsidian distingue tra menzioni collegate (relazioni già confermate) e menzioni non collegate (termini presenti nel testo o nello YAML ma non ancora agganciati). Ogni menzione non collegata richiede una decisione umana: collegarla con le doppie parentesi quadre, o lasciarla in sospeso. È qui che il giudizio dell’analista, non il plugin, fa il lavoro di verifica.
  5. Eseguire gli algoritmi di Graph Analysis (SkepticMystic ed Emile van Krieken) una volta indicizzato il vault con il plugin NLP. Il punteggio HITS distingue le note-hub dalle note-autorità; il punteggio Jaccard misura quanto due note specifiche abbiano in comune. Cosa dimostra: HITS segnala i concetti strutturalmente centrali, utile per stabilire quali note meritano un riesame approfondito; Jaccard segnala sovrapposizioni candidate tra due entità nominate. Cosa non dimostra: causalità o intenzione — un punteggio Jaccard alto tra due aziende indica vocabolario condiviso dentro il vault, non proprietà comune confermata. È una pista da verificare sui documenti originali, non un risultato finale.
  6. Visualizzare con Graph Link Types (natefrisch01) e Juggl (Emile van Krieken). Aggiungono archi etichettati e colorati, con ricentraggio interattivo su un nodo selezionato — utile per tracciare un percorso relazionale specifico (spia → agenzia di intelligence → controspionaggio) invece di leggere lo YAML grezzo.
  7. Costruire una canvas di lavoro con Link Exploder (Ben Hughes) e Semantic Canvas (Aaron Gillespie). Link Exploder popola automaticamente una canvas con i link in entrata e in uscita di una nota; Semantic Canvas mostra le triple sottostanti e visualizza card vuote per entità citate nello YAML ma non ancora trasformate in note — un promemoria diretto di cosa manca ancora da raccogliere.
Obsidian come motore d'analisi OSINT: quando un'app di appunti diventa un grafo relazionale

Criticità

Il metodo dipende dallo YAML che l’analista disegna da solo caso per caso — tracciare celle di spionaggio per luogo d’arresto, gestore e identità di copertura richiede uno schema costruito a mano ogni volta, senza template predefinito per il lavoro di intelligence. Obsidian rifiuta certi caratteri nei titoli delle note: una voce Wikidata con i due punti fallisce l’importazione senza segnalarlo, e richiede un aggiramento separato. Sul piano della sicurezza, diversi plugin chiamano servizi esterni, quindi i dati del vault possono uscire dalla macchina locale; per questo Tietze consiglia di popolare prima i termini Wikidata e bloccare il vault solo dopo, prima di aggiungere i file del caso vero e proprio. Infine, punteggi come HITS o Jaccard possono risultare distorti semplicemente perché alcune note hanno ricevuto un estratto Wikipedia e altre no — un artefatto dell’arricchimento disomogeneo, non delle relazioni reali sottostanti.

Livello analitico

Lo schema strutturale degno di nota è la separazione deliberata tra menzioni collegate e non collegate. La maggior parte degli strumenti a grafo mostra solo gli archi già confermati; il pannello delle menzioni non collegate di Obsidian tiene visibili le connessioni candidate senza forzare una decisione prematura, riproducendo meglio il modo in cui un analista lavora davvero su prove ambigue. Un secondo schema: affiancare un’ontologia generalista (Wikidata) a uno YAML costruito su misura per il singolo caso fa sì che un vault serva due scopi insieme — eredita una copertura semantica ampia e risponde comunque alla domanda ristretta di un’indagine specifica, tipo chi condivide un gestore o un’azienda di copertura dentro una rete di spionaggio.

Obsidian non è mai stato progettato per tracciare reti di spionaggio o strutture societarie. Il fatto che ci riesca, con soli plugin gratuiti e uno schema YAML ben costruito, è il punto: la leva di un analista nasce spesso dal piegare un software generico verso una forma che il produttore non aveva previsto, non dall’aspettare un prodotto costruito apposta.