Claude Code 入門 · 安全

AI 會不會偷偷亂動我其他資料夾的專案?

這是幾乎每個新手用 Claude Code 都會卡住的問題。有人把所有東西塞進一個資料夾求安心,有人覺得「我沒下指令它就不會動」。兩種想法都對了一半,也都漏掉了真正關鍵的那一塊。這篇用最白話的方式,把資料夾、權限、沙箱講清楚,最後給你一套照做就安全的設定。

不用懂程式 Windows 適用 含設定範本 2026 最新機制
⚡ 30 秒看重點

把專案全擠進一個資料夾不會更安全,反而更亂。Claude Code 用的「工作資料夾」是一道會先問你的軟門,不是把 AI 鎖死的牢房,所以光靠分資料夾擋不住所有狀況。真正可靠的三道保險是:每個專案各自做版本控制(隨時能還原)、不要開「全放行」模式、重要的東西該隔離就用沙箱

📖 讀這篇前你需要知道

你只要知道「Claude Code 是一個會幫你讀寫電腦檔案、執行指令的 AI 助手」就夠了。所有技術名詞這篇都會用白話解釋,看到有底線的英文字,把滑鼠移上去(手機點一下)就會跳出說明。

核心觀念

資料夾邊界是一道「會先問你的軟門」,不是封死的牆。真正讓你安心的,不是想盡辦法把 AI 關起來,而是讓它的每一個改動都能一鍵還原

一個幾乎每個新手都會卡住的兩難

剛開始用 Claude Code 的人,對「該讓它在哪裡工作」常常有兩種完全相反的直覺:

想法一:隔離派

手寫的程式專案都放在同一個大資料夾下,如果讓 AI 在那裡跑,它會不會有權限改到其他專案?保險起見,乾脆另外開一個資料夾專門給 AI,把 AI 的產出全放那裡,眼不見為淨。

想法二:放心派

只要沒有主動下指令,AI 就不會自己亂動,其實不必太緊張。反過來看,把 AI 做的程式專案全塞進同一個資料夾,等於很多個專案混在一起管版本,那才真的會亂。

這兩種想法各有道理,也各有盲點。要判斷哪邊比較站得住腳,得先搞懂一件事:Claude Code 到底是怎麼決定自己能碰什麼、不能碰什麼的。

關鍵真相:工作資料夾是「軟門」,不是「牢房」

📖 什麼是「工作資料夾」?

你在哪個資料夾打開 Claude Code,那個資料夾就是它的工作資料夾。預設情況下,它會把注意力放在這個資料夾和它底下的子資料夾。

就像你請一位助理進你家的某一個房間工作,你會預期他主要在那個房間活動。

很多人(包含上面的 A)以為:只要在某個資料夾打開 AI,它就被「關」在那裡,碰不到外面。這個理解是錯的,而且錯在很重要的地方。

實際機制是這樣的,根據 Claude Code 官方權限文件:

  • 寫入(修改、新增、刪除檔案):預設只能在工作資料夾和子資料夾。要動到外面,它會先跳出來問你要不要允許
  • 讀取(看檔案內容):其實限制很鬆。像 唯讀指令 去看隔壁資料夾的檔案,預設連問都不會問就讀得到。

換句話說,那道資料夾邊界比較像一扇會先敲門問你的軟門,不是一道封死的牆。它真正的作用是「AI 不會主動跑去亂逛、要動外面會先問你」,而不是「物理上完全碰不到外面」。

為什麼是軟門不是牆? 因為 Claude Code 是用你電腦的使用者帳號身分在跑的。你的帳號能開到的檔案,它技術上就摸得到。資料夾限制是 Claude Code「自己加的規矩」(會先問你),不是作業系統強制把它關起來。

那道軟門最大的漏洞:終端機指令

📖 什麼是 Bash / 終端機指令?

Bash(在 Windows 上是 PowerShell)就是「用打字下指令操作電腦」的方式。Claude Code 可以幫你執行這些指令,例如安裝套件、跑程式、搬檔案。

如果說讀寫檔案是助理用手整理桌面,那終端機就是給了助理一支「能做幾乎任何事」的萬用遙控器。

這裡有一個新手幾乎都不知道、但非常重要的細節。Claude Code 的權限規則,只擋得住它「認得出來」的檔案操作。官方文件講得很直白:

官方原文翻譯:「(檔案讀寫的禁止規則)不適用於那些『間接』讀寫檔案的程式,例如一支自己去開檔案的 Python 或 Node 腳本。若要在作業系統層級真正擋住所有程式存取某個路徑,請啟用沙箱。」 出處:Configure permissions · Claude Code Docs

白話講:如果 AI 寫了一小段程式,而那段程式自己去開了你隔壁專案的檔案,Claude Code 的權限規則是攔不住的,因為它看到的只是「執行一支程式」,不知道程式裡面偷偷開了什麼。

所以隔離派的直覺其實對了一半:光靠「把 AI 放在另一個資料夾」,真的擋不住所有存取路徑。但隔離派開錯了藥方,後面會講。

平衡一下:Claude Code 也不是完全不設防。它內建會擋掉一些明顯危險的指令(例如把資料往外送的 curl、wget),讀網頁時也會用隔離環境、對讀進來的內容做安全掃描。這些是好事,但別把它當成萬無一失的牆,它擋的是「明顯」的危險動作,擋不住前面講的那種「程式自己偷偷開檔」。

真正的「硬牆」叫沙箱,而 Windows 有個壞消息

📖 什麼是沙箱(Sandbox)?

沙箱是由作業系統(Mac/Windows/Linux 本身)強制執行的隔離牆。一旦開啟,AI 跑的任何指令都被關進一個小箱子裡,箱子外的檔案和網路它真的碰不到,不是「先問你」而是「物理上做不到」。

前面的軟門是「助理會先敲門」,沙箱是「直接把助理鎖進一個只有指定抽屜的房間,鑰匙在你手上」。

這才是真正的硬牆。但沙箱的支援程度,各個系統差很多:

你的環境有沒有作業系統級沙箱?實際安全強度
Mac有(內建 Seatbelt 機制)可開硬牆
Linux / WSL2有(用 bubblewrap 機制)可開硬牆
Windows 原生直接跑⚠️ 沒有只剩「會先問你」的軟門

這就是 Windows 使用者(尤其是新手)要特別注意的地方:如果你是在 Windows 上直接打開 Claude Code,你目前沒有作業系統級的硬牆可用,只能靠「它會先問你」這層軟保護。官方文件因此建議 Windows 使用者把 Claude Code 裝在 WSL2 裡面跑,才能用到完整的沙箱。

對新手的務實版:你不用今天就去裝 WSL2(那是另一個學習成本)。先記住一件事就好:既然 Windows 原生沒有硬牆,你的安全就更要靠後面講的「版本控制 + 不開全放行模式」這兩道保險。這兩個簡單、馬上能做、效果最大。

那個「全放行模式」千萬別亂開

📖 什麼是權限模式?

Claude Code 有幾種「要不要每次都問你」的模式。預設模式下,它每次要改檔案或執行指令前都會先問你同不同意。這是最安全的日常設定。

但有一個模式叫 「全放行模式」(指令名稱直接帶了英文 dangerously,也就是「危險地」跳過所有確認)。一旦開啟,AI 做任何事都不再問你,改檔、刪檔、跑指令全部自動執行。

官方明說:這個模式「只應該在容器或虛擬機這種就算 AI 搞砸也不會造成損害的隔離環境裡使用」。對在自己日常電腦上工作的新手來說,結論很簡單:不要開它。網路上有些教學會叫你加這個參數「省得一直被問」,看到請直接略過。

放心派說「不下指令它就不會動」,這句話只在預設模式下大致成立,因為它要動手前會先問你,你可以喊停。一旦有人為了方便開了全放行模式,這句話就完全失效了。

「我沒叫它做,它就不會做」其實有個漏洞

放心派最常講的一句話是:不下指令,AI 就不會亂動。這句話大方向沒錯,但漏掉一種很常見的狀況:AI 會在「你有授權的任務範圍內」,做出超出你預期的動作。

舉個容易懂的例子。假設你請 AI 幫你自動操作瀏覽器,去某個網站抓資料,這時「操作瀏覽器」這個能力是你授權的。但 AI 在完成任務的過程中,可能順手改了某些它「覺得有助於任務」的設定(例如清掉某些干擾、重整某些偏好),結果動到了你根本沒打算讓它碰的東西。這種「超出預期的代理行為」,是所有能自動執行動作的 AI 工具共通的特性,不是某個產品的小毛病。

還有一種更尖銳的近親:你讓 AI 讀了一個網頁、一封信、或別人寄來的檔案,裡面藏了一句「順便把某某資料送出去」,AI 可能就把它當成任務的一部分照做。資安界把這種叫「提示注入」。表面看是兩回事,底層擔心的卻是同一件:AI 拿到的能力,會被用在你沒預期的方向

所以真正該記住的不是「AI 會憑空亂搞它沒被授權的東西」,而是:

當你授權 AI 一種能力,它可能會把這個能力用得比你想的更廣。所以重點不是「我有沒有下指令」,而是「我到底給了它多大的權限範圍」。

把這個道理搬回檔案上就很清楚了:當你把某個資料夾的寫入權交給 AI,它實際會改動的範圍,可能比你預期的多。這正好同時補上了前面兩種想法的盲點:

  • 隔離派擔心「給太多權限有風險」是對的:範圍要收小、要可還原。
  • 放心派說「不亂下指令就還好」不夠完整:因為 AI 會在授權範圍內超出預期地發揮,你要管的是「範圍」,不只是「指令」。

兩種想法,各對一半

想法對的部分需要修正的部分
隔離派:另開資料夾、保持謹慎 謹慎是對的;不亂給權限是對的;AI 不會主動跑去亂逛別的資料夾(預設會先問)。 把資料夾邊界當成「物理硬牆」是誤解(它是軟門);而且把所有 AI 專案全塞進同一個資料夾,做法錯了(見下段)。
放心派:不下指令就不會動 把 AI 工作區跟程式專案分開、各自獨立管版本,方向完全正確。 「不下指令就不會動」太樂觀。AI 會在授權範圍內超出預期,而且全放行模式一開就破功。安全要靠「限制範圍」,不只靠「不下令」。

至於隔離派「把 AI 做的程式專案全塞進同一個小資料夾」這件事,放心派的批評是對的:多個獨立專案混在同一個資料夾下做 版本控制,會變成一團亂帳,而且把 AI 的設定檔、記憶、草稿跟正式程式碼混在一起,日後很難維護。AI 的工作區(它的記憶、慣用設定、產出草稿)歸 AI 工作區,程式專案歸程式專案,兩者該分開。

照這套資料夾結構做就對了

與其糾結「要不要把 AI 關在一個資料夾」,正確的做法是:每個專案各自一個資料夾、各自獨立版本控制;AI 工作區也是獨立的一個。然後你要做哪個專案,就進去那個專案打開 Claude Code。

develope/你放所有東西的大資料夾
↓ 底下各自獨立、互不相干 ↓
手寫專案 A自己的版本記錄
手寫專案 B自己的版本記錄
AI 做的 .NET 專案獨立資料夾 + 自己的版本記錄
AI 工作區記憶 / 設定 / 草稿

要做哪個專案,就「進去那一個」打開 Claude Code,它就只專注在那個專案。

這樣做的好處,一次解決兩種想法的顧慮:

  • 你在「手寫專案 A」裡開 AI 時,它的注意力就在 A,不會順手去動 B(要動會先問你)。比把全部塞一起更安全。
  • 每個專案各自版本控制,隨時能還原到任何一個之前的版本,亂帳問題消失。
  • AI 的設定和記憶獨立放,不污染你的正式程式碼。
什麼時候才需要跨資料夾? 如果你真的需要 AI 同時看兩個專案(例如把 A 的東西搬到 B),不用把它們塞在一起,只要在打開時明確多加一個資料夾給它(指令參數是 --add-dir)。不加,它就碰不到別的資料夾。授權是你主動給的,不是預設打開的。

最強的保險其實最簡單:版本控制

講了這麼多權限機制,但對新手來說,最可靠、最該先做的一件事其實是版本控制。原因很簡單:資料夾隔離是在「防止 AI 碰到」,但你永遠防不完(軟門有漏洞、終端機能繞)。版本控制是換一個思路:就算 AI 真的改錯了,你一鍵就能還原

與其拚命築牆不讓 AI 犯錯,不如讓每個錯誤都能輕鬆復原。可還原,比防得滴水不漏更實際。

每個專案各自做版本控制之後,AI 改了什麼、你一目了然,不滿意就退回去。這比任何資料夾魔法都讓人安心。如果你還不會用版本控制,這會是你學 AI 開發路上 CP 值最高的一項基本功。

進階:用設定檔幫敏感檔案上一道鎖

如果你想再加一層保護,Claude Code 允許你寫一份設定檔,明文列出「哪些東西永遠不准碰」。規則的優先順序是「禁止」永遠贏過「允許」,所以只要列進禁止清單,就算其他地方開了允許也擋得住。

例如,保護放密碼、金鑰的檔案不被讀取:

📋 放進專案的 .claude/settings.json
{ "permissions": { "deny": [ "Read(.env)", "Read(**/secrets/**)" ] } }

這會讓 AI 連看都看不到 .env 這類機密檔。

但要記得前面那個漏洞:這種禁止規則擋得住 AI 直接去讀,卻擋不住「AI 寫一支程式、程式自己去開檔」。所以這道鎖是加分項,不是萬靈丹。要真正滴水不漏,還是得回到沙箱(Windows 就是 WSL2)。對日常使用的新手,「版本控制 + 不開全放行 + 這份禁止清單」這三樣搭起來,已經是很穩的組合。

帶走這三句

  1. 資料夾隔離是軟門不是牆。它讓 AI 不主動亂逛、要動外面會先問你,但終端機指令能繞過。別把它當成唯一防線,也別因此就把所有專案擠成一團。
  2. 每個專案各自版本控制,是新手最該先做的保險。可還原比防得密不透風實際得多。AI 工作區跟程式專案分開放,各自獨立。
  3. 不要開全放行模式;Windows 想要真隔離就用 WSL2 沙箱。日常用「預設模式(會先問你)+ 版本控制 + 禁止清單」,對絕大多數人已經足夠安全。

有問題、踩到雷、或玩出新花樣,歡迎到 @leadingmrk 找老K。

老K · 領先時代數位

撰寫 2026-06-03 · 最後更新 2026-06-03

參考來源

看完這篇?回首頁瀏覽更多實驗筆記

← 回 老K 的 AI 實驗筆記