Scanner per CanaryToken / HoneyToken
Rileva URL sospetti (inclusi CanaryTokens) all'interno di documenti Microsoft Office e PDF.
Formati supportati:
- Office Open XML: .docx, .xlsx, .pptx
- .pdf
- .zip (archivi generici)
Perché esiste
CanaryTokens e HoneyTokens (e altri URL di tracciamento o dannosi) sono spesso incorporati nei documenti per segnalare quando un file viene aperto o quando viene recuperata una risorsa esterna. Questo strumento esegue solo ispezione statica: legge il contenuto del file e cerca URL incorporati senza aprire il documento in Office/Acrobat e senza effettuare alcuna richiesta di rete.
Come funziona
Scansione di Office / Zip (DOCX/XLSX/PPTX/ZIP)
- I documenti Office sono contenitori ZIP sotto il cofano.
- Lo scanner legge i membri ZIP direttamente e cerca URL
http:// e https://.
- I domini di schema comuni e attesi vengono ignorati per ridurre il rumore:
schemas.openxmlformats.org
schemas.microsoft.com
purl.org
w3.org
Scansione PDF
Lo scanner cerca URL in:
- Byte PDF grezzi (molti PDF memorizzano URL in chiaro in
/URI(...))
- Stream PDF compressi (
stream ... endstream) tentando la decompressione Flate/deflate
Output
- Se vengono trovati URL sospetti, lo script li stampa e segnala il file come sospetto.
- Se non viene trovato nulla di interessante, il file viene segnalato come normale.
Utilizzo
Esegui su un singolo file:
python CanaryTokenScanner.py /path/to/document.pdf
Esegui su una directory (ricorsiva):
python CanaryTokenScanner.py /path/to/folder
Esempio di output:
URL Found in /path/to/file.docx:
https://example.com/track/abc123
The file /path/to/file.docx is suspicious.
V2: Novità (prestazioni + miglioramenti)
- Niente più estrazione su disco: i file Office/ZIP vengono scansionati in memoria invece di essere estratti in una directory temporanea.
- Scansioni più rapide: evita il sovraccarico del filesystem e letture ripetute.
- Migliore copertura PDF: rileva URL sia nel contenuto PDF grezzo che negli stream compressi con Flate/deflate.
- Risultati più puliti: filtra ancora i domini di schema comuni per ridurre i falsi positivi.
Note / limitazioni
- Questo è un rilevatore euristico di URL. La presenza di un URL non significa automaticamente che sia dannoso.
- Alcuni PDF utilizzano combinazioni di compressione/filtro non coperte dalla semplice decompressione Flate/deflate.
- File crittografati o pesantemente offuscati possono ridurre la precisione del rilevamento.
Dimostrazione dello script

Dichiarazione di non responsabilità
Questo script è inteso solo per scopi educativi e di test di sicurezza. Usalo in modo responsabile e in conformità con le leggi applicabili e le politiche organizzative. Gli autori non si assumono alcuna responsabilità per un uso improprio o per azioni intraprese sulla base dell'output di questo strumento.