你真的知道 OpenClaw 現在跑的版本有多安全嗎?
我以前看到某個套件累積了很多漏洞公告,第一反應是先把它列入高風險清單。後來自己維護 OpenClaw 才發現,歷史告警總數只能當背景資料,不能直接等於現在的風險。真正該問的是:目前執行的版本是哪一個?lockfile 鎖住了什麼?設定和工具權限是否比我以為的更寬?
我的做法是把檢查拆成一個可以重跑的 workflow,不靠印象,也不把某個版本直接貼上「一定安全」的標籤。更新前先備份設定與 lockfile,確認目前版本,再做依賴掃描:
openclaw --version
npm audit
npm ls --all
如果環境允許,我也會把實際套件版本拿去查 OSV,並把結果和 lockfile 一起存檔。這裡的重點不是掃一次就結案,而是讓下次升級前後可以比較:哪些依賴變了,哪些 advisory 已經修補,哪些風險仍需要人工判斷。
我通常會在排程裡做三件事:
- 定期檢查版本與 lockfile 是否出現未預期變更。
- 發現 audit 結果變化時,只通知,不自動升級生產環境。
- 將需要人工確認的項目整理成清單,包含 affected package、修補版本和回滾方式。
最後一層是 OpenClaw 自己的操作面。工具權限、approval 規則、allowlist 和能夠觸發外部副作用的 skill,都要按自己的環境逐項審核。開發機可以接受的權限,不代表共用伺服器也適合。尤其是 command execution、檔案寫入、網路請求這幾類能力,我會先縮小範圍,再逐步放行,並保留可以撤回的設定備份。
這個 workflow 這樣設之後,我看安全問題的角度變了。公告數字適合用來提醒自己不要鬆懈,但決策依據應該是當下的版本、依賴、設定和權限。把它們變成固定檢查項目,才是真的把安全維運自動化搞定。
作者:Jesse