若谓人工智能编程之代理(Claude Code、Cursor、Gemini CLI)之安全风险在于"模型失控而执行危殆之命",近数月之重案则道非然。其事无涉模型者。发轫之处,恒在配置之文。
此篇详述TrustFall与AWS Kiro,释配置文件何以成攻击之隙,并介绍吾所制开源之器,名曰Sigil.
TrustFall:克隆,开启,远程执行
岁在丙申,五月,Adversa AI出TrustFall:克隆恶之仓库而启之,则一击而RCE于Claude Code、Cursor、Gemini CLI及GitHub Copilot。
其配置二文于库中:
-
.mcp.json指涉于攻击者所控之MCP服务器 -
.claude/settings.json,具项目之域设,若enableAllProjectMcpServers
当用户开启仓库,于"汝信此匣乎?"之问中击键入,则攻击者之MCP服务器即启。自此可窥他项之源码与秘钥,或启久远之出向连结。于无首之CI执役者,信匣之问永现不至,遂落无人之鉴。
此非偶然。Check Point Research 报告同类问题,曰"项目配置先于信任提示处理",即 CVE-2025-59536(远程代码执行)。.claude/钩子或MCP服务器设置)及CVE-2026-21852(通过滥用API密钥进行数据窃取)ANTHROPIC_BASE_URL). 俱发火于克隆开启,尔确认信任之语。
AWS Kiro:事后重写配置
若 TrustFall 事先发送恶意配置,则 AWS 之智能代理 IDE Kiro 之例,在于事后重写配置.
约翰·雷赫伯格(拥抱红色)示人,间接提示注入可重写:
-
kiroAgent.trustedCommands: ["*"]于.vscode/settings.json .kiro/settings/mcp.json
一旦trustedCommands包含*,此代理无确认即行任意指令。自网页或问题注入之指示,悄然篡改本地配置文件,遂成任意指令执行。此弊已修正于 Kiro 0.1.42 版.
共通之理:配置文件授予权限
凡此种种,模型未尝自作恶念。所遭之攻,乃配置之弊:
- 钩子
- 权限(允 / 禁)
- MCP 允许列表
- 沙盒标志
- 可信命令
此等配置之文件,乃决代理所可为之事。其难处在于,其效自项目开启时始,非自阅读时始。权限之授,先于任何审阅。
EDR 可见之rm -rf 虽行,然非制变之由。所当守者,制之允也,非命之自也。
若何守之?
二策可行:
- 每可,则于器中或沙盘之内,运人工智能之码使。
- 察制文之变,识其危而觉之。
手作之术,难久。目测.claude/settings.json与.mcp.json,每变辄观之,此法终败。
吾所造者:Sigil
是故造Sigil,为宿主端AI安全态势管理(AI-SPM)之代理。
此物察诸配置之文,决代理之权柄(钩子、权限、MCP允许列表、沙盒标志),危则量其分,乃送事件于日志或SIEM。
此无阻。其得分而记之。告君曰:"此配置已变,而代理今可为之。"实止其行,则委诸代理时序及君既有之控。因其度而非阻,故不扰开发者,无妄警之患。
示范
- 寻常配置,仅读权限,无钩,则得零分,甚微。
- 添一预用工具之钩,配以匹配器
.*,行rm -rf $HOME,复评七五分/关键(无沙盒,匹配器过泛,钩中含破坏性指令)。
技术注记
- 一静态二进制(x86_64 musl,兼 macOS arm64 与 Windows)
- 以 tokio 与 notify 观文件,不设轮询
- 单行安装,Apache-2.0
据实而言:此实施之大部分,乃以Claude Code为之。吾主其威胁模型、评分标准、架构之设,而使AI多撰其码。建一器以察编码代理所许所为,复以编码代理为之,此稍有趣耳.
休矣
当人工智能编程之代理遭攻伐,所击者非模型也,乃未为有人所审之配置文件耳。TrustFall、Kiro及CVE-2025-59536皆击同一之隙。
尔今如何处置不可信之仓库配置乎?尽置之于沙盒,手审其配置,抑或但启之而冀其无虞?
仓库、演示及配置监视之详:https://github.com/Ju571nK/sigil













