AI代理安装不可信?RepoGates五道关卡实测

RepoGates用五道共享判定引擎的关卡拦截AI代理安装恶意仓库,但每关都有盲区。
文章介绍评估工具RepoGates如何应对AI代理高速克隆仓库、安装包和添加MCP服务器带来的供应链风险。它用统一判定引擎构建五道关卡:浏览器扩展在下载前拦截并给出信任分;Clawed Code中的命令钩子在执行前拒绝被封锁的克隆与安装命令;面向任意MCP客户端的检查服务提供12个工具供代理主动查询;体检只读地审查代理已有的插件、技能与权限并离线扫描密钥;深度扫描在沙箱中用OpenGrep、GitLeaks、Trivy和ClamAV检查公开仓库。文章强调每一关都有明确盲区——看不到命令行、只管直接依赖、仅为建议性、只读不拦、不覆盖私人仓库,因此"通过"从不等于安全保证。
AI代理正在以前所未有的速度替你克隆仓库、安装包、添加MCP服务器、拉取技能,快到你可能根本来不及看清它选了什么。据2026年Fake Git活动,GitHub上出现了约7600个假仓库。面对这种风险,评估工具RepoGates用一套统一的检查引擎给出了五道关卡。下面逐一拆解每道关卡检查什么、又看不到什么。
第一关:浏览器端拦截

RepoGates为Chrome和Edge提供扩展,在GitHub.com、GitLab.com和HuggingFace.co上给出0到100的信任分。仓库执行22项检查,模型执行18项。针对打开、克隆、安装或交给AI代理这四种操作,扩展会给出四种判定。
当你在未通过策略的仓库上点击“Download Zip”时,下载会在进入下载文件夹之前被拦截并取消。它还能识别访问是否由AI助手引导而来——只有浏览器中的代码能看到这一层上下文。免费版可在前14天使用10次检查,此后已知恶意软件仍会被持续拦截。
局限也很明确:扩展活在浏览器里,看不到git clone、包管理器或cURL的行为。这正是第二关要解决的。
第二关:Clawed Code中的命令钩子

在Clawed Code中,RepoGates插件在bash工具上挂了一个钩子。命令运行前,钩子读取确切的那一行。若克隆或安装指向被封锁的仓库,命令会在执行前被拒绝。带警告的仓库不会被封锁,钩子会先询问你。
像npm install express这样的包会被解析到其源仓库,Clawed MCP add也会在服务器被添加之前接受检查。局限在于:只覆盖命令行上直接点名的依赖,不检查锁文件,且仅在Clawed Code中生效。
什么是命令钩子(Hook)
命令钩子是代理工具在调用底层 shell 之前暴露的拦截点:代理决定执行某条命令时,先把命令字符串交给钩子,钩子可以放行、询问或直接拒绝,被拒绝的命令根本不会进入 shell。这与事后审计不同,它发生在副作用产生之前,因此能拦住破坏性操作。代价是钩子只看到"即将执行的那一行",无法理解该命令之后会拉取哪些传递依赖,也不覆盖代理之外手动执行的命令。
第三关:面向任意MCP客户端的检查服务
对Clawed Code之外的代理,RepoGates提供了MCP服务器,任何MCP客户端都能在获取内容之前调用其12个工具:对确切命令行做Preflight、assert allowed、check repo、check skill等。它兼容Copilot、Cursor、Clawed.ai和Cowork。VS Code、Docker桌面扩展以及代理技能的判定也来自这里。
关键局限:这是建议性的。一个从不调用它的代理不会被阻止。
MCP(Model Context Protocol)与"建议性"控制的含义
MCP 是一套让 AI 客户端以统一方式接入外部工具与数据源的协议,MCP 服务器即按该协议暴露能力的进程,客户端(Copilot、Cursor 等)通过调用其工具来扩展代理能力。RepoGates 把自己的检查能力做成 MCP 服务器,意味着任何支持该协议的客户端都能主动询问"这个仓库或技能是否可信"。但协议本身不强制客户端调用某个服务器,也不存在全局强制点,因此这类检查天然是建议性的——它依赖代理主动咨询,而不是在系统层面阻断。
第四关:体检与密钥扫描

前三关看的是“即将到来”的东西,第四关看的是“已经存在”的东西。运行checkup,它会读取你的代理已经拥有的内容:插件及其市场、技能、MCP服务器、钩子和权限规则,每项发现都附带修复建议。
它只读,从不运行程序、不修改文件、不阻止任何操作,且只发送RepoGates标识符,绝不发送内容。旁边的密钥扫描免费且离线,在文件夹、暂存更改和git历史中查找API密钥,且从不显示完整密钥。
为什么"只读体检"是必要的设计取舍
体检面对的是已经安装进代理环境的插件、技能、MCP 服务器和权限规则,这些内容往往由代理自行添加,用户并不清楚其来源与权限范围。若体检工具本身能修改文件或执行程序,它就变成了新的攻击面。因此这一关刻意保持只读:只读取配置、只上报发现与修复建议,且只回传 RepoGates 标识符而非配置内容本身,以降低泄露敏感信息的风险。代价是它不会自动修复,也不会阻止任何操作,发现的问题仍需人工或代理按建议处理。
第五关:深度扫描

公开仓库的文件会在隔离沙箱中由OpenGrep、GitLeaks、Trivy和ClamAV读取。RepoGates读代码但从不运行代码。报告会按优先级排列应修复项,每个修复可复制为文本交给你的编码代理,重新扫描能看到哪些问题已清除。
局限是私人仓库不在扫描范围内,而一份清空的清单并不等于一次审计。
沙箱扫描与所用工具的定位
深度扫描把公开仓库的文件复制进隔离沙箱,由几类互补工具分别处理:OpenGrep 做静态代码模式匹配,用于发现可疑的脚本逻辑与已知危险写法;GitLeaks 在文件与 git 历史中查找泄露的凭据;Trivy 检查依赖与容器镜像中的已知漏洞;ClamAV 则做特征码层面的恶意文件检测。关键约束是"读代码而不运行代码"——扫描不执行仓库中的任何脚本,因此无法观察到运行时才触发的行为,例如动态下载载荷或条件触发的后门。这也解释了为什么清空的报告不等于安全审计。
五关合一,一份判定引擎
浏览器、Claude Code、任意MCP代理、体检和深度扫描,五道关卡共享同一个判定引擎。浏览器关卡免费起步;插件、MCP服务器和体检属于付费方案,每年69美元起;深度扫描需要高级版或扫描包。
需要强调的是,“通过”只意味着所有能运行的检查都运行了且未触发,它从来不是保证。对于高度依赖AI代理自动化安装的团队来说,这套分层思路值得参考,但每一层的盲区也必须被清楚认知。
相关推荐

亚马逊CEO:2200亿美元押注AI基础设施, AWS三年AI营收超250亿
亚马逊CEO Andy Jassy详解2200亿美元AI基础设施投资逻辑:产能售罄至2028年、自研Trainium芯片降本、6人76天重写推理引擎的组织变革,以及数据中心争议与AI安全风险的真实判断。

Claude Code 最强 SEO 技能包:26 子技能 + 19 子智能体
GitHub 开源项目 claude-seo 为 Claude Code 提供 26 个 SEO 子技能与 19 个子智能体,覆盖技术 SEO、E-E-A-T、Schema、GEO/AEO、Agent Readiness、外链与本地 SEO,并支持 PDF/Excel 报告与 Google API 集成。

Coolify:自托管PaaS新选择,替代Vercel与Heroku
Coolify 是一个开源可自托管的 PaaS 平台,支持静态站点、数据库、全栈应用及 360+ 一键服务,是 Vercel、Heroku 和 Netlify 的替代方案,GitHub 星标超 63k。