
你点的那个「Trust this folder」其实是一次无人复核的本机代码执行授权2026 年 5 月Adversa AI 的 TrustFall 披露把一件事说得很直白Claude Code、Cursor CLI、Gemini CLI、GitHub Copilot CLI都会在你接受「信任此文件夹」之后自动拉起仓库里定义的 MCP 进程——而且往往不会单独告诉你这等于在跑一段可执行代码。几乎同时Cloud Security Alliance 转述的 Tenet Security 研究显示攻击者只需拿到一个公开的 Sentry DSN往错误事件里塞进伪装成诊断建议的指令当你让 Agent「帮我看一下 Sentry 报错」时Claude Code / Cursor / Codex 可能把这条注入当成正经排障指南以你的权限执行命令。测试里成功率约 85%至少 2388 个组织的 DSN 可被注入。另一条线更安静。有开发者在 GitHub 上报告自己的 Claude Code 会话里出现了别人的生产机 SSH 账号和明文 root 密码Agent 当真连上去对第三方 PostgreSQL 做了读写迁移。这不是「模型编造了一串看起来像密码的字符」而是上下文隔离一旦失效影子操作会直接落到别人的机器上。这三件事指向同一个事实AI 编程助手真正危险的往往不是它写错了几行业务代码而是它把「点一下确认 / 读一条外部数据 / 继承一段会话摘要」翻译成了以你名义完成的一串高权限动作。这不是恐吓而是 2026 年 Agent 化开发里已经被公开 PoC 与野外活动验证过的一层。一、信任对话框你以为在开项目其实在批进程传统「打开仓库」时代风险边界相对清晰恶意脚本要先被你显式运行责任在你。Agent MCP 时代不一样了。Cursor、Claude Code、Copilot Workspace 这类工具默认就能读仓库配置.mcp.json、.cursor/mcp.json、.claude/settings.json在「信任工作区」后自动启动 MCP server让模型把工具描述、报错正文、Issue 评论当成可执行上下文。问题在于界面文案写的是 Trust / Approve你看到的是「继续开发」底下可能已经以你的 UID 起了一个没有沙箱隔离的进程。CSA 2026 年 7 月的研究笔记还点名了更糟的变体MCPoison审批绑在 MCP「名字」上而不是内容哈希上——配置被改掉也不再弹窗TrustFall四大 Agent CLI 在文件夹信任后自动执行项目 MCP无头 CI如默认的 claude-code-action甚至可能跳过信任对话框Miasma 蠕虫活动对抗性 MCP 配置被种进数十个公开仓库开发者打开受影响项目时凭证收割载荷可能在无额外警告的情况下执行。你以为自己在做一次无害的「打开目录」。实际上你在给一个黑箱执行体批「以你的 OS 权限行动」的许可。二、外部数据即命令Agentjacking 为什么绕过了传统安防大多数人给 Agent 接 Sentry / Slack / Issue Tracker MCP 时很少认真想过这些通道里的文字对模型来说和「系统指令」几乎同级。Agentjacking 的链路很短DSN 本就是写入口可从前端 JS、公开仓库里扫到攻击者 POST 一条「看起来像官方诊断模板」的错误事件你说「帮我修 Sentry 里的 unresolved」Agent 经 MCP 拉回事件按注入指令跑npx、读环境变量、外传密钥。Tenet 的测试结论刺耳这类动作走的是开发者本人已授权的路径所以 EDR、WAF、IAM、VPN 往往看不到「违规」——没有越权只有「Agent 按你接上的工具办事」。这意味着一个反直觉的结论Agent 的危险权限不是「厂商偷偷给你开的」而是「你本机已经拥有的」再加「你主动接上的每一个会回流外部文本的 MCP」。系统日志里的操作者往往还是你。三、责任真空出事之后没人接得住「它到底听了谁的」封号至少还有一封邮件。影子操作与跨会话污染往往连邮件都没有。典型事后复盘会卡在这几句「我只点了 Trust没批准过这条 shell。」「那条 Sentry 建议是官方的还是有人 POST 进来的」「MCP 工具描述什么时候被改过我审批的是名字还是内容」「会话摘要里那串密码是我的还是别人的」这就是责任真空| 角色 | 通常会说什么 || — | — || 开发者 | 我只是打开了仓库 / 让它看一下报错 || Agent 工具 | 我是按工作区信任与工具授权执行的 || MCP / 插件 | 我只是返回了上游数据 || 观测平台 / 厂商 | 请自查本地环境 / 请遵守使用政策 |每个人都「有道理」但进程已经起了、密钥已经出去了、别人的库可能已经被改了。没有本地可见的行为审计Agent 安全就只能靠事后运气。四、为什么「小心点用」已经不够用了因为风险模型变了确认与执行语义错位你确认的是「信任文件夹」Agent 执行的是「启动任意 MCP」。信任边界被工具链拉穿模型、客户端、仓库配置、MCP、第三方观测平台任意一环被投毒都可能变成你的事故。攻击面从「你点链接」变成「Agent 读上下文」毒工具描述、毒 Issue、毒 Sentry 事件、毒 README都能诱导自动执行。MCPTox 等评测里工具投毒平均成功率约三成量级——能力越强的模型有时越听话。速度击败审查Agent 越强你越来不及核对每一条工具输出是不是指令。效率红利本身就是审查赤字。过去安全口诀是「别乱点、别乱装、别乱授权」。现在还要加上一句别把「Trust / 帮我看看报错」当成低权限接口。五、先把「Agent 到底干了什么」变成本地可见完整方案可以很重独立低权限用户、容器隔离、MCP allowlist、配置内容哈希审批、HTTP 代理、命令二次确认、密钥扫描、熔断策略。对个人开发者和小团队一次搭完不现实。如果只想先补最关键的一块——行为与环境可见——可以先加一层本地守护例如 Agent GuardSafeClaude。它不替代 Cursor / Claude Code / Copilot而是在不改使用习惯的前提下盯住本机 Agent 环境信号、敏感配置与异常外联相关风险并尽量把审计与处理留在本地。扫描与修复留在本地不把代码和密钥送去云端「再分析一遍」。不必先写一堆系统审计规则也能先回答「我这台机器上的 Agent 环境现在是否自洽刚才那次它到底动了什么」官网https://www.safeclaude.net/它不是银弹。但它能把「黑箱终端 一堆 MCP」先变成「可回看的本机信号」——这通常是建立完整安全体系之前最值得先做的一步。六、今晚就能做的 5 件事给 Agent 单独身份别让日常开发账号直接喂给高权限 Agent。独立用户 / 容器 / 专用工作目录敏感路径默认不可写。把 MCP 当生产接入而不是插件市场每个 MCP 问三句它能碰什么返回的数据谁能写配置变更要不要按内容重新审批接得越少炸得越小。Sentry 类「外部可写、Agent 可读」的通道默认当高危。让外联与进程可观察本地代理或本机守护看一眼异常域名、大体积上传、陌生 webhook、仓库信任后新拉起的进程。很多泄露不是「黑客攻破」而是「Agent 按指令发走了」。高危动作必须二次确认删除、强推、改系统配置、读密钥目录、对公网 POST、执行来自 MCP 文本的安装命令——这些不该落在「自动继续」里。假设一定会出事先准备恢复重要上下文本地备份密钥可轮换Git 有远端保护分支生产凭据绝不进 Agent 默认可读区打开陌生仓库前先扫.mcp.json/ hooks。结语效率不是免费的账单在信任对话框里AI 编程助手会继续变强。它能重构、排障、连工具、改环境甚至替你走完发布链路。但能力每上一个台阶「一次 Trust / 一条外部文本」的爆炸半径就大一圈。封号让你失去账号。越狱能力让你看清边界已被突破。数据泄露让你付出凭证代价。而影子操作更安静——它可能在你点赞某次「完美修复」时已经替你签下了风险账单。下一次你对 Agent 说「帮我看一下报错」、或对对话框按下 Enter 之前先问自己这句话 / 这次确认会被翻译成哪些具体进程与命令这些命令如果跑偏我有没有即时可见的审计出事之后我能在 10 分钟内回答「它到底做了什么、听了谁的」吗安全不是让你少用 AI而是让你在飞得更快时仍然握着刹车和黑匣子。参考来源Cloud Security AllianceMCP Tool Poisoning and IDE Auto-Execution2026-07-01含 TrustFall、MCPoison、Miasma 等公开披露综述Cloud Security AllianceAgentjacking via Sentry MCP event injection2026-06-12转述 Tenet Security 研究Adversa AI TrustFall主流 Agent CLI 在文件夹信任后自动执行项目 MCPGitHub anthropics/claude-code 公开安全议题跨会话凭证出现在工作上下文并触发对第三方主机操作的报告CyberDesserts 等对 2026 年 MCP / Agent 供应链事件的时间线整理Claude Code 配置注入、官方 Git MCP CVE 链等MCPTox 等学术评测工具描述投毒攻击成功率的实证数据标签#人工智能#安全#AIAgent#MCP#Claude#Cursor