Pubblicità

metanalisys: software Python alpha per l’analisi preliminare dei metadati Office

Illustrazione tecnologica del progetto metanalisys, software Python alpha per l’analisi preliminare dei metadati dei file Microsoft Office.
metanalisys è un progetto open source alpha per l’analisi tecnica preliminare dei metadati Office.
Versione attuale: v0.1.0-alpha.8

Un progetto open source per l’analisi metadati Office con dashboard GUI navigabile: file, cartelle, metadati, hash, indicatori e report tecnici vengono presentati in modo più chiaro. La versione v0.1.0-alpha.8 consolida la dashboard introdotta nella alpha 7, migliora la robustezza della navigazione e mantiene un’impostazione prudente da supporto tecnico di triage documentale.

Python Microsoft Office OOXML Digital Forensics Open Source Alpha Dashboard GUI GUI hardening Sidebar navigabile Analisi cartella Report HTML
Avvertenza importante.

metanalisys è un software in stato alpha. Deve essere inteso come supporto tecnico e sperimentale per una revisione preliminare dei metadati Office. Non sostituisce autorizzazioni, catena di custodia, verbali, procedure operative o valutazione professionale del caso concreto. Il punteggio di rischio mostrato nel report è un indice tecnico di anomalia documentale e non una prova automatica di manomissione.

Che cos’è metanalisys

metanalisys è un software Python open source sviluppato per analizzare file della suite Microsoft Office, estrarre informazioni tecniche e metadati, calcolare hash del file e produrre report leggibili in formato testuale, CSV, JSON e HTML.

Il progetto nasce con un’impostazione prudente: non pretende di sostituire strumenti professionali consolidati, ma vuole offrire una base tecnica trasparente, verificabile e documentata per attività di studio, sperimentazione controllata e analisi preliminare.

Stato del progetto.

La release pubblica più recente è v0.1.0-alpha.8. Questa versione mantiene la natura sperimentale del progetto e consolida la dashboard GUI introdotta nella v0.1.0-alpha.7: navigazione più robusta, stato interno più coerente, sidebar più compatta e migliore gestione dei casi limite come cartelle vuote, file con supporto limitato, file in errore e valori mancanti.

Novità della versione v0.1.0-alpha.8

L’ottava versione alpha non introduce una grande nuova funzione: è una release di stabilizzazione. Consolida la dashboard navigabile della v0.1.0-alpha.7, rafforza la coerenza tra analisi file e analisi cartella, migliora la gestione dei casi limite e rende la sidebar più compatta.

Dashboard più robusta

La navigazione tra dashboard, report tecnico, report file, metadati, hash, risk score e indicatori è stata consolidata per mantenere sempre chiaro il contesto dell’analisi corrente.

Sidebar più compatta

È stato ridotto lo spazio vuoto a sinistra delle voci di navigazione. Le icone restano visibili, i nomi lunghi continuano a essere troncati alla fine e le voci figlie mantengono una lieve indentazione.

Casi limite gestiti meglio

Sono stati rafforzati i controlli su cartelle vuote, cartelle senza risultati, file con supporto LIMITED, file in errore e valori mancanti visualizzati come N/D.

Continuità con le versioni precedenti.

Restano confermati il modello prudente di scoring introdotto nella v0.1.0-alpha.3, l’analisi riepilogativa di cartella introdotta nella v0.1.0-alpha.4, il report HTML standalone aggiunto nella v0.1.0-alpha.5, l’analisi cartella da GUI introdotta nella v0.1.0-alpha.6 e la dashboard navigabile introdotta nella v0.1.0-alpha.7. La v0.1.0-alpha.8 consolida soprattutto robustezza e leggibilità.

Nuova dashboard GUI

La GUI ora distingue meglio tra azioni, risultati e dettagli. La schermata iniziale non mostra più un grande riquadro vuoto, ma invita l’utente a selezionare un file Office o una cartella. Dopo l’analisi, la dashboard centrale presenta i dati principali in forma tabellare e guidata.

Focus della v0.1.0-alpha.8.

Questa release stabilizza la dashboard senza cambiare il core di analisi: la sidebar mantiene meglio la distinzione tra analisi corrente, file analizzati e dettaglio del file selezionato; le voci figlie restano contestuali al file scelto; la chiusura e i passaggi tra nuova analisi, file singolo e cartella risultano più robusti.

AZIONI

🏠 Nuova analisi 📄 Apri file 📂 Apri cartella ▶️ Avvia analisi 💾 Salva report

FILE ANALIZZATI

📄 documento_lungo… 🧬 Metadati 🔐 Hash ⚠️ Risk score 📋 Indicatori 🧾 Report file

DASHBOARD CENTRALE

La parte centrale mostra il riepilogo del file o della cartella, la tabella dei file analizzati, il dettaglio del file selezionato e il report tecnico completo. Sidebar e dashboard scorrono separatamente, così la consultazione resta ordinata anche con molti file.

File Creatore Ultima modifica di Risk score Stato
documento_lungo… Mario Rossi Luigi Bianchi 45 — MEDIO OK

Sidebar navigabile

La barra laterale introduce una navigazione più simile a un piccolo albero di analisi. Dopo una verifica di cartella, la sezione FILE ANALIZZATI mostra i documenti individuati. Cliccando su un file, sotto quel file compaiono le voci di dettaglio: Metadati, Hash, Risk score, Indicatori e Report file.

I nomi file lunghi vengono troncati alla fine, mantenendo sempre visibile l’icona 📄 e la parte iniziale del nome. Passando con il mouse sulla voce, la status bar mostra nome completo e percorso completo.

Analisi singolo file

Il comportamento tecnico dell’analisi del singolo documento resta coerente con le versioni precedenti: il core estrae i dati, calcola gli hash, valuta gli indicatori e produce il report. La differenza è nella presentazione: nella GUI i risultati vengono ora mostrati in una dashboard più leggibile, con accesso separato a metadati, hash, risk score, indicatori e report file.

Metadati principali

La dashboard mostra informazioni come creatore, ultimo modificatore dichiarato, date di creazione e modifica, famiglia Office ed estensione del documento.

Hash e report tecnico

SHA-256 e SHA-512 restano consultabili in una vista dedicata, mentre il report tecnico completo è disponibile nella sezione Report tecnico o Report file.

Analisi riepilogativa di cartella

Dalla release v0.1.0-alpha.4 il progetto può ricevere in input una cartella. I file Office supportati vengono cercati nella cartella indicata, ordinati alfabeticamente in modo case-insensitive e analizzati uno per uno senza interrompere l’intero processo in caso di errore su un singolo file.

Con la v0.1.0-alpha.7 la dashboard cartella è diventata più navigabile; con la v0.1.0-alpha.8 questa navigazione viene consolidata. La vista mostra riepilogo, conteggi OK, LIMITED, ERROR, tabella centrale dei file analizzati e accesso diretto al dettaglio del singolo file tramite sidebar o doppio click sulla tabella.

Colonna Significato
File Nome del documento Office analizzato.
Famiglia Office Tipo del documento: Word, Excel, PowerPoint o Visio.
Creatore Valore ricavato dai metadati Office, quando disponibile.
Ultima modifica di Utente indicato nei metadati come ultimo modificatore del documento. È distinto dal creatore e dalla data di modifica.
Creato Data di creazione dichiarata nei metadati OOXML, se presente.
Ultima modifica Data di modifica dichiarata nei metadati OOXML, se disponibile.
Risk score e livello Indice tecnico di anomalia documentale e relativa classe BASSO, MEDIO, ALTO o CRITICO.
Stato OK, LIMITED o ERROR, in base all’esito dell’analisi del singolo file.
Report tecnico e report file.

Nella nuova GUI la voce 🧾 Report tecnico rappresenta il report dell’analisi corrente: per un file singolo coincide con il report del file, mentre per una cartella mostra il report cumulativo. La voce 🧾 Report file, invece, riguarda il singolo file selezionato all’interno dell’analisi cartella.

Output prodotti

Quando viene analizzata una cartella, metanalisys può produrre quattro file: un riepilogo testuale TXT, una tabella CSV, un report strutturato JSON e un report HTML consultabile direttamente nel browser. Nella GUI il salvataggio non è automatico: l’utente sceglie quando salvare e dove salvare i file.

cartella_folder_summary.txt cartella_folder_summary.csv cartella_folder_summary.json cartella_folder_summary.html

Indice tecnico di anomalia documentale

La release v0.1.0-alpha.3 ha reso più trasparente il parametro che nel report viene mostrato come rischio. Il punteggio è pensato come indicatore tecnico di attenzione: aiuta a individuare elementi da verificare, ma non dimostra automaticamente che il documento sia stato manomesso.

Come leggere il punteggio.

Un livello ALTO o CRITICO indica la presenza di più anomalie tecniche o di anomalie strutturali più forti. Non equivale però a certezza di alterazione, dolo, responsabilità soggettiva o utilizzabilità probatoria autonoma.

[RISK SCORE] Punteggio: 45 Livello: MEDIO Interpretazione: indice tecnico di anomalia documentale, non prova automatica di manomissione. [DETTAGLIO ASSEGNAZIONE PUNTEGGIO] N. | Indicatore | Punteggio | Progressivo —+————————————————-+———–+———— 1 | Autori multipli rilevati | +10 | 10 2 | Software multipli rilevati | +15 | 25 3 | Scostamento significativo tra date | +20 | 45

Pesi degli indicatori principali

Indicatore Punteggio Interpretazione prudente
Autori multipli rilevati +10 Indicatore debole, frequente nei documenti collaborativi.
Percorsi utente multipli +15 Elemento utile per la provenienza, ma non conclusivo.
Software multipli rilevati +15 Compatibile con conversioni o salvataggi tramite suite diverse.
File incorporati rilevati +15 Elemento da verificare, non automaticamente sospetto.
Immagini con software differenti +15 Indicatore utile, ma non prova autonoma di manipolazione.
Macro in formato macro-enabled +15 Presenza coerente con estensioni come .docm, .xlsm o .pptm.
Macro in formato non macro-enabled +60 Anomalia strutturale forte rispetto all’estensione dichiarata.
Data modifica OOXML precedente alla data creazione +40 Incongruenza cronologica da approfondire.
Scostamento tra data OOXML e data filesystem oltre 365 giorni +20 Indicatore prudente: copie e trasferimenti possono alterare le date filesystem.

Soglie del livello di anomalia

Punteggio Livello Significato operativo
0–24 BASSO Nessuna anomalia significativa o soli elementi ordinari.
25–59 MEDIO Presenza di elementi da verificare manualmente.
60–99 ALTO Più indicatori tecnici coerenti richiedono approfondimento.
100 o più CRITICO Presenza di anomalie forti o strutturali da analizzare con particolare attenzione.

Formati supportati

La release v0.1.0-alpha.8 include il supporto ai principali formati Office moderni basati su Office Open XML e un supporto limitato per alcuni formati legacy.

Famiglia Formati supportati Livello di supporto
Word .docx, .docm, .dotx, .dotm OOXML con supporto metadati principale
Excel .xlsx, .xlsm, .xltx, .xltm, .xlam OOXML con supporto metadati principale
PowerPoint .pptx, .pptm, .potx, .potm, .ppsx, .ppsm OOXML con supporto metadati principale
Visio .vsdx, .vsdm, .vstx, .vstm OOXML con supporto metadati principale
Legacy Office .doc, .dot, .xls, .xlt, .ppt, .pot, .pps Supporto limitato: hash, informazioni base e warning esplicito
Nota sui formati legacy.

Per i formati Office legacy il software adotta un comportamento prudente: non dichiara un’estrazione completa dei metadati, ma produce informazioni tecniche di base, impronte hash e un avviso esplicito sui limiti del supporto.

Flusso di analisi

Il flusso operativo è stato progettato per essere leggibile e controllabile. Il software parte dal file selezionato o dalla cartella indicata, calcola gli hash, identifica il formato, prova a estrarre i metadati disponibili e produce i report finali.

File o cartella
Hash
Formato
Metadati
Dashboard / Report

Esempio di avvio

Dopo aver clonato il repository e installato le dipendenze, il software può essere eseguito da riga di comando su un singolo file.

python src/metanalisys.py percorso/del/documento.docx

Per analizzare una cartella da CLI, è sufficiente passare il percorso della directory. In questo caso vengono prodotti i report cumulativi TXT, CSV, JSON e HTML.

python src/metanalisys.py percorso/della/cartella

È disponibile anche una GUI basata su customtkinter. Dalla release v0.1.0-alpha.7 la GUI usa una dashboard navigabile con sidebar laterale, analisi file singolo, analisi cartella e dettaglio del singolo file selezionato; nella v0.1.0-alpha.8 questa interfaccia è stata stabilizzata e resa più compatta.

python src/metanalisysGUI.py

Validazione alpha con campioni sintetici

La release pubblica attuale include test automatici con pytest e una validazione alpha eseguibile basata su campioni sintetici generati a runtime. La verifica della release v0.1.0-alpha.8 è stata consolidata con 90 test automatici superati.

Caso Descrizione Stato nella release
VAL-001 DOCX OOXML sintetico base con metadati controllati Coperto da test automatici sintetici
VAL-002 XLSX OOXML sintetico base con metadati controllati Coperto da test automatici sintetici
VAL-003 PPTX OOXML sintetico base con metadati controllati Coperto da test automatici sintetici
VAL-004 DOCM, XLSM e PPTM con placeholder macro-enabled sintetico Coperto da test automatici sintetici
FOLDER Analisi riepilogativa di cartella con output TXT, CSV, JSON e HTML Coperta da test automatici sintetici
GUI-DASHBOARD Helper GUI per dashboard, sidebar, troncamento file lunghi, navigazione file analizzati e viste dettaglio Coperti da test automatici non grafici
Perché campioni sintetici?

L’uso di campioni sintetici consente di definire una ground truth nota, ripetere i test in modo controllato e ridurre il rischio di esporre dati personali, documenti reali o materiali provenienti da casi concreti.

Sicurezza dei dati locali

La cartella manual_test_folder è pensata solo come area locale di appoggio per prove manuali. Non deve contenere file Office reali da caricare nel repository, file personali, evidenze digitali o dati sensibili. I report generati automaticamente con nome *_folder_summary.* sono ignorati da Git tramite .gitignore.

Indicazione prudente.

Eventuali test pubblici, issue o contributi dovrebbero usare solo campioni sintetici o comunque privi di dati personali e riferimenti a casi reali.

Prossimi sviluppi previsti

Il progetto potrà evolvere attraverso una matrice alpha più ampia, mantenendo separati i test sintetici dai file reali e documentando in modo progressivo i limiti osservati.

Area Esempi di estensione
Robustezza Gestione di file OOXML corrotti, file inesistenti, estensioni non supportate e casistiche di errore più dettagliate.
Validazione Ampliamento della matrice alpha con casi sintetici aggiuntivi e controlli più ampi sui report.
Interfaccia Funzione “Salva tutti”, esportazione coordinata dei report cumulativi e dei report file, filtri, ordinamento della tabella e ricerca nella dashboard.
Documentazione Aggiornamento delle release notes, delle istruzioni d’uso e della documentazione tecnica.

Limiti dichiarati

La natura alpha del progetto è esplicitata nella documentazione e nelle release notes. La copertura non è esaustiva, il supporto ai formati legacy resta limitato e il punteggio di anomalia richiede sempre interpretazione tecnica.

  • Il software non sostituisce una procedura autorizzata e documentata.
  • Il calcolo degli hash non equivale da solo a una valutazione completa del contesto.
  • I metadati Office possono essere incompleti, alterati, sovrascritti o dipendenti dal software usato per generare il documento.
  • I campi “Creatore” e “Ultima modifica di” dipendono dai metadati dichiarati dal file Office e non costituiscono attribuzione personale certa.
  • Il rischio mostrato nel report è un indice tecnico di anomalia documentale, non una prova automatica di manomissione.
  • L’analisi di cartella è attualmente non ricorsiva.
  • La dashboard è una vista di consultazione e non sostituisce il report tecnico completo.
  • Alcune viste dettaglio possono rimandare al report tecnico se un dato non è disponibile in forma strutturata.
  • Il report HTML è standalone e usa elementi nativi del browser, senza JavaScript obbligatorio.
  • I formati legacy hanno supporto limitato.
  • I risultati richiedono interpretazione tecnica e professionale.

Come contribuire

Il progetto è pubblico su GitHub e accetta contributi coerenti con la sua natura alpha. Le issue pubbliche non devono contenere file Office reali, dati personali, evidenze digitali o materiali provenienti da casi concreti.

Eventuali segnalazioni dovrebbero includere informazioni riproducibili: sistema operativo, versione Python, comando usato, formato del file sintetico, comportamento osservato e comportamento atteso.

Documentazione del progetto

La documentazione pubblica include sezioni dedicate ai limiti forensi, alla catena di custodia, ai profili legali, ai test, alla validazione scientifica alpha, al modello di scoring e alle release notes.