在 Agent 時代佈局陷阱:打造誘餌 MCP 伺服器捕捉攻擊者 (Decoy MCP Server Honeypot)

原始來源與檔名:20260512_2026-05-05T094100+0800-Build a Decoy MCP Server to Catch AI Agent Attackers.md

來源:[[@lennyzeltser]] / X (Twitter) — 2026-05-03 原始檔名:2026-05-05T094100+0800-Build a Decoy MCP Server to Catch AI Agent Attackers.md


NAPKIN | 餐巾紙

餐巾紙公式

Attacker Goal: Compromise dev machine -> Read .claude.json (MCP config) -> Pivot to infra. Defender Strategy: Inject fake “Vault” MCP entry -> Route to Cloudflare Worker (Honeypot) -> Alert on interaction. Decoy Design = Tempting tool names (secrets_vault_read) + Plausible Refusals (Access denied. Incident logged.) = High-fidelity Tripwire.

在 Agentic Workflow 時代,你的 .mcp.json~/.claude.json 設定檔成為了駭客眼中的金礦,因為裡面記錄了 Agent 可以存取的所有系統權限(如資料庫、GitHub 權限)。這篇資安文章提出了一個絕妙的主意:在配置檔中植入一個「誘餌 (Decoy) MCP Server」,指向你自己架設的 Cloudflare Worker (蜜罐)。當駭客取得開發機控制權並試圖用這個假的 MCP 伺服器去探勘機密時,Worker 會立刻觸發警報(如 Slack 通知),讓你精準捕捉攻擊者的意圖與行為。

一句話

防禦新範式:把你的 MCP 配置檔變成地雷區。當攻擊者黑進你的電腦,他們第一件事就是查看 Claude Code 或 Hermes 的設定檔,尋找高權限工具。這篇文章教你如何用 Cloudflare Worker 寫一個假的 MCP 伺服器,偽裝成「生產環境密碼庫 (Vault)」。一旦攻擊者的 Agent 試圖呼叫這個工具提取密碼,你不但會收到警報,還能看到他們下的 SQL 語法或搜尋關鍵字,將對方的偵查行動反轉為你的情報來源。

餐巾紙草圖

[ The MCP Honeypot Architecture ]

Attacker on Dev Machine


Reads ~/.claude.json (MCP Config)
{
  "github": "api.github...",  <-- Real
  "vault": "https://worker..." <-- Honeypot Decoy!
}


Attacker sends MCP Request: `tools/call` -> `secrets_vault_read`


[ Cloudflare Worker ]
   1. Logs IP, User-Agent, Tool Args
   2. Sends Alert to Slack Webhook
   3. Returns: "Access denied. Incident logged."

ROUND 1: SKELETON | 骨架掃描

“這篇文章在說什麼”

ROUND 2: DISSECTION | 血肉解剖

“憑什麼這麼說”

核心論證鏈

  1. 高保真度警報 (High-confidence signal): 在網路安全中,最怕的是誤報 (False Positives)。這個誘餌 MCP 只存在於設定檔中,沒有任何正常的業務邏輯會去呼叫它。因此,只要這個 URL 收到任何 tools/call 請求,有 99% 的機率是有人正在你的電腦上進行惡意橫向移動,這是一個極高價值的警報訊號 (Tripwire)。
  2. 意圖捕捉 (Capturing Intent): 與傳統的端口掃描器不同,MCP 的 tools/call 負載會包含具體的參數 (args)。例如 {"sql": "SELECT * FROM users"},這讓防禦者可以直接看到攻擊者「到底在找什麼」,從「發現有人入侵」升級為「理解敵人的意圖」。

關鍵證據

邊界條件

ROUND 3: SOUL | 靈魂提取

“還能怎么用”