Documenti PDF

Banco di lavoro PDF

Un PDF che ti arriva via email, che scarichi o che ti passa un cliente non è un foglio di carta: è un formato con un linguaggio di programmazione dentro. Aprirlo con Acrobat o Anteprima significa eseguirlo — il suo JavaScript parte, le azioni all'apertura vengono seguite, e il documento può contattare l'esterno e far sapere a chi l'ha confezionato che è stato aperto, quando e da quale indirizzo IP. Il modulo PDF di Probatio lo apre invece in una finestra propria e in una sandbox a più strati: il documento viene interpretato, non eseguito; la finestra non ha rete; i byte grezzi vengono analizzati in un sottoprocesso isolato dal resto del sistema, con limiti di memoria e di tempo e — su macOS — un profilo del sistema operativo che gli nega rete e scrittura fuori dalla cartella di lavoro. È un lettore sicuro per chiunque debba aprire un allegato sospetto — analista, professionista, curioso prudente — e insieme un banco di lavoro forense per esaminarlo (provenienza, codice attivo, testo nascosto, firma) e lavorarci sopra (pagine, redazione, annotazioni, timbro) senza mai toccare l'originale.

Sicurezza · Difesa in profondità

Tre strati fra il PDF
e la tua macchina

Un PDF non è un foglio di carta: è un formato con un linguaggio di programmazione dentro. Aprire un documento di cui non ti fidi è a tutti gli effetti eseguire codice di un'origine potenzialmente ostile. Probatio non si limita a «disattivare il JavaScript»: separa ciò che il documento chiede di fare da ciò che il sistema gli concede di fare, e lo fa a tre livelli indipendenti — se cade il primo, restano gli altri due.

  • Il documento non viene eseguito — Motore di rendering con eval disabilitato, scripting spento, nessun layer di annotazioni attive: JavaScript, /OpenAction, /Launch e i link non partono. Il codice attivo viene estratto e mostrato.
  • La finestra non può uscire — Una Content Security Policy restrittiva limita le connessioni all'app stessa: nessuna «chiamata a casa», nessuno viene a sapere che hai aperto il file.
  • Il parsing è fuori dall'applicazione — I byte del file sono letti da un helper separato (probatio-pdf-helper) con tetto di memoria, tetto di CPU e timeout. Un PDF malformato fa cadere l'helper, non Probatio, e non porta con sé la sessione di lavoro.
  • Su macOS, il confinamento lo impone il sistema — L'helper gira sotto un profilo sandbox-exec che nega la rete, nega la scrittura fuori dalla cartella di lavoro e nega l'avvio di altri processi. Provato: un tentativo di scrittura in /etc è respinto dal kernel, non da un controllo dell'app.
  • I byte del file non escono dalla sandbox — L'helper produce soltanto risultati derivati (metadati, immagini decodificate, copie ripulite). La consegna verso un percorso scelto da te la esegue il processo principale, fidato: la sandbox non scrive mai dove decidi tu.
  • L'originale non si tocca — Ogni finestra lavora su una copia di sessione. Annulla e ripristina sono a fotografie complete del documento, non a operazioni inverse: un «annulla» che a volte non riporta indietro è peggio di nessun annulla.

Fin dove arriva, e dove no. Il confinamento imposto dal sistema operativo è attivo su macOS (profilo sandbox-exec) e su Windows (Job object con token ristretto): niente rete, niente scrittura fuori dalla cartella di lavoro, nessun processo figlio. Su ogni sistema l'helper gira comunque come processo separato con limiti di risorse, così un file malformato fa cadere l'helper e non l'app. E nessuna sandbox rende innocuo un file: la sanificazione base toglie JavaScript, azioni automatiche e allegati, ma un exploit annidato in uno stream malformato o in un font resterebbe. Per aggredire proprio quel vettore Probatio offre la bonifica profonda: ricostruisce il documento, scarta i programmi font incorporati (rimappando i font su uno standard) e neutralizza le immagini a codec pericoloso — JBIG2 e JPX, la classe dell'attacco FORCEDENTRY. Sia la sanificazione sia la bonifica sono sempre una tua scelta, dichiarata, al momento del salvataggio — e quando il PDF è una prova da versare in atti, tieni presente che ripulirlo lo altera: la copia bonificata non è più l'originale.

Cosa fa

Cosa fa il modulo Banco di lavoro PDF

Lettura in sandbox

Il JavaScript del documento, le azioni all'apertura (OpenAction), i comandi esterni (Launch) e i link non vengono eseguiti, e la finestra non ha accesso alla rete: il codice attivo viene estratto e mostrato, non lanciato.

Parsing isolato dal sistema

I byte del PDF sono letti in un sottoprocesso a parte, con tetto di memoria (1,5 GiB), tetto di CPU (30 s) e timeout: un file malformato o malevolo può far cadere l'helper, non l'app. Su macOS un profilo del sistema operativo gli nega rete, scrittura fuori dalla cartella di lavoro e avvio di altri processi.

Ispezione della provenienza

Programma che ha generato il PDF, date di creazione e modifica, file di origine (xmpMM:DerivedFrom), sistema operativo dedotto dalla stringa del generatore — dichiarato come inferenza, perché nessun PDF registra il proprio sistema — e pacchetto XMP completo.

Codice attivo estratto

Tutti gli oggetti del documento vengono attraversati alla ricerca dei dizionari di azione: JavaScript, Launch, URI, SubmitForm. Il codice si legge per esteso nella colonna Ispezione. Cercarlo solo nelle «posizioni note» ne lascerebbe sempre fuori una.

Testo nascosto e poisoning

Testo bianco su bianco, in modalità di render invisibile o in corpo microscopico: invisibile sulla pagina, ma letto da chi estrae il testo — perizie automatiche, indicizzazione e modelli di intelligenza artificiale. Probatio lo elenca per pagina e ci porta sopra con un clic.

Visualizzazione e ricerca

Zoom, ricerca nel testo con evidenziazione dei riscontri, miniature delle pagine, vista a pagina singola o doppia e doppia visualizzazione (divisione verticale od orizzontale) per confrontare due pagine lontane dello stesso documento.

Pagine, annulla e ripristina

Elimina, ruota, riordina e inserisci pagine da un altro PDF, trascinandolo nel punto scelto fra le miniature: le pagine importate arrivano complete, con gli attributi ereditati dal documento d'origine. Si lavora sempre su una copia di sessione, con annulla e ripristina a fotografie complete del documento.

Redazione reale

L'oscuramento rimuove i glifi dal file, non ci mette sopra un rettangolo nero: il testo redatto non è più estraibile con un copia-incolla né con pdftotext. Vanno via anche le immagini e le annotazioni nell'area; il documento viene riserializzato, così la revisione precedente non resta dentro il file.

Annotazioni

Evidenziazioni in cinque colori, note (post-it) e frecce. Sono annotazioni PDF vere, ciascuna con il proprio flusso d'aspetto: le legge Acrobat, le legge Anteprima, e si tolgono senza toccare il contenuto.

Timbro e libreria immagini

Applica un'immagine (es. una firma PNG con trasparenza) e ridimensionala a proporzioni bloccate. Le immagini incorporate stanno in una libreria con miniature e lightbox, ingrandibili 1:1 alla loro risoluzione reale: i JPEG si salvano bit-identici al flusso incorporato, così l'hash dell'immagine estratta torna.

Firma PAdES verificata sull'originale

Un badge segnala se il PDF è firmato; alla prima modifica avverte che la firma verrà invalidata. Il dettaglio (validità, integrità, firmatario, eIDAS/QSCD, catena, marche, OCSP) si verifica sul file originale, non sulla copia di lavoro: verificare la copia racconterebbe una bugia sul documento ricevuto.

YARA e salvataggio consapevole

All'apertura una scansione YARA avvisa se c'è codice noto come sospetto — e se le regole non si scaricano lo dice: «non ho potuto guardare» non è «pulito». Al salvataggio di un documento con codice attivo scegli tu fra copia sanificata e file originale così com'è.

Passo per passo

Come funziona

  1. Trascina un PDF nel modulo — o usa “Apri con Probatio” dal menu contestuale del sistema. Si apre in una finestra propria.
  2. La sandbox lo interpreta senza eseguirne il JavaScript e senza rete, mentre il parsing dei byte avviene in un sottoprocesso isolato. Il codice attivo è mostrato, non eseguito.
  3. Esamina provenienza, codice attivo, testo nascosto, immagini incorporate e firma; controlla i riscontri YARA nella colonna Ispezione.
  4. Lavora sulle pagine, redigi, timbra e annota: sempre su una copia, con annulla e ripristina.
  5. Salva con nome: l'originale non viene mai toccato. Per un PDF sospetto scegli la copia sanificata, sapendo che sanificare non garantisce l'innocuità e che la copia ripulita non è più l'originale.
FAQ

Domande frequenti

Perché aprire un PDF sospetto con Acrobat o Anteprima è rischioso?
Perché un PDF non è un foglio di carta: contiene un linguaggio di programmazione. Un lettore normale esegue il JavaScript del documento, segue le azioni all'apertura (OpenAction) e può contattare l'esterno — rivelando a chi ha confezionato il file che è stato aperto, quando e da quale indirizzo IP.
Che cosa significa che Probatio apre il PDF «in sandbox»?
Significa tre strati indipendenti. Primo: il motore di rendering ha eval e lo scripting disattivati, quindi JavaScript, OpenAction, Launch e link non partono. Secondo: una Content Security Policy restrittiva impedisce alla finestra qualunque connessione di rete. Terzo: il parsing dei byte grezzi avviene in un sottoprocesso separato, con tetto di memoria (1,5 GiB), tetto di CPU (30 s) e timeout, e su macOS sotto un profilo del sistema operativo che gli nega rete, scrittura fuori dalla cartella di lavoro e avvio di altri processi.
La sandbox funziona anche su Windows?
Sì. Il confinamento imposto dal sistema operativo (niente rete, niente scrittura fuori dalla cartella di lavoro) è attivo sia su macOS, con un profilo sandbox-exec, sia su Windows, con un Job object a token ristretto. Su entrambi, inoltre, il parsing gira in un sottoprocesso separato con limiti di risorse, quindi un PDF malformato fa cadere l'helper e non l'applicazione. macOS e Windows sono le piattaforme desktop supportate.
La sandbox rende innocuo un PDF malevolo?
No, e nessuno strumento onesto lo promette. La sandbox limita ciò che il documento può fare sulla tua macchina; la sanificazione base toglie JavaScript, azioni automatiche e allegati. Per il vettore più insidioso — un exploit annidato in uno stream malformato o in un font — c'è la bonifica profonda, che ricostruisce il documento, scarta i programmi font incorporati e neutralizza le immagini a codec pericoloso (JBIG2/JPX). Anche così non esistono garanzie assolute: per questo la scelta di ripulire resta sempre a te, dichiarata, al momento del salvataggio; e quando il PDF è una prova da versare in atti, tieni presente che ripulirlo lo altera e la copia non è più l'originale.
Che cos'è il testo nascosto in un PDF?
È testo presente nel file ma invisibile sulla pagina: bianco su bianco, in modalità di render invisibile o in corpo microscopico. Non lo vedi leggendo il documento, ma lo legge chiunque ne estragga il testo — analisi automatiche, indicizzazione e modelli di intelligenza artificiale — ed è la via classica del prompt injection o poisoning. Probatio lo elenca pagina per pagina e ti ci porta con un clic.
La redazione rimuove davvero il testo dal PDF?
Sì. Probatio rimuove i glifi dal content stream e li sostituisce con un avanzamento equivalente, così il testo che resta non si sposta; toglie anche le immagini e le annotazioni contenute nell'area, e solo alla fine disegna il rettangolo nero. Il documento viene riserializzato, non aggiornato in modo incrementale, perché un incremental update conserverebbe la revisione precedente con il testo originale. I limiti (glifi con metriche incerte, immagini che intersecano l'area senza esservi contenute) vengono dichiarati e conteggiati, non nascosti.
Modificare un PDF firmato ne invalida la firma?
Sì, e Probatio te lo dice prima: un badge segnala che il documento è firmato, e alla prima operazione che lo modifica compare un avviso esplicito. La verifica della firma (validità, integrità, firmatario, eIDAS/QSCD, catena, marche temporali, OCSP) viene sempre eseguita sul file originale e non sulla copia di lavoro, che potrebbe già essere stata modificata.
L'originale viene modificato mentre lavoro?
Mai. Ogni finestra duplica il documento in una cartella di sessione e tutte le operazioni agiscono su quella copia; l'originale resta intatto sul disco finché non scegli tu dove salvare il risultato. Annulla e ripristina sono a fotografie complete del documento, così un annullamento riporta sempre indietro davvero.