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 un limite di tempo e — su macOS — anche limiti di memoria e di CPU e 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 un timeout e, su macOS, con tetto di memoria e di CPU. 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 completo imposto dal sistema operativo è attivo su macOS (profilo sandbox-exec): niente rete, niente scrittura fuori dalla cartella di lavoro, nessun processo figlio, limiti di memoria e di CPU. Su Windows è parziale: l'helper gira in un Job object del sistema operativo, con memoria e CPU limitate e senza poter avviare altri processi, ma rete e scrittura su disco non sono ancora negate. 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 un timeout, un tetto di memoria (1,5 GiB) e di CPU (30 s per ogni processore che può usare, fino a 16): 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; su Windows gira in un Job object che limita memoria e CPU e gli impedisce di avviare 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'è.

Stampa senza aprirlo altrove

Le pagine sono disegnate dallo stesso motore in sandbox della vista e passate al dialogo di stampa del sistema: il PDF non viene consegnato a un altro programma, quindi stampare un documento sospetto non significa aprirlo con Acrobat o Anteprima. Si stampa ciò che si vede, modifiche e redazioni comprese.

Testo selezionabile

Il testo del PDF si seleziona e si copia come in un lettore normale, senza che il documento esegua nulla.

Versioni salvate e confronto

Un PDF salvato più volte conserva le versioni precedenti: Probatio le elenca con data, programma e firme che coprono ciascuna, le apre come file a sé e le confronta con l'attuale, pagina per pagina, con la mappa delle differenze. È il modo di vedere che cosa è cambiato dopo una firma.

Livelli, allegati, campi, indice

Livelli accesi e spenti (anche quelli nascosti all'apertura), file allegati con impronta, campi del modulo esportabili in CSV e JSON, indice e collegamenti (mai aperti), caratteri e immagini incorporati con i metadati EXIF rimasti nei JPEG.

Scorrimento continuo

Le pagine scorrono una sotto l'altra, e la pagina più visibile è quella su cui lavorano gli strumenti; «Pagina per pagina» resta nel menu Layout. Miniature e colonna Ispezione si chiudono e la scelta viene ricordata; la barra degli strumenti sta su due righe fisse, il documento sopra e gli strumenti sotto.

PDF scritti da programmi datati

I PDF di Crystal Reports e simili, con le tabelle interne scritte fuori standard, si aprono: Probatio corregge la lettura in memoria, senza toccare il file.

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 un timeout, e su macOS con tetto di memoria (1,5 GiB) e di CPU (30 s per processore, fino a 16) e 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?
In parte. Su Windows valgono i primi due strati — nessuno script eseguito, nessuna rete dalla finestra — e il parsing gira in un sottoprocesso separato con un limite di tempo, quindi un PDF malformato fa cadere l'helper e non l'applicazione. Il confinamento imposto dal sistema operativo (niente rete e niente scrittura fuori dalla cartella di lavoro per l'helper, limiti di memoria e CPU) oggi è attivo solo su macOS: su Windows non ancora.
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.