讓 Claude Code 修改我的正式網站安全嗎?

安全,前提是正式網站絕不是它的第一站。在 Manual 模式下,Claude Code 一開始只能讀取,並會在編輯檔案或執行指令前詢問。加上 git 分支、您審查的 Pull Request、預覽部署,以及合併後檢查線上網址,錯誤的修改就會變成被拒絕的 Pull Request,而不是壞掉的網站。

重點事實

Claude Code 在不詢問的情況下會做什麼?

在 Manual 模式下,它只會讀取:讀取檔案,以及內建的一組唯讀指令,例如 ls、cat 和 git status。編輯與其他指令都要等您核准。其他模式詢問得比較少:

模式行為用在線上網站時
Manual(預設)編輯與指令前都會詢問安全的起點
Plan讀取並提出建議,不編輯原始碼檔案最適合第一次看
acceptEdits接受工作資料夾中的檔案編輯在分支上可以接受
bypassPermissions略過權限提示絕不要用在正式分支上

如何阻止它部署或讀取機密?

把 deny 規則放進儲存庫的 .claude/settings.json;deny 會先於任何 allow 被檢查。Bash 規則只會比對指令的原始寫法,因此部署金鑰也要從這台機器移除,並只允許從已合併的 Pull Request 進行部署。

// 網站儲存庫中的 .claude/settings.json
{
  "permissions": {
    "deny": [
      "Bash(git push *)",
      "Bash(vercel --prod *)",
      "Read(./.env)",
      "Read(./.env.*)"
    ]
  }
}

我可以復原 Claude Code 做過的修改嗎?

只能部分復原。/rewind 可以還原該工作階段中,編輯工具所做的檔案修改,但無法還原由 shell 指令改動的檔案,也無法撤回已部署的內容。真正的復原工具是 git:還原合併提交,然後重新部署。

為什麼要檢查線上網址,而不是相信「完成」?

代理程式回報的是它原本想做的事。建置失敗、快取,或只在瀏覽器中渲染的內容,都可能讓線上頁面與預期不同。請打開已發布的網址,檢視原始碼,確認新的文字與連結確實存在。

逐步操作

  1. 從分支開始. 在任何編輯前,請 Claude Code 建立分支;絕不在正式分支上工作。
  2. 限定任務範圍. 指明它可以修改哪些檔案或頁面,並告訴它不要碰其他任何內容。
  3. 審查 Pull Request. 閱讀差異內容;拒絕任務範圍以外的修改,例如改動首頁。
  4. 檢查預覽部署. 合併前,先打開您的主機為該分支建置的預覽網址。
  5. 合併並檢查線上網站. 正式部署完成後,打開線上網址確認修改;若有誤,就還原合併。

常見錯誤

  • 在正式分支上使用會略過權限提示的模式。
  • 讓它順便「多修一件事」,例如修改首頁或導覽列等任務以外的內容。
  • 沒有打開線上頁面,就相信代理程式說的「完成」。
  • 把 /rewind 當成備份,而不是使用 git。

easyIndex 如何解決

easyIndex 把這套做法用在 AI 搜尋上:您的程式碼代理程式只新增內容頁面,絕不修改首頁或已經運作正常的頁面;每一批頁面都要先經過擁有者核准才會發布;每一頁在提交時經過審查,發布後在線上網站檢查。easyIndex 永遠不會碰觸您的儲存庫。每個網站每月 US$30,7 天免費試用後開始計費。

常見問題

Claude Code 會自己部署嗎?

只有在您允許它執行部署指令,或推送到會觸發部署的分支時才會。請拒絕這些指令,並從經過審查的 Pull Request 進行部署。

只要使用 plan 模式就足夠安全嗎?

Plan 模式不會編輯原始碼檔案,因此用來探索是安全的。若要做修改,就必須離開這個模式,所以分支與審查仍然重要。

它能看到我的 .env 檔案嗎?

在 Manual 模式下,讀取工作資料夾內的檔案不需要核准。若要阻擋,請為 .env 檔案加上 deny 規則。

如果有錯誤的修改進入正式環境怎麼辦?

在 git 中還原合併提交,然後重新部署。工作階段的 /rewind 無法撤回部署。

延伸閱讀

最後驗證日期 .

讓 Claude Code 修改線上網站安全嗎?