本文實測五個專案的權限設定方式,說明如何透過 .claude/settings.json 建立安全白名單,
放行開網頁、讀文字、查看 Log、截圖等唯讀操作,
同時避開 curl、Python、Node、PowerShell 等高風險指令,
兼顧效率與專案安全。
不行,但可以做到接近。
差別在於,你得自己決定哪些指令能放行,不能整批關掉。
用 Claude Code 時,網站稽核、資料庫查詢、瀏覽器操作,
幾乎每個工具呼叫都會跳出來問一次 Allow。
時間久了很煩,但直接關掉全部確認(bypassPermissions)風險也大,
等於完全不設防,正式案子不建議這樣做。
真正能做的是白名單。
在專案的 .claude/settings.json 裡列出「這幾種指令不用再問我」,
符合條件的以後就直接放行。
做法是這樣:
先把過去用過的所有指令紀錄掃一遍,統計哪些出現最多次。
再篩掉「唯讀」的留下來:
開網頁、讀頁面文字、讀 console log、截圖,
這些不會動到任何東西,可以放心放行。
比較麻煩的是那些看起來安全、其實不安全的。curl 是最典型的例子,我們常拿它抓圖、查網站狀態,看起來很單純。
但白名單是前綴比對,你放行 curl -s *,之後 curl -s -X POST 也會一起被放行,
等於幫自己開了一個能把資料寄到任何網址的後門。
白名單是前綴比對,不是逐字比對。
放行的規則越模糊,開的門就越大。
放行的規則越模糊,開的門就越大。
還有 mysql.exe、php.exe -r、python、node、npx、powershell 這類本身就是直譯器的指令,
即使現在只是拿來跑 SELECT 查詢或讀取腳本,
同一條規則以後照樣能拿來執行任意程式碼。
這種一律不放。
能放行的規則其實大同小異,都是同一批唯讀工具:
開網頁、讀文字、讀 log、截圖、列程序清單。
這些是一整天下來按最多次的動作,
放行之後跳出來的確認明顯少很多。
至於排隊執行指令,
Claude Code 沒有內建的佇列功能。
但你可以一次把要做的事講清楚,它會依序做完,不用每一步都等你按確認;
或者乾脆寫成一支腳本,一次跑到底。

