別讓 AI 搞砸你的專案!Antigravity 安全模式必學指南
AI 代理人能自動寫程式,但也可能失控刪掉你的 .git!你敢把系統最高權限交給它嗎?別再提心吊膽了!本文將帶你實戰 Google Antigravity 的「安全模式」,學習如何利用沙盒技術,為 AI 劃定安全的活動範圍,精準控制檔案與網路權限。立即掌握這項關鍵技能,讓你的 AI 助理既強大又聽話,安心釋放它的全部潛力!
AI 代理人失控?Google Antigravity Secure Mode 實戰:在受限沙盒中馴服你的 AI Coding 助理
嗨,我是 Eric,浪花科技的資深工程師。如果你的行事曆也顯示 2026 年,那你一定深刻體會到軟體開發的典範轉移(Paradigm Shift)有多瘋狂。我們已經從「Copilot 給建議,人類寫 Code」的時代,正式跨入「AI Agent 直接操作 IDE」的 Agentic Era。
Google Antigravity 確實強大,它能幫我從無到有 Scaffold 一個 Laravel 專案,甚至自動幫我寫好單元測試。但是,身為一個在 production 環境摔過坑的老鳥,我必須嚴肅地問你一個問題:你真的敢讓 AI 擁有你電腦的 Root 權限嗎?
上週我聽到一個恐怖故事:某個新手開發者讓 AI Agent 優化專案結構,結果 AI 認為「刪除所有非必要檔案」是個好主意,然後誤判了 `.env` 和 `.git` 資料夾是「暫存檔」。那一刻,他的本地開發環境瞬間回到了石器時代。這就是為什麼我們今天要聊 Antigravity 的 Secure Mode(安全模式)以及如何在受限沙盒環境中安全執行 AI 指令。
為什麼 AI Coding 需要「防爆沙盒」?
在 2026 年,像 Google Antigravity 或 OpenClaw 這樣的 AI 代理人,本質上是一個運行在你本機的「執行者」。它們不只是生成文字,它們會呼叫 Shell Command、讀寫檔案、甚至發送 HTTP 請求。
這帶來了兩個巨大的風險:
- 破壞性操作: AI 可能誤解 Prompt,執行了
rm -rf或覆蓋了關鍵配置檔。 - 資料外洩: AI 為了 Debug,可能會將你的 API Key 或資料庫連線字串發送到外部伺服器進行分析(別懷疑,早期的 Agent 模型常犯這種錯)。
這就是 Secure Mode 存在的意義。它利用了容器化技術(類似 Docker 但更輕量,基於 gVisor 或 Firecracker),為 AI 劃定一個「受限沙盒環境」。在這個圈圈裡,AI 可以盡情玩耍,但它永遠摸不到你系統的敏感神經。
Antigravity Secure Mode 的運作原理
Google Antigravity 的 Secure Mode 並不是單純的權限開關,它是一個分層防禦系統。身為工程師,我們需要了解它的 ag.config.json 設定檔是如何運作的。
1. 檔案系統隔離 (File System Isolation)
預設情況下,開啟 Secure Mode 後,AI 只能看見專案根目錄下的檔案。但這還不夠,Eric 強烈建議你設定「唯讀區域」與「黑名單」。
以下是一個標準的 Laravel 專案防護配置範例:
{
"security": {
"mode": "strict",
"filesystem": {
"allow_write": [
"app/",
"resources/",
"tests/",
"database/migrations/"
],
"read_only": [
"config/",
"composer.json",
"public/index.php"
],
"deny_access": [
".env",
".git/",
"storage/logs/laravel.log",
"**/*.pem"
]
}
}
}
看懂了嗎?我們允許 AI 修改程式碼邏輯(app/),但禁止它修改核心配置(config/)或讀取環境變數檔案(.env)。這就像是給實習生開權限:你可以寫 Code,但別想碰我的 Server Config。
2. 網路白名單 (Network Whitelisting)
AI 有時候會為了安裝套件而聯網。在 Secure Mode 中,所有的對外連線預設都是被阻擋的(Blocked)。你需要明確列出允許的網域。
這在 2026 年的供應鏈攻擊(Supply Chain Attack)頻傳的環境下至關重要。你不會希望 AI 自動下載一個被駭客植入後門的 npm 套件吧?
{
"security": {
"network": {
"policy": "whitelist_only",
"allowed_hosts": [
"repo.packagist.org",
"registry.npmjs.org",
"github.com",
"api.openai.com" // 如果你的 Agent 需要聯網查詢
]
}
}
}
實戰:在受限環境中執行 AI 重構任務
讓我們模擬一個真實場景:你希望 Antigravity 幫你重構一個龐大的 Controller,但你很怕它把整個專案搞爛。
步驟一:啟動沙盒環境
在你的終端機(Terminal)中,使用 --sandbox 參數啟動 Antigravity:
ag run --task "refactor UserContoller" --sandbox --config ./ag-secure.json
步驟二:指令攔截 (Syscall Interception)
當 AI 嘗試執行 Shell 指令時,Secure Mode 會進行攔截。如果指令屬於高風險操作(例如刪除檔案、修改權限、或是 curl 一個未知的 URL),Antigravity 會暫停執行並彈出 Human-in-the-loop (HITL) 請求。
你會在 IDE 上看到這樣的提示:
[Security Alert] Agent 試圖執行:
rm -rf ./storage/framework/views/*
原因:清除快取以套用變更。
[允許] / [拒絕] / [在沙盒中模擬]
這個「在沙盒中模擬」的功能是 2025 年底更新的神器。它會先在一個臨時的、用完即丟的 File Layer 中執行,讓你看結果。如果沒問題,你再按確認套用到真實檔案系統。
進階防護:資源配額與 Time-to-Live (TTL)
有些 AI Agent 會寫出無窮迴圈(Infinite Loop)的程式碼,導致你的筆電風扇起飛,甚至當機。在 Secure Mode 中,我們可以限制沙盒的資源使用量。
{
"resource_limits": {
"cpu_usage": "50%",
"memory": "4GB",
"execution_timeout": "300s",
"max_file_operations": 1000
}
}
max_file_operations 是一個很有趣的參數。如果 AI 試圖在短時間內修改超過 1000 個檔案(通常意味著它發瘋了,或者正在進行毀滅性的重構),系統會強制終止它的程序。這就是你的最後一道防線。
Eric 的資深工程師碎碎念
我知道配置這些 json 檔很麻煩。你可能會想:「唉唷,我只是寫個小功能,AI 不會那麼笨吧?」
但在浪花科技,我們的原則是:永遠不要信任 AI 的自主性,就像永遠不要信任使用者輸入一樣。
Antigravity 的 Secure Mode 不只是為了防範 AI 做壞事,更是為了防範「幻覺」(Hallucinations)。當模型在 2026 年變得越來越強大,它們也變得越來越自信。一個自信但錯誤的 AI,比一個無知的 AI 更危險。
透過建立受限沙盒環境,我們不是在限制 AI 的能力,而是在保護我們的數位資產。讓 AI 在籠子裡跳舞,它依然是個好舞者,但至少不會踩壞你的地板。
延伸閱讀:
- Google Antigravity 賦予 AI 「上帝視角」?資深工程師教你配置 3 道防線,杜絕 Agent 誤刪專案的慘劇
- 寫 Code 還是管 AI?Vibe Coding 與 Google Antigravity 實戰:用「AI 代理人」重塑你的開發流
- AI 代理人失控前必讀:2026 MCP 架構下的後端資安防線與頻率限制實戰
擔心企業導入 AI 開發工具會造成資安破口?
浪花科技專精於 2026 年最新 AI 開發流程與資安架構導入。無論是 Antigravity 的安全配置,還是企業級的 AI Agent 權限管理,我們都能提供最專業的技術支援。
常見問題 (FAQ)
Q1: 啟用 Secure Mode 會讓 AI 生成程式碼的速度變慢嗎?
會有一點點影響,主要是因為所有的檔案操作都需要經過沙盒層的過濾與攔截(Overhead)。但在現代硬體(如 M4 晶片)上,這種延遲通常在毫秒級別,比起它提供的安全性,這點效能損耗絕對是值得的。
Q2: Antigravity Secure Mode 支援 Windows WSL2 環境嗎?
支援。事實上,在 WSL2 中執行效能甚至比原生 Windows 更好,因為沙盒機制大量依賴 Linux 的 Namespace 和 Cgroups 技術。建議在 WSL2 中配置 Docker 整合以獲得最佳隔離效果。
Q3: 如果我沒有配置 ag.config.json,Secure Mode 還有用嗎?
Antigravity 會有一個「預設安全策略」(Default Policy),它會阻擋大多數高風險的 Shell 指令(如 rm, chmod, chown)和對外連線。但對於專案特定的敏感檔案(如 .env),預設策略可能無法覆蓋,因此強烈建議手動配置白名單。






