−25%

Windows 年繳方案適用,至 10 月 31 日。 檢視方案

EQVPS
開始使用

MCP 安全護欄:AI 代理的安全權限

在把伺服器權杖交給 AI 代理之前,先弄清楚它能碰到什麼。EQVPS 全部 45 個 MCP 工具按風險分級、伺服器端強制執行的限制,以及我們自己會用的設定。

最後核實: 2026-10-04 · MCP 伺服器 1.6.0 · 45 個工具(客戶權杖)

MCP 權杖就是接上了 API 的帳戶密碼。把它交給代理,您就多了一個永不疲倦的使用者:您讓它讀哪個頁面它就讀,它的上下文裡最後一條指令說什麼,它就做什麼。大多數時候這正是您想要的。這一頁講的是剩下的那些時候。

下面的內容都在頁面頂部的日期對線上伺服器核實過:工具列表來自 https://mcp.eqvps.com/mcp 的 tools/list,限制來自 API 本身。如果您剛開始接觸,先看連線 MCP 用戶端和 API 權杖,再回來讀。

威脅模型:實際會出什麼問題

按我們遇到的頻率排序,有三種情況:

  1. 代理理解錯了。 "把測試機清理一下"變成了重灌另一台伺服器。沒有惡意,只是模型把指令裡沒說清的地方自己補上了。
  2. 提示注入。 代理讀到一段不是您寫的文字(README、客服回覆、抓取來的網頁),這段文字讓它去做某件事。如果代理拿著全權限權杖,被注入的指令也就擁有全部權限。
  3. 權杖洩露。 它出現在 shell 歷史、公開儲存庫、共享的 MCP 設定或某一行記錄裡。

MCP 伺服器會檢查權杖是否有效、伺服器是否屬於該帳戶(或已委派給它)。它不知道您本來想做什麼。下面每一道護欄都只回答一個問題:如果指令是錯的,最多能造成多大損失?

全部 MCP 工具,按風險分級

客戶權杖可見 45 個工具(MCP 伺服器 1.6.0)。經銷商權杖(rk_…)看到的是另一套 30 個經銷商工具,看不到這裡的任何一個,所以這個端點總共有 75 個。您的用戶端透過 tools/list 只會拿到屬於自己的那一套。

本頁按風險等級給工具分類。每個工具的參數和呼叫範例見參數參考;所有工具的一行說明(含 30 個經銷商工具)見完整列表。

我們還沒有提供 MCP 工具註解(readOnlyHint、destructiveHint),所以用戶端無法自行分類。請按下面的分級手動設定核准。

第 0 級 — 公開,無需權杖(5)

工具作用
get_started一次返回完整流程:該呼叫哪些工具、按什麼順序
list_plans方案、價格、系統映像
sandbox_pricing沙箱價格
register_account建立新帳戶並返回其權杖
login電子郵件 + 密碼 → 權杖

第 1 級 — 讀取帳戶,無副作用(15)

工具作用注意
whoami帳戶 id、姓名、電子郵件
get_balance預付餘額
list_vps執行中、開通中和已暫停的伺服器
get_vps_status狀態、設定、存取資訊帶 reveal: true 時會返回 root 密碼
get_vps_metrics一段時間內的 CPU、記憶體、網路、磁碟
get_upgrade_options伺服器無需重灌即可切換的方案
list_delegations您把存取權給了誰
list_delegated_to_me別人委派給您的伺服器
list_tickets您的工單
get_ticket一張工單及其全部對話工單內容對代理來說是不可信輸入
list_sandboxes您的沙箱
get_sandbox一個沙箱及其用量
get_task背景任務的輸出
download_file從沙箱讀取一個小檔案
get_download_url指向沙箱中某個檔案的短期連結連結過期前,任何拿到連結的人都能下載

第 2 級 — 改變狀態,不花錢(17)

工具作用注意
power_vpsstart / stop / rebootstop 就是 stop:服務會停掉
set_hostname修改伺服器名稱改的正是 confirm 比對的那個值
undo_cancel撤銷已安排在週期末的取消
refresh_token發新權杖,舊權杖立即作廢之後記得更新靜態設定
set_password帳戶還沒有密碼時設定密碼持有權杖的人可能搶在您前面設定
topup_balance儲值帳單 + 加密貨幣付款連結付款需要錢包
pay_invoice未付帳單的付款連結同上
accept_delegation接受委派邀請
revoke_delegation結束委派
create_ticket / reply_ticket / close_ticket工單代理會以您的名義給客服寫信
run_code / exec_command在沙箱裡執行程式碼只在沙箱裡,不在您的 VPS 上
kill_task停止沙箱中的背景任務
upload_file / get_upload_url把檔案放進沙箱

第 3 級 — 花錢、銷毀資料或授予存取權限(8)

工具作用伺服器端檢查
order_vps下單購買伺服器,從餘額付款餘額不足 → 產生未付帳單,不扣款
change_plan不重灌更換方案,差價從餘額扣除confirm: true;餘額不足 → 402
create_sandbox啟動計費沙箱餘額為零 → 402
reinstall_vps清空磁碟並安裝新系統confirm = 準確主機名稱或 DELETE;每分鐘 4 次
reset_password新 root 密碼,舊密碼失效confirm = 主機名稱或 DELETE;每分鐘 6 次
cancel_serviceend_of_period(預設,可撤銷)或 immediate(立即銷毀伺服器)immediate 需要 confirm = 主機名稱
kill_sandbox刪除沙箱及其檔案無
delegate_service授予他人某台伺服器的操作員權限僅限所有者;對方需接受

工具集變更記錄

日期伺服器版本變更對風險的影響
2026-10-031.6.0新增 refresh_token;權杖預設有效期 1 年第 2 級
2026-10-031.5.0undo_cancel、get_upgrade_options、change_planchange_plan 會花餘額 → 第 3 級
2026-10-031.1.013 個沙箱工具create_sandbox 花錢、kill_sandbox 銷毀資料 → 第 3 級

目前執行的版本是公開的:curl -s https://mcp.eqvps.com/healthz。版本一變,這張表也會跟著更新。

餘額就是花費上限

EQVPS 採用預付費。沒有綁定的信用卡、沒有信用額度、不能透支:代理最多隻能花掉餘額裡現有的錢。會花錢的工具有三個:order_vps、change_plan 和 create_sandbox。您現有伺服器的續費也從同一筆餘額里扣。

代理可以發起付款請求,但付不了款。topup_balance 和 pay_invoice 傳回的是加密貨幣付款連結,背後沒有錢包,連結什麼也做不了。也沒有提領介面:餘額裡的錢只能在您的帳戶裡購買服務,轉不出去。立即取消時,未使用的金額同樣計入餘額。

有一個提醒,而且很重要。如果為了限制代理把餘額壓得很低,您自己伺服器的續費就會開始失敗,伺服器會進入寬限期。我們的經驗法則是:保留一個續費週期所需的金額,再加上代理目前任務的預算。代理預算指南詳細講了怎麼算。另外,如果您給代理配了一個有錢的獨立錢包,那個錢包就成了第二個上限,同樣需要盯著。

最小權限:(目前)沒有隻讀權杖

直說:每個客戶權杖的權限都和控制台裡的帳戶一樣。權杖的名稱和有效期可以設定,權限範圍(scope)不能。

目前能做到的最窄權限是委派。給代理開一個餘額為零的獨立帳戶,再把一台伺服器委派給它:

delegate_service  { "service_id": "EQ-XXXX", "email": "agent@yourdomain.com", "expires_days": 30 }

用 REST 也一樣:

curl -s -X POST "https://api.eqvps.com/api/v1/eqvps/services/EQ-XXXX/delegations" \
  -H "Authorization: Bearer $EQVPS_TOKEN" -H "Content-Type: application/json" \
  -d '{"email":"agent@yourdomain.com","expires_days":30}'

邀請必須在用該電子郵件登入的狀態下接受(accept_delegation),expires_days 可設為 1 到 365。帶截圖的分步說明:委派存取權限和文件中的存取權限。

被委派帳戶可以被委派帳戶不能
檢視這一台伺服器的狀態、指標和歷史檢視您的其他伺服器、餘額或帳單
開機、關機、重新啟動取消、續費或更換方案
設定主機名稱和反向 DNS購買附加服務或 IP
重設 root 密碼開啟網頁控制台
重灌系統把伺服器再委派給別人

注意左列最後兩行。被委派者花不了您的錢,但能把這台伺服器清空。凡是代理能重灌的伺服器,都請開啟備份。

權杖衛生

一個代理一個權杖,並且起好名字。 在 控制台 → 設定 → 給代理用的 API 權杖 中建立,或者:

curl -s -X POST "https://api.eqvps.com/api/v1/eqvps/auth/tokens" \
  -H "Authorization: Bearer $EQVPS_TOKEN" -H "Content-Type: application/json" \
  -d '{"name":"backup-agent","expires_in_days":90}'

權杖只顯示一次。有效期 1 到 1825 天,不填則為 365 天。給代理用的話,我們會選 90 天。

把它存在只有您能讀的檔案裡,不要放進儲存庫、不要寫進提示詞,也不要放在到處複製的 shell 變數裡:

mkdir -p ~/.config/eqvps && chmod 700 ~/.config/eqvps
( umask 077; read -rsp 'EQVPS token: ' T; echo; printf 'EQVPS_TOKEN=%s\n' "$T" > ~/.config/eqvps/agent.env )
ls -l ~/.config/eqvps/agent.env   # 應為 -rw-------

然後在代理的服務裡用 EnvironmentFile=(systemd)或 set -a; . ~/.config/eqvps/agent.env; set +a 載入。

到期前輪換。 refresh_token 工具或 POST /auth/tokens/{id}/refresh 會簽發一個同名的新權杖,並立即作廢舊權杖。如果權杖是寫死在 MCP 用戶端設定裡的,輪換後馬上更新設定,否則下一次工作階段會收到 401。

檢查誰在用什麼: GET /auth/tokens 會列出每個權杖的名稱、到期時間和 last_used_at。出現您不認識的權杖,或者在您關掉代理之後仍被使用的權杖,就是警報。

權杖洩露時

按這個順序處理:

  1. 撤銷它。 控制台 → 設定 → 給代理用的 API 權杖 → 撤銷,或 curl -s -X DELETE -H "Authorization: Bearer $EQVPS_TOKEN" https://api.eqvps.com/api/v1/eqvps/auth/tokens/<id>。從下一個請求起即失效。
  2. 查詢新權杖,凡不是您建立的,一併撤銷。
  3. 評估波及範圍: 每台伺服器的服務記錄、帳單和餘額,以及 list_delegations 裡有沒有您沒授予過的存取權。
  4. 更換 root 密碼,凡是這個權杖能看到的伺服器都要換。帶 reveal: true 的 get_vps_status 會交出 root 密碼,所以權杖洩露就等於 root 密碼洩露。順便檢查一下 ~/.ssh/authorized_keys。
  5. 關上密碼這扇門。 如果您的帳戶從來沒設過密碼,持有權杖的人可能已經用 set_password 設了一個。用郵件驗證碼登入,然後修改密碼。

第 5 步的預防不花一分錢:現在就自己設定帳戶密碼,之後任何人再呼叫 set_password 都只會得到 409。

人工確認

伺服器端強制執行的內容:

  • reinstall_vps、reset_password 和 type: immediate 的 cancel_service 要求 confirm 等於準確的主機名稱(重灌和重設密碼也可以用 DELETE)。
  • change_plan 要求 confirm: true。
  • 預設取消方式是 end_of_period:伺服器執行到已付週期結束,undo_cancel 可以撤銷。
  • 每個帳戶的頻率限制:重灌每分鐘 4 次,重設密碼每分鐘 6 次,電源操作每分鐘 20 次,下單每分鐘 20 次。足以防止陷入迴圈的代理把同一件事做五十遍,但擋不住一次錯誤呼叫。

要清楚 confirm 是什麼。它能防止代理憑一句"清理一下"就動手。它擋不住攻擊者,因為主機名稱只需一次 get_vps_status 呼叫就能拿到。真正的核准在您的 MCP 用戶端裡。多數用戶端都能在每次呼叫工具前詢問:第 0、1 級放行,第 3 級一律詢問。在支援按工具設定權限的用戶端裡,例如 Claude Code 的 settings.json(伺服器以 eqvps 名稱註冊):

{
  "permissions": {
    "ask": ["mcp__eqvps__order_vps", "mcp__eqvps__change_plan", "mcp__eqvps__create_sandbox", "mcp__eqvps__reset_password", "mcp__eqvps__delegate_service"],
    "deny": ["mcp__eqvps__reinstall_vps", "mcp__eqvps__cancel_service", "mcp__eqvps__kill_sandbox"]
  }
}

再在代理的指令里加一行。它本身算不上安全措施,但能減少"理解錯了"的情況(保留英文即可,模型理解起來一樣):

Never call reinstall_vps, reset_password, cancel_service (type=immediate), change_plan,
order_vps, create_sandbox, kill_sandbox or delegate_service unless the human has typed
the target server's hostname in this conversation for that specific action.

如果代理是用郵件驗證碼登入,而不是持有長期權杖,請看代理透過 MCP 登入。

審計:事後能看到什麼

  • 權杖列表(GET /auth/tokens,或 設定 → 給代理用的 API 權杖):名稱、建立時間、到期時間、last_used_at。這就是為什麼要按代理給權杖命名。
  • 服務記錄(控制台,伺服器頁面):電源操作、重灌、密碼重設、方案變更、付款,每條都有時間和操作方:您、支援或自動。它不會告訴您是哪個權杖或哪個被委派者操作的,只說明操作來自您這一方。
  • 帳單和餘額:每一筆扣款與入帳。
  • list_delegations:誰有權存取什麼,到什麼時候為止。

服務記錄裡的這個空白,就是目前伺服器端審計的真實邊界。如果您需要知道哪個代理做了什麼,就在代理一側記錄每次工具呼叫及其參數(去掉金鑰)。

我們會用的設定

對於管理一台生產伺服器的代理:

  1. 為代理單獨開帳戶,餘額為零,伺服器以 expires_days: 90 委派。
  2. 您的所有者權杖留在自己手裡,不出現在任何代理設定中。
  3. 為這台伺服器開啟備份,因為被委派者可以重灌。
  4. 在用戶端裡把第 3 級工具設為 "ask" 或 "deny"。
  5. 代理的權杖放在權限為 600 的檔案裡,到期前重新整理。

如果代理需要下單買伺服器或執行沙箱,委派就不夠了,因為它需要餘額。這時餘額就是您的上限:按任務儲值,給權杖起名,每週看一次 last_used_at。如果唯讀權杖會改變您部署代理的方式,請透過支援告訴我們:正是這類回饋決定了我們接下來做什麼。

常見問題

可以給 AI 代理唯讀權限嗎?

用權杖目前做不到:每個客戶權杖的權限都和您在控制台裡的帳戶相同。最接近的辦法是委派:給代理單獨開一個沒有餘額的帳戶,把一台伺服器委派給它。它能檢視和操作這台伺服器,但不能花錢、不能取消、不能開啟控制台,也不能再轉委派。它仍然可以重新啟動、重設 root 密碼和重灌系統,所以請為這台伺服器開啟備份。

怎樣限制代理的花費?

靠預付餘額。只有三個工具會花錢(order_vps、change_plan、create_sandbox),它們都從餘額扣款;餘額不足時返回 402 或一張未付帳單。代理可以產生儲值或付款連結,但付款需要加密貨幣錢包,所以只能由人來付。沒有綁定的信用卡,也不能透支。

什麼能阻止代理刪掉我的伺服器?

reinstall_vps、reset_password 和立即執行的 cancel_service 都要求 confirm 等於準確的主機名稱(重灌和重設密碼也可以填 DELETE)。預設的取消方式是 end_of_period:伺服器繼續執行,undo_cancel 可以撤銷。被委派的帳戶完全無法取消服務。confirm 欄位能攔住執行模糊指令的代理,攔不住拿著您權杖的攻擊者,所以還要在 MCP 用戶端裡把這些工具設成每次都詢問。

Bearer 權杖洩露了怎麼辦?

立刻撤銷(控制台 → 設定 → 給代理用的 API 權杖,或 DELETE /auth/tokens/{id})。然後檢查權杖列表裡有沒有陌生權杖,檢視每台伺服器的服務記錄、帳單和 list_delegations,並更換該權杖能看到的伺服器的 root 密碼:帶 reveal 的 get_vps_status 會返回 root 密碼。

EQVPS 的 MCP 伺服器有多少個工具?

截至 MCP 伺服器 1.6.0(2026-10-04 核實),客戶權杖可見 45 個:5 個公開工具,15 個唯讀工具,17 個改變狀態但不花錢的工具,以及 8 個會花錢、銷毀資料或授予存取權限的工具。經銷商權杖看到的則是另一套 30 個經銷商工具,同一端點上共 75 個。

評論

目前還沒有評論。歡迎成為第一位。

發表評論

評論在顯示前會經過審核。