收到來源給的檔案¶
一份內部簡報¶
聯絡了三個星期的人今天傳來一份 PDF,二十幾頁,看起來是內部簡報的匯出檔。
接下來要做的事有三件,順序不能顛倒。確認你收到的跟對方傳出的是同一份,弄清楚這個檔案本身帶著什麼,然後決定報導裡怎麼引用它。
第三件最要緊。同一份文件在組織內部發給不同的人時,每一份可能都不一樣,而差異細到肉眼看不出來。你把原始檔直接交出去或公開,等於替對方指出是誰給的。
先確認兩邊是同一份¶
請來源在他那邊算一次檔案的 SHA-256,你收到之後用檔案雜湊比對算一次,兩串對一下。
命令列本來就算得出 SHA-256,sha256sum、shasum -a 256、Get-FileHash 算出來的值跟檔案雜湊比對一樣。對方不熟命令列的時候,給他那一頁的網址比教他開終端機快。
對得上代表傳輸過程完整。對不上就是中間掉了東西,重傳。這一步做完,後面查到的任何東西都確定屬於原始檔本身。
看清楚這個檔案帶著什麼¶
PDF 用 PDF 頁面整理的「看裡面有什麼」,它會把每一頁的文字抽出來、數一數附件、註解與表單欄位。Office 檔與圖片用檔案 metadata 清除器,它會逐段列出裡面有哪些欄位。
常見的是製作者帳號名稱、公司網域、電腦的使用者名稱、精確到秒的建立與修改時間、編輯過這份檔案的每一個軟體版本。這些欄位本身就足以把範圍縮到幾個人。
註解與修訂記錄也要看。簡報裡刪掉但沒有真的移除的備註欄,PDF 裡蓋著黑色方塊但文字層還在的段落,都算在內。用同一頁的搜尋框查你以為看不到的字,搜尋結果會顯示那段字還留在第幾頁。
文件外流追蹤是怎麼運作的¶
把同一份文件發給二十個人,每一份都做一點點不一樣,事後取得外流版本就知道是哪一份出去的。這個做法有幾種形式,看不見的字元是其中一種。
零寬字元夾在字與字中間,螢幕上完全看不出來,複製貼上會跟著走。同形字換掉幾個字母,肉眼一樣分不出。方向控制字元、標籤字元也能拿來編碼。
把文字貼進隱形字元偵測,它會標出這幾類字元的位置並說明每一類是什麼。
隱形字元偵測能證明有,不能證明沒有。查出來乾淨只代表沒有這幾類已知的字元。用字間距、換行位置、圖片裡幾個像素的差異做的標記,它看不到,而那幾種手法一樣在用。
所以查證的結論永遠不會是「這份檔案可以安全地公開」。
引用要靠重打與遮蔽¶
既然證明不了乾淨,報導裡就不要轉傳原始檔。
引用文字的時候自己重新打一次,不要從原檔複製貼上。重打不會把夾帶的字元帶進你的稿子裡,它們留在原始檔那邊,這是最簡單也最可靠的一步。
一定要用畫面的時候,截圖之後用截圖遮蔽把不該出現的部分填成實心黑,輸出是重新編碼的新檔案,原檔的 metadata 與檔名都不會跟過來。
要把材料交給編輯台、律師或協作的記者,先問一句這個人需不需要原始檔。多數時候他需要的是內容,而原始檔每多傳一手,被指認的機會就多一分。
原始檔怎麼收著¶
原始檔要留,因為查證與日後的爭議都要靠它。留的方式是加密之後放在自己的裝置上。
到密語與密碼產生器抽一組密語,用本機檔案加密封起來。輸出是 age 格式,任何裝了 age 命令列工具的電腦都打得開,日後換設備也不會被這個網站綁住。
這條路徑不只用在內部文件¶
任何一份你沒有製作、卻要拿來用的檔案都適用:
- 讀者或民眾提供的照片、錄音與截圖
- 依法申請取得的公文與會議記錄
- 匿名信箱收到的附件
- 協作對象傳來、你要再往外交的素材
這幾個工具都在你的瀏覽器裡執行,檔案沒有離開裝置。頁面存進裝置之後沒有網路也能用,見離線閱讀。