談 AI 資安的時候,大家的注意力常常放在模型身上:它會不會說不該說的、會不會被繞過。這個層面確實不穩定。平常 Claude 道德感都很高,這個不準那個不做的,碰到百度怎麼那麼配合破解。看來 Dario 在百度那段時期有不知名的陰影。
我沒有要從這裡推出什麼結論,我只是覺得,把安全感押在「模型會自己守住」這件事上,本來就不太成立。真正會咬到你的東西,都在你自己的機器上。
第一層:你留在本機的殘渣
掃 ~/.codex/shell_snapshots/,發現一份快照明文 export 了 16+ 組 API key,檔案權限還是 0644 world-readable。
這不是誰攻擊我,是我自己用出來的。工具為了還原 shell 環境把 export 過的東西整包寫進快照,金鑰就這樣躺在那裡,任何跑在這台機器上的東西都讀得到。模型有沒有守住規矩,跟這份檔案存不存在完全無關。
第二層:你隨手給出去的權限旗標
網路上已經有不少 rm -rf 的慘痛案例了。做這件事的時候永遠不要開 dangerously skip permission。
這條看起來像常識,但它跟上一層是同一個病灶:出事的是你給出去的授權範圍,不是模型的判斷力。那個旗標的意思就是「接下來我不問了」,它不會因為指令危險而破例回來問你一次。你在按下去的當下就已經把整個決定權讓掉了。
第三層:你讓它讀進來的不可信輸入
其實普通人不用動用到 Mythos,用 Sonnet 4.6 接 MCP 也能幫忙分析可疑惡意信件。「信件製作粗劣、模板佔位符沒改掉」這點我不講還沒發現。記得提醒模型不認識的連結不要亂點,不然就要有完整沙盒。
這一層有趣的地方在於,它同時是能力也是風險。我讓模型去讀一封我不信任的信,它幫我看出人眼會漏掉的破綻——模板佔位符沒改掉這種東西,不特別提醒還真的不會注意到。但同一個動作也代表我把不可信的內容送進了一個有工具權限的東西面前。所以那句提醒不是客套:不認識的連結不要亂點,不然就要有完整沙盒。
這三層合起來是一份檢查清單
三件事分別發生在三個不同的地方,但它們可以當成同一份清單來過:
一、掃過本機有沒有明文躺著的金鑰,包含工具自己產生的快照目錄,順便看檔案權限是不是 0644。
二、危險操作不開 dangerously skip permission。
三、餵不可信輸入給模型的時候,明講不認識的連結不要點,要嘛就給它完整沙盒。
三條都不需要你懂模型內部怎麼運作,也不需要你判斷這次的 jailbreak 有沒有被修掉。它們全部發生在你控制得到的那一側。
我更早寫過一篇關於能力邊界跟隱私去識別化的文章,那篇談的是「什麼不該送出去」。這篇談的是另一個方向:就算你什麼都沒送出去,殘渣、旗標、輸入這三樣東西還是留在你機器上。
模型會不會說錯話,我管不到。這三件我管得到。