[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"article-public-sentry-keys-hijack-claude-code-cursor-zh":3,"article-related-public-sentry-keys-hijack-claude-code-cursor-zh":33,"series-ai-agent-f5e73cf4-d736-48b7-b785-7bf20719e888":84},{"id":4,"slug":5,"title":6,"content":7,"summary":8,"source":9,"source_url":10,"author":11,"image_url":12,"cover_image":12,"category":13,"language":14,"translated_content":11,"related_article_id":15,"keywords":16,"key_takeaways":25,"views":29,"created_at":30,"published_at":31,"topic_cluster_id":32},"f5e73cf4-d736-48b7-b785-7bf20719e888","public-sentry-keys-hijack-claude-code-cursor-zh","公開 Sentry key 也能劫持 AI 編碼工具","\u003Cp data-speakable=\"summary\">公開的 Sentry key 可能被濫用，讓惡意 MCP \u003Ca href=\"\u002Fnews\u002Fanthropic-overseas-data-center-push-right-move-zh\">資料\u003C\u002Fa>混進 \u003Ca href=\"\u002Ftag\u002Fclaude-code\">Claude Code\u003C\u002Fa>、\u003Ca href=\"\u002Ftag\u002Fcursor\">Cursor\u003C\u002Fa> 和 \u003Ca href=\"\u002Ftag\u002Fcodex\">Codex\u003C\u002Fa> 的上下文。\u003C\u002Fp>\u003Cp>這件事很實在，也很煩。只要一個外洩的整合 key，原本拿來看錯誤和追蹤的資料流，就可能\u003Ca href=\"\u002Fnews\u002Fcinevva-web-game-engine-guide-stack-zh\">變成\u003C\u002Fa>攻擊入口。像 \u003Ca href=\"https:\u002F\u002Fwww.anthropic.com\u002Fclaude-code\" target=\"_blank\" rel=\"noopener\">Claude Code\u003C\u002Fa>、\u003Ca href=\"https:\u002F\u002Fcursor.com\" target=\"_blank\" rel=\"noopener\">Cursor\u003C\u002Fa>，還有 \u003Ca href=\"https:\u002F\u002Fopenai.com\u002Fcodex\" target=\"_blank\" rel=\"noopener\">Codex\u003C\u002Fa>，都開始把外部資料接進工作流。這時候，MCP 就成了放大器。\u003C\u002Fp>\u003Cp>研究團隊示範的手法，常被叫做 agentjacking。講白了，就是攻擊者不去硬闖主系統，而是去污染 AI 助手吃進去的資料。當模型把錯的東西當真的，後面產生的建議、摘要、甚至動作，就可能一起歪掉。\u003C\u002Fp>\u003Ctable>\u003Cthead>\u003Ctr>\u003Cth>項目\u003C\u002Fth>\u003Cth>內容\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Ctd>受影響工具\u003C\u002Ftd>\u003Ctd>Claude Code、Cursor、Codex\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>被濫用的整合\u003C\u002Ftd>\u003Ctd>Sentry 公開 key\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>攻擊面\u003C\u002Ftd>\u003Ctd>連到 MCP 的 agent 輸入\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>關鍵概念\u003C\u002Ftd>\u003Ctd>agentjacking、prompt injection、資料投毒\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003Ch2>這種攻擊為什麼會成功\u003C\u002Fh2>\u003Cp>核心問題只有一個：信任。AI 編碼工具會把票單、log、\u003Ca href=\"\u002Fnews\u002Fprompt-versioning-belongs-in-production-zh\">文件\u003C\u002Fa>、監控資料，全部塞進上下文。它們再根據這些內容，去寫程式、改檔案，或提出下一步動作。只要其中一個來源能被動手腳，模型就可能把攻擊者的內容當成內部訊號。\u003C\u002Fp>\n\u003Cfigure class=\"my-6\">\u003Cimg src=\"https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1782413274580-aa9w.png\" alt=\"公開 Sentry key 也能劫持 AI 編碼工具\" class=\"rounded-xl w-full\" loading=\"lazy\" \u002F>\u003C\u002Ffigure>\n\u003Cp>這在開發流程裡特別麻煩。因為 \u003Ca href=\"\u002Ftag\u002Fagent\">agent\u003C\u002Fa> 常常是「讀一個系統，寫到另一個系統」。它先看錯誤事件，再去改程式碼；先看工單，再去產生 patch。只要前面的資料被污染，後面的建議就會跟著偏掉。\u003C\u002Fp>\u003Cp>說白了，這比較像是 agent 版的供應鏈污染。攻擊者不需要控制模型本身，也不需要破解 API。只要找到一條能餵資料進去的路，就能把假訊號塞給 AI。\u003C\u002Fp>\u003Cul>\u003Cli>公開 key 可能暴露整合入口。\u003C\u002Fli>\u003Cli>暴露入口可能接受外部輸入。\u003C\u002Fli>\u003Cli>agent 可能把這些輸入當可信上下文。\u003C\u002Fli>\u003Cli>可信上下文會影響建議和動作。\u003C\u002Fli>\u003C\u002Ful>\u003Ch2>Sentry 在這裡扮演什麼角色\u003C\u002Fh2>\u003Cp>\u003Ca href=\"https:\u002F\u002Fsentry.io\" target=\"_blank\" rel=\"noopener\">Sentry\u003C\u002Fa> 本來是防守工具。大家拿它來收集錯誤、trace 和效能資料，目的是更快修 bug。問題不在 Sentry 本身，而在資料怎麼被後面的 AI 工具消化。\u003C\u002Fp>\u003Cp>如果一個 Sentry project 的公開識別資訊，讓外部資料能被送進來，那它就不只是監控設定而已。它會變成一個可被碰觸的輸入口。當 AI 助手自動讀這些資料時，風險就從「看得到 log」變成「看得到假 log」。\u003C\u002Fp>\u003Cp>Simon Willison 長期在談 prompt injection 和 AI 工具安全。他對這類風險的提醒很直接。\u003C\u002Fp>\u003Cblockquote>\u003Cp>\"The main issue is not the model itself, but the untrusted data that gets fed into it,\" said Simon Willison.\u003C\u002Fp>\u003C\u002Fblockquote>\u003Cp>這句話很到位。問題不只是模型準不準，而是你餵了什麼進去。當資料流本身不乾淨，模型再強也會被拖下水。\u003C\u002Fp>\u003Cp>對團隊來說，這代表監控資料不能再被當成天然可信。以前看 dashboard 沒問題，現在同一筆事件可能直接進到 agent 的推理鏈。每個欄位都要假設可能被動過。\u003C\u002Fp>\u003Ch2>Claude Code、Cursor、Codex 的風險差在哪\u003C\u002Fh2>\u003Cp>這三個工具不一樣，但弱點很像。\u003Ca href=\"https:\u002F\u002Fwww.anthropic.com\u002Fclaude-code\" target=\"_blank\" rel=\"noopener\">Claude Code\u003C\u002Fa> 跟 codebase 綁得很緊。\u003Ca href=\"https:\u002F\u002Fcursor.com\" target=\"_blank\" rel=\"noopener\">Cursor\u003C\u002Fa> 把 AI 直接放進編輯器。\u003Ca href=\"https:\u002F\u002Fopenai.com\u002Fcodex\" target=\"_blank\" rel=\"noopener\">Codex\u003C\u002Fa> 則靠近程式生成和任務執行。\u003C\u002Fp>\n\u003Cfigure class=\"my-6\">\u003Cimg src=\"https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1782413279883-juz7.png\" alt=\"公開 Sentry key 也能劫持 AI 編碼工具\" class=\"rounded-xl w-full\" loading=\"lazy\" \u002F>\u003C\u002Ffigure>\n\u003Cp>它們共同的問題是，都能讀外部資料。只要 agent 可以接 ticket、log、文件、或其他服務，攻擊者就會想辦法塞假內容。模型通常很難穩定分辨，哪個是內部訊號，哪個是刻意投放。\u003C\u002Fp>\u003Cp>這裡可以把 MCP 想成擴充插槽。插槽越多，能接的服務越多，攻擊面也越大。不是每個 connector 都危險，但每多一個，審查成本就再往上加。\u003C\u002Fp>\u003Cul>\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.anthropic.com\u002Fclaude-code\" target=\"_blank\" rel=\"noopener\">Claude Code\u003C\u002Fa> 更靠近 repo 與開發任務。\u003C\u002Fli>\u003Cli>\u003Ca href=\"https:\u002F\u002Fcursor.com\" target=\"_blank\" rel=\"noopener\">Cursor\u003C\u002Fa> 把編輯器操作和 AI 建議綁在一起。\u003C\u002Fli>\u003Cli>\u003Ca href=\"https:\u002F\u002Fopenai.com\u002Fcodex\" target=\"_blank\" rel=\"noopener\">Codex\u003C\u002Fa> 可能接近 code 生成與執行流程。\u003C\u002Fli>\u003Cli>\u003Ca href=\"https:\u002F\u002Fmodelcontextprotocol.io\" target=\"_blank\" rel=\"noopener\">MCP\u003C\u002Fa> 會把更多外部系統拉進上下文。\u003C\u002Fli>\u003C\u002Ful>\u003Cp>如果你問我，這種風險比單純的 prompt injection 更麻煩。因為它不是只騙一句話，而是能騙整條資料鏈。資料一旦被接受，後面每一步都可能跟著錯。\u003C\u002Fp>\u003Ch2>開發團隊現在該做什麼\u003C\u002Fh2>\u003Cp>先別急著把 AI 編碼工具全關掉。比較務實的做法，是把信任邊界劃清楚。每個 connector、每個 public key、每個資料來源，都要重新盤點。只要來源可能被外部碰到，就不能直接丟給 agent 看。\u003C\u002Fp>\u003Cp>第二步，是把「讀資料」和「做動作」分開。讓 agent 看 log，和讓 agent 開 ticket、改程式、觸發部署，這是兩種完全不同的權限。前者可以寬一點，後者就該非常嚴。\u003C\u002Fp>\u003Cp>第三步，是把 MCP 納入資產管理。只要你的團隊有用 \u003Ca href=\"https:\u002F\u002Fmodelcontextprotocol.io\" target=\"_blank\" rel=\"noopener\">MCP\u003C\u002Fa>，每個 server 和 connector 都要列入盤點。能停用的先停用，能輪替的 key 先輪替，能加驗證的地方先加上去。\u003C\u002Fp>\u003Cul>\u003Cli>檢查所有公開 key 是否真的需要公開。\u003C\u002Fli>\u003Cli>審核每個 agent connector 的輸入來源。\u003C\u002Fli>\u003Cli>把高風險動作拆成人工確認流程。\u003C\u002Fli>\u003Cli>為 MCP server 建立撤銷與輪替機制。\u003C\u002Fli>\u003C\u002Ful>\u003Cp>這裡也很適合借鏡傳統資安。以前我們會檢查 webhook、API、CI\u002FCD 權限。現在只是多了一層 \u003Ca href=\"\u002Ftag\u002Fai-agent\">AI agent\u003C\u002Fa>。邏輯沒變，都是先驗證，再信任。\u003C\u002Fp>\u003Ch2>這代表整個 AI 工具鏈要重想一次\u003C\u002Fh2>\u003Cp>這波風險也說明一件事。AI 工具越像助理，就越像一個會吃資料的系統。它不是單純回答問題而已。它會讀、會整理、會建議，還可能直接幫你動手。\u003C\u002Fp>\u003Cp>所以問題不只是模型有沒有 hallucination。更大的問題是，誰能控制模型看到什麼。當外部服務、監控資料、票單系統、文件庫都能餵進來時，安全邊界就不在 prompt 了，而在資料管線。\u003C\u002Fp>\u003Cp>如果你在做產品或內部工具，現在就該問一個很現實的問題：你的 agent 到底信了誰。只要答案裡有任何一個外部來源，那就該先做驗證，再讓它進上下文。\u003C\u002Fp>\u003Ch2>接下來該盯什麼\u003C\u002Fh2>\u003Cp>我覺得接下來 6 到 12 個月，大家會更常看到這類 agent 攻擊。原因很簡單。MCP、外掛、connector、RAG，全部都在擴大資料入口。入口越多，越容易混進髒東西。\u003C\u002Fp>\u003Cp>所以最實際的做法，不是等下一次事故才補洞，而是現在就開始盤點。把每個資料來源列出來，把每個權限拆開來，把每個會觸發動作的流程加上人工確認。這很土，但很有效。\u003C\u002Fp>\u003Cp>如果你的團隊已經在用 \u003Ca href=\"https:\u002F\u002Fwww.anthropic.com\u002Fclaude-code\" target=\"_blank\" rel=\"noopener\">Claude Code\u003C\u002Fa>、\u003Ca href=\"https:\u002F\u002Fcursor.com\" target=\"_blank\" rel=\"noopener\">Cursor\u003C\u002Fa> 或 \u003Ca href=\"https:\u002F\u002Fopenai.com\u002Fcodex\" target=\"_blank\" rel=\"noopener\">Codex\u003C\u002Fa>，我會建議先查一次所有外部資料源。因為在 agent 時代，最值錢的不是模型參數，而是資料入口的乾淨程度。\u003C\u002Fp>","研究者示範公開 Sentry key 可被拿來注入惡意 MCP 資料，影響 Claude Code、Cursor、Codex 的判斷與操作。","thenewstack.io","https:\u002F\u002Fthenewstack.io\u002Fagentjacking-sentry-mcp-attack\u002F",null,"https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1782413274580-aa9w.png","ai-agent","zh","e2049534-8d94-453a-8cee-8eced0b74e69",[17,18,19,20,21,22,23,24],"Sentry","Claude Code","Cursor","Codex","MCP","agentjacking","prompt injection","AI 資安",[26,27,28],"公開的 Sentry key 可能成為 AI agent 的資料投毒入口。","MCP 讓外部資料更容易進入 Claude Code、Cursor、Codex。","真正要管的是資料來源、權限分離和 connector 審查。",0,"2026-06-25T18:47:30.891301+00:00","2026-06-25T18:47:30.884+00:00","e3b68196-9e64-4c18-a3b6-a73e73bfb367",{"tags":34,"relatedLang":43,"relatedPosts":47},[35,37,39,41],{"name":19,"slug":36},"cursor",{"name":21,"slug":38},"mcp",{"name":18,"slug":40},"claude-code",{"name":20,"slug":42},"codex",{"id":15,"slug":44,"title":45,"language":46},"public-sentry-keys-hijack-claude-code-cursor-en","Public Sentry keys can hijack Claude Code and Cursor","en",[48,54,60,66,72,78],{"id":49,"slug":50,"title":51,"cover_image":52,"image_url":52,"created_at":53,"category":13},"1aeae331-e5da-4bc9-bee6-6d7bbf47874f","loop-engineering-agent-completes-tasks-zh","Loop Engineering 讓 Agent 做完事","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1782408826097-l6g3.png","2026-06-25T17:33:18.060707+00:00",{"id":55,"slug":56,"title":57,"cover_image":58,"image_url":58,"created_at":59,"category":13},"daf7edd7-d904-4f35-afd6-9caeac32c633","codex-third-party-model-integration-guide-zh","Codex 接入第三方模型實作指南","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1782396177606-l65z.png","2026-06-25T14:02:29.294216+00:00",{"id":61,"slug":62,"title":63,"cover_image":64,"image_url":64,"created_at":65,"category":13},"096d7c02-566e-48e1-b7cd-d8218c2d87f4","manus-ai-agent-app-ready-for-real-work-zh","Manus AI 證明代理式 App 已能上線做事","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1782379976402-dvi4.png","2026-06-25T09:32:20.496499+00:00",{"id":67,"slug":68,"title":69,"cover_image":70,"image_url":70,"created_at":71,"category":13},"08c3c919-2446-4dda-85fb-c18b6ffc3b8d","grok-build-goal-autonomous-coding-zh","Grok Build 加上 \u002Fgoal，自動寫碼更像樣了","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1782374588023-auvp.png","2026-06-25T08:02:38.465826+00:00",{"id":73,"slug":74,"title":75,"cover_image":76,"image_url":76,"created_at":77,"category":13},"0e808308-2bd5-4fc0-a664-698df223abc4","anthropic-claude-tag-research-slack-search-zh","Claude 讓 Slack 變研究庫","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1782285516725-yjy9.png","2026-06-24T07:18:02.774232+00:00",{"id":79,"slug":80,"title":81,"cover_image":82,"image_url":82,"created_at":83,"category":13},"8fe481ef-010f-431b-a837-22ccafa68438","benchmark-harness-quality-beats-model-hype-coding-zh","這個 coding benchmark 證明：harness 品質勝過模型光環","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1782253062596-f192.png","2026-06-23T22:17:21.208723+00:00",[85,90,95,100,105,110,115,120,125,130],{"id":86,"slug":87,"title":88,"created_at":89},"4ae1e197-1d3d-4233-8733-eafe9cb6438b","claude-now-uses-your-pc-to-finish-tasks-zh","Claude 開始幫你操作電腦","2026-03-26T07:20:48.457387+00:00",{"id":91,"slug":92,"title":93,"created_at":94},"5bede67f-e21c-413d-9ab8-54a3c3d26227","googles-2026-ai-agent-report-decoded-zh","Google 2026 AI Agent 報告解讀","2026-03-26T11:15:22.651956+00:00",{"id":96,"slug":97,"title":98,"created_at":99},"2987d097-563f-46c7-b76f-b558d8ef7c2b","kimi-k25-review-stronger-still-not-legend-zh","Kimi K2.5 評測：更強，但還不是神作","2026-03-27T07:15:55.277513+00:00",{"id":101,"slug":102,"title":103,"created_at":104},"95c9053b-e3f4-4cb5-aace-5c54f4c9e044","claude-code-controls-mac-desktop-zh","Claude Code 也能操控 Mac 了","2026-03-28T03:01:58.58121+00:00",{"id":106,"slug":107,"title":108,"created_at":109},"dc58e153-e3a8-4c06-9b96-1aa64eabbf5f","cloudflare-100x-faster-ai-agent-sandbox-zh","Cloudflare 的 AI 沙箱跑超快","2026-03-28T03:09:44.142236+00:00",{"id":111,"slug":112,"title":113,"created_at":114},"1c8afc56-253f-47a2-979f-1065ff072f2a","openai-backs-isara-agent-swarm-bet-zh","OpenAI 挺 Isara 的 agent swarm …","2026-03-28T03:15:27.513155+00:00",{"id":116,"slug":117,"title":118,"created_at":119},"7379b422-576e-45df-ad5a-d57a0d9dd467","openai-plan-automated-ai-researcher-zh","OpenAI 想做自動化 AI 研究員","2026-03-28T03:17:42.090548+00:00",{"id":121,"slug":122,"title":123,"created_at":124},"48c9889e-86df-450b-a356-e4a4b7c83c5b","harness-engineering-ai-agent-reliability-2026-zh","駕馭工程：從「馬具」到「作業系統」，AI Agent 可靠性的終極密碼","2026-03-31T06:42:53.556721+00:00",{"id":126,"slug":127,"title":128,"created_at":129},"96d8e8c8-1edd-475d-9145-b1e7a1b02b65","mcp-explained-from-prompts-to-production-zh","MCP 怎麼把提示詞變工作流","2026-04-01T09:24:39.321274+00:00",{"id":131,"slug":132,"title":133,"created_at":134},"f2ca7720-b471-4ce5-9336-2a9ac2a876fd","amazon-bedrock-agents-multi-agent-workflows-zh","Amazon Bedrock Agents 進入多代理工作流","2026-04-01T09:30:29.945429+00:00"]