合約原始碼公開,不表示往後永遠執行同一段邏輯。代理與管理員可以修補或維護,也引入對控制者的信任。判斷升級風險須查當前地址、實作與權限,不能把早期審計標章當成永久安全證明。
一、先找對用途與網路
同一專案可能有代幣、存款、跨鏈與治理合約,不能用任意同名地址代表全部服務。從可信資料確認網路和實際用途。瀏覽器的原始碼驗證表示某份程式與部署對應,不會自動認證專案身分或商業安全。保存地址、當時區塊高度與查詢時間,才可在後續變更時比對。
二、代理地址與實作地址不同
某些代理保留狀態,將呼叫委託給另一份實作。使用者互動地址不變,後面執行程式卻能更換。檢查瀏覽器所列代理、實作與管理介面,再對照專案文件。不同代理模式可能有不同權限;單一欄位變成零地址也不保證沒有其他升級方式,複雜架構要讓專業人員確認。
三、逐項列出能改什麼
| 能力 | 需要查證 |
|---|---|
| 升級 | 誰能換實作及等待條件 |
| 暫停 | 哪些存入或提領動作受影響 |
| 鑄造與參數 | 增發、費用和名單的限制 |
權限名稱不代表固定保障,要看函式、角色及實際限制,不能只接受「去中心化」宣傳。
四、多簽與時間鎖各有範圍
多簽要求指定數量參與者簽名,時間鎖讓管理操作延後生效。示例中二取三管理員需兩人同意,升級另等 48 小時;但若緊急角色可繞過,真正安全界線就不同。這不是配置建議。還需瞭解簽名人是否獨立、等待覆蓋哪些函式,以及使用者是否能在期間退出。
五、暫停不是賠付承諾
緊急暫停可能阻止攻擊擴大,同時阻止正常提領。何時解除與是否補償,須看程式和營運規則,不能把它稱作本金保障。查暫停影響和公告管道。撤銷代幣授權只限制部分未來拉取能力,不能自動取回已存入合約或已轉出的資金,兩者不是同一退出方式。
六、將報告與現在版本對齊
審計應標明程式提交、部署範圍、日期與未處理事項。代理已更新實作時,舊報告的結論不一定適用。核對建議是否真正修補及部署,區分找到問題、提出修正和驗證完成。公開原始碼與驗證通過都只是起點,不等於經濟設計和管理員未來行為已獲認證。
七、建立可撤回的曝險範圍
保存存款合約、授權額度、退出方法與治理通知來源,只開必要額度。看不懂誰能升級、增發或暫停時,列為未知風險而非用行銷詞補上。小額試驗只證明當時的路徑,不證明未來版本安全。較複雜權限或大額情境需要專業檢查,任何「修復權限」服務都不需你的助記詞。
