本文目錄
先確認洩露的是訂閱連結、設定正文,還是控制器金鑰
訂閱連結不是普通下載網址。URL 中的 token 往往足以反覆取得整份節點設定,所以把它貼進公開群聊、截圖、工單或線上轉換站,應按認證資訊洩露處理,而不是等到流量異常才行動。
還要看暴露範圍。只有訂閱 URL 時,重置連結通常能切斷後續下載;如果完整 YAML 也被公開,其中可能已經包含伺服器位址、UUID、密碼或私鑰,單純換訂閱 token 不會讓這份舊設定失效。Dashboard 的 secret、服務網站帳號密碼則屬於另外的認證資訊,需要分別輪換。
暴露內容與處置範圍
| 暴露內容 | 別人可能獲得什麼 | 必須處理 |
|---|---|---|
| 完整訂閱 URL | 持續下載或更新你的設定 | 重置/吊銷訂閱連結,更新所有用戶端 |
| 原始 YAML 或QR Code | 檔案內現有節點認證資訊 | 聯絡提供方判斷是否需要輪換節點認證資訊 |
| 服務網站帳號 | 方案、裝置、支付或訂閱管理權限 | 改密碼、退出會話、開啟可用的二次驗證 |
| external-controller secret | 在連接埠可達時控制 Mihomo | 輪換 secret,並收緊監聽與防火牆 |
先讓舊認證資訊失效,再刪除帖子和截圖
發現洩露後的第一步是進入訂閱服務自己的面板,尋找「重置訂閱」「更新訂閱位址」「吊銷連結」或類似操作。若面板沒有入口,立即聯絡服務方,說明需要讓舊 URL 失效。只刪除公開訊息不夠:連結可能已經被機器人、瀏覽器快取或其他人儲存。
完成重置後,把新連結先存入密碼管理器,不要立刻傳送給所有裝置。用一個用戶端確認新位址能更新,再透過服務面板或受控本機環境檢查舊位址;舊位址應回傳 401、403、404、失效提示,或不再回傳原設定。若它仍能下載完整內容,吊銷尚未完成。不要在終端命令、截圖或瀏覽器位址欄裡留下第二份完整 token。
應急順序
儲存最少證據
記錄洩露時間、位置和暴露類型,不再轉發完整連結。
吊銷舊 URL
在服務面板重置;沒有自助入口就聯絡服務方。
驗證舊 URL 失效
只看狀態和是否仍回傳設定,不把回應內容寫入公開日誌。
更新一台裝置
確認新連結正常後,再替換其他用戶端。
刪除公開副本
撤回帖子、工單附件、截圖和程式碼片段,降低繼續傳播。
沿著複製路徑找一遍,原連結往往不只出現在一個地方
回想你是怎樣疑難排解的:是否把 curl 命令貼進終端截圖,是否把 URL 放進 Git 儲存庫、聊天記錄、雲筆記、瀏覽器書簽、CI 變數或線上 YAML 檢查器。含 token 的查詢參數也可能進入 Web 伺服器存取日誌和 Shell 歷史。
清理這些副本的目的不是讓舊 token 重新安全,而是避免新成員繼續誤用,也避免搜尋引擎或協作工具長期展示敏感資訊。已經提交到 Git 的內容不能只改最新檔案,還要按儲存庫流程清理歷史並輪換認證資訊;任何歷史重寫都不能替代吊銷。
常被遺漏的位置
- 聊天群、論壇和客服工單附件
- 截圖中的位址欄、QR Code和終端命令
- Git commit、Issue、CI 日誌與環境變數
- Shell 歷史、剪貼板同步和雲筆記
- 線上訂閱轉換、YAML 驗證或測速網頁
- 舊手機、舊電腦和已卸載用戶端的備份
完整設定已經外洩時,要繼續判斷節點認證資訊能否單獨使用
訂閱 token 控制的是「能否取得設定」,節點中的 UUID、密碼、私鑰或其他認證欄位控制的是「能否連線伺服器」。如果公開內容包含後者,攻擊者即使拿不到新訂閱,也可能繼續使用舊節點,直到服務方更換節點認證資訊或讓它們失效。
使用者通常無法自行輪換伺服器端節點認證資訊,應把洩露時間和設定類型告訴服務方,請對方確認舊節點是否會被替換、是否能查看異常裝置或流量。不要把原 YAML 再發一遍證明問題;只提供打碼後的節點名稱、協議類型和必要時間。
逐台替換用戶端,並確認舊設定沒有繼續自動更新
舊連結確認失效後,再處理裝置。先在主裝置中刪除舊訂閱記錄,新增新位址並主動更新。看到新的更新時間、策略群組和節點清單後,把它設為目前設定。其他電腦、手機、路由器和 WebDAV 同步副本也要逐台替換;只在一台裝置更新,會讓另一台定時任務繼續存取舊 token。
路由器上的 OpenClash、伺服器 cron 或容器環境常被遺漏。查看訂閱定時更新日誌,確認沒有持續出現舊 URL 的 401/403。若舊連結雖然失效,卻每小時被裝置請求,說明還有一份設定尚未清理。
替換完成的證據
- 所有正在使用的裝置都能以新連結更新
- 舊連結不再回傳原設定
- 服務面板沒有無法識別的裝置或異常流量
- 定時任務日誌不再請求舊 token
- 同步與備份中沒有把舊位址重新覆蓋回來
不要把原始訂閱連結交給陌生轉換網站
轉換網站必須先讀取你的訂閱 URL,通常還會下載完整設定,才能輸出另一種格式。也就是說,網站營運方有機會看到 token、節點位址和節點認證資訊。頁面使用 HTTPS 只能保護傳輸過程,不能保證網站不記錄、不快取或不再次使用這些內容。
用戶端能直接匯入時,不需要先轉換。確實存在格式差異時,優先使用訂閱服務方自己提供的轉換入口,或在自己控制的裝置上執行可審查的本機工具。即便如此,也要確認輸出連結是否公開可猜、服務是否儲存歷史以及舊 token 能否隨時重置。
遇到轉換需求時怎麼選
| 方式 | 風險判斷 | 建議 |
|---|---|---|
| 用戶端直接匯入 | 原始 URL 只交給自己使用的用戶端 | 優先選擇 |
| 服務方官方轉換 | 服務方本來就掌握訂閱,但仍要看輸出連結和儲存規則 | 確認說明後使用 |
| 自己部署的轉換工具 | 資料留在自己控制的環境,但要負責更新和存取控制 | 適合能維護服務的使用者 |
| 搜尋到的免費轉換網頁 | 營運方、日誌和儲存期限都不清楚 | 不要提交原始連結 |
公開日誌和截圖前,只留下疑難排解真正需要的資訊
訂閱更新失敗時,通常只需要提供用戶端與核心版本、HTTP 狀態碼、Content-Type、發生錯誤原文和發生時間。URL 可以保留網域與路徑類型,但 token、query 參數、使用者名稱、密碼和節點位址應遮蔽。YAML 發生錯誤可截取相鄰結構,用 example.com 和 REDACTED 替代實際值。
日誌裡還可能出現 Authorization、UUID、Dashboard secret 和內部網路位址。脫敏後重新通讀一次,不要只遮住瀏覽器位址欄;QR Code和終端歷史也可能把同一連結再次暴露。
客户端:Clash Verge Rev x.y.z
内核:Mihomo x.y.z
订阅域名:example.com
token:REDACTED
HTTP 状态:403
错误:subscription update failed at 10:32把訂閱當密碼保管,下一次就不需要靠記憶補救
- 儲存
- 用密碼管理器儲存原始連結,設定備份加密,不把 token 寫進檔案名。
- 同步
- WebDAV、雲盤和 CI 使用獨立認證資訊與最小權限,確認共享範圍。
- 截圖
- 先裁掉位址欄、QR Code和設定詳情,再上傳到工單。
- 日誌
- 啟用 URL 脫敏;公開前搜尋 token=、Authorization、password、uuid 等欄位。
- 離職或換機
- 移除舊裝置授權,清理本機設定,並在無法確認副本去向時重置訂閱。
事故真正結束的標誌是:舊訂閱無法使用、必要的節點認證資訊已經輪換、所有合法裝置改用新連結,而且公開位置與自動任務裡不再出現舊值。僅僅「帖子刪掉了」還不算完成。
