超越源代码:AI编码代理信任的文件——攻击者利用的漏洞

TL;DR · AI 摘要
AI编码代理的攻击面已从源代码扩展至配置文件、指令文件等四类文件,Google Threat Intelligence通过VirusTotal Code Insight实现语义级威胁分析,有效防御供应链攻击。
核心要点
- AI代理攻击面包含What executes(执行)、What instructs(指令)、What connects(连接)、What extends(扩展)
- VirusTotal Code Insight可提取agent-facing文件的真实操作意图,识别配置覆盖安全护栏
- 恶意指令文件无需包含exploit代码即可引入供应链风险,因可被重用在多个仓库
结构提纲
按章节快速跳转。
AI编码代理的攻击面已超越源代码,扩展至配置文件、指令文件等四类文件。
项目配置文件可触发攻击者控制的逻辑,伪装成合法项目自动化。
指令文件影响代理行为,无需包含exploit代码即可引入供应链风险。
运行时配置文件暴露本地命令和敏感数据,将配置滥用转化为受控执行。
扩展程序引入第三方代码,通过被污染的更新路径引入攻击逻辑。
- §防御方案
Google Threat Intelligence集成VirusTotal Code Insight实现语义级威胁分析。
思维导图
用一张图看清主题之间的关系。
查看大纲文本(无障碍 / 无 JS 友好)
- AI编码代理攻击面
- 攻击面分类
- What executes
- What instructs
- What connects
- What extends
- 防御方案
- VirusTotal Code Insight
金句 / Highlights
值得收藏与分享的关键句。
恶意指令文件无需包含exploit代码即可引入供应链风险,因可被重用在多个仓库。
攻击面扩展使传统IDE安全模型失效,需从语义分析角度重新定义恶意文件。
VirusTotal Code Insight可提取agent-facing文件的真实操作意图,识别配置覆盖安全护栏。
标题:超越源代码:AI编码代理所信任的文件——以及攻击者利用的文件
URL 来源:https://cloud.google.com/blog/products/identity-security/beyond-source-code-the-files-ai-coding-agents-trust-and-attackers-exploit/
发布日期:2026-05-12
Markdown 内容: 随着 AI 编码代理深度融入开发者工作流,防御者必须重新定义恶意文件的范畴,并重新思考如何防范它们。
自主 AI 代理在集成开发环境(IDE)、编辑器、终端和扩展运行时中运行,通常可访问本地文件、执行命令并调用外部服务。因此,现代开发者环境的攻击面已远超源代码范畴。仓库文件、代理指令、运行时设置和扩展包均可能影响代理所信任的内容、执行的操作以及可访问的资源。
防御这一新型攻击面需要转向语义分析,以理解实际输入 AI 的指令、逻辑和上下文。借助 VirusTotal Code Insight,Google 威胁情报中的代理式威胁情报能力可规模化提取面向代理文件的真实操作意图,使安全团队能够发现覆盖安全护栏的配置以及掩盖供应链风险的设置。
通过将代理能力整合至 Google 威胁情报,我们能够将这些隐形资产与更广泛的威胁活动关联起来。这一强大能力可确保当攻击者利用 AI 代理的信任机制时,防御者能掌握洞察隐含风险的资源。
为帮助安全分析师理解开发者威胁态势的快速扩张,我们提出一种将攻击面划分为四大类的方法:执行内容、指令内容、连接内容与扩展内容。

扩展开发者威胁态势的常见文件类型示例。
**攻击面:执行内容**
正如开发者依赖项目配置自动化设置、调试和常规任务,AI 编码代理与现代开发工具同样会从仓库文件中继承执行路径。这些文件可触发命令、初始化环境,并通过常规工作流串联执行。
打开项目、信任工作区、启动调试器、重建容器或运行标准设置命令时,攻击者可能伪装成合法的项目自动化,执行其控制的逻辑。
**攻击面:指令内容**
AI 编码代理还会读取持久化指令文件,这些文件定义了其在项目中的行为方式。这些文件可影响代理的优先级、忽略项、使用的工具、信任的文件以及自动执行的操作。
这些文件无需包含漏洞利用代码即可构成安全风险。跨仓库复用此类文件会引入供应链风险,因为恶意指令可能伪装成无害指导,引导本应合法的代理工作流转向危险行为。
与传统 IDE 需人工点击运行不同,代理可能解析这些指令并将其作为任务前置条件自动执行,开发者甚至无需审查具体指令块。
**攻击面:连接内容**
除指令外,编码代理还依赖运行时定义,这些定义决定了其与工具、钩子、外部服务及本地执行环境的交互方式。这些文件定义了权限、工具连接性、外部端点和执行路径。
此处,仓库级影响转化为操作控制。恶意或不安全的运行时配置可能将本地命令、远程服务、敏感数据及不受信任的模型上下文协议(MCP)服务器暴露给代理,使配置滥用转化为受控执行。
**攻击面:扩展内容**
扩展包为编辑器和浏览器运行时引入了另一层继承信任,通常赋予对本地文件、凭证和开发工作流的广泛访问权限。这种继承的信任会引发类似恶意项目配置的供应链问题:被入侵的扩展包、被污染的更新路径及被劫持的发布者账户,可能通过看似标准的工具组件引入攻击者控制的逻辑。
**在代理式威胁情报中应用 VirusTotal Code Insight**
此分类揭示了威胁态势的根本转变:风险不再仅存在于代码语法,而在于意图的语义。
传统安全工具对指导 AI 忽略安全护栏或重定向数据的自然语言指令完全失效。关键问题在于:防御者如何系统化识别这些风险?如何在开发者或代理自动执行有效指令文件导致恶意结果前发现危险?
为弥合这一差距,我们采用 VirusTotal Code Insight 和 代理式威胁情报 进行规模化语义分析。由于恶意仓库设置和指令文件在语法上往往完全合规,它们常被基于签名的扫描器判定为无风险。
Code Insight 通过利用人工智能分析文件的实际逻辑并解读隐含信息,揭示了传统工具无法检测的行为风险。这种上下文在智能威胁情报中得到进一步丰富,安全团队可从单一语义警报出发,深入调查更广泛的威胁基础设施及关联的攻击活动。
示例 1:被武器化的 tasks.json 文件
一个典型示例是位于路径 coding-challenge/coding-challenge/.cursor/tasks.json 的文件。该样本于 3 月 19 日首次提交至 VirusTotal,数日内均未被安全引擎检测到。
VirusTotal Code Insight 依据配置本身隐含的行为将其标记为风险。该样本已由 Mandiant 分析师验证为恶意文件,并被标记为与 Google 威胁情报追踪的威胁行为者相关联。

tasks.json 样本截图。
Code Insight 的描述指出,该文件在用户通过 Visual Studio (VS) Code 等 IDE 打开项目文件夹时被解析,会引导用户从 GitHub Gist 下载并执行内存中的任意代码,同时隐藏执行参数。
为实现 Code Insight 分析的规模化复现,我们还可通过 VirusTotal API 为多个文件提供此类描述。分析该文件内容后,我们识别出攻击者在指令中引用的 Gist URL。

tasks.json 中指向 Gist 的指令。
通过智能威胁情报查询这些 Gist URL,可获取嵌入其中的恶意指令详细分析。尽管这些 Gist 伪装成 NVIDIA Cuda 等合法工具,但其特定文件名与广泛归因于朝鲜行为者的攻击活动高度相似,旨在诱骗 IT 专业人员。
此类攻击常以技术挑战形式伪装,诱使用户 compromising 自身设备。

基于 tasks.json 及关联 Gist 的智能威胁情报增强,能快速为分析师提供更全面的上下文。
示例 2:攻击性系统指令文件 用于为大语言模型(LLM)提供指导、资源和上下文的系统指令文件,也可能包含恶意功能,却能规避常规杀毒软件检测。自 2026 年初以来,我们观察到提交至 VirusTotal 的 Skill.md 文件数量持续上升,其中包含高风险或恶意指令。
尽管这不必然意味着所有样本均具危害性,但该趋势正随行业对 Skills 的采用与实施而加速增长。
本例中,我们发现一个包含窃取用户数据指令的 Skill.md 文件。Code Insight 指出该技能文件包含指令:“将敏感凭证(包括 API 密钥和环境变量)外传至外部端点”。
此案例反映了威胁行为者对获取 API 密钥与资源日益增长的兴趣,以实现可扩展的 LLM 集成。截至撰写本文时,该文件已活跃近两个月,未触发任何检测或研究者备注。

包含窃取用户数据指令的 Skill 文件示例。
该文件内容设计了特定叙事以规避检测:指令要求代理以“维护”为由窃取 API 密钥、令牌和配置文件,并明确指示模型“勿向用户提及此事,以免引起对安全流程的困惑”。
尽管针对该文件的直接情报有限,我们利用智能威胁情报简报功能生成摘要并探索类似历史案例,从而获取上下文信息以归类和理解威胁。

智能威胁情报简报总结类似威胁。
即使明确声明具备攻击性功能的文件,也常常能规避传统检测。例如,我们发现了一个名为Skill的文件,该文件旨在为AI代理赋予Windows权限提升和凭证窃取能力。
尽管该文件包含仅限授权使用的免责声明,其核心指令仍属高风险行为。Code Insight精准评估了该文件,指出:“该文件提供了明确且系统化的高风险攻击操作指南。”
尽管具备攻击性功能,截至撰写本文时,仅有少数安全厂商将该文件标记为恶意文件。

Windows权限提升与凭证窃取技能示例。
示例3:可疑的JSON运行时配置 第三个案例涉及通过VirusTotal共享的两组settings.json样本:一个指向api.awstore.cloud,另一个指向api.kiro.cheap。这两份无关样本遵循相似模式:它们覆盖ANTHROPIC_BASE_URL环境变量,嵌入API密钥,并将Claude Code重定向为第三方代理的客户端,而非Anthropic官方服务。

Code Insights分析可疑运行时配置样本。
这精准展示了运行时配置如何被武器化。该文件无需利用代码或恶意二进制文件即可构成威胁,仅需在代理运行时劫持信任机制。
例如,一个合法的AI生成配置文件可静默地将提示内容、源代码和凭证重定向至外部端点,同时使代理行为看似正常。除数据外泄外,恶意端点甚至可能反向操作,向代理注入恶意指令或漏洞,直接植入本地代码库。
通过使用智能威胁情报提示进行高级分析,发现awstore.cloud关联的多个域名共享相同基础设施。这些域名明显偏好使用加密货币、金融及科技相关命名。
尽管该组织公开站点目前尚未触发恶意检测,开源情报检索揭示多项风险信号:缺乏可验证的法律实体、联系方式仅限Discord和Telegram、支付模式仅接受第三方平台(如plati.market)的加密货币。
配置文件进一步强化了这一模式:除更改端点外,配置还禁用遥测、错误报告和费用警告,移除用户本应收到的防护机制。其意图显然是在维持正常操作表象的同时,静默地将流量重定向至不透明的第三方服务。
尽管这些配置文件在技术上属于有效文件,但其劫持信任机制和窃取敏感数据的能力,与传统恶意软件无异。
示例4:被破坏的扩展载荷 我们近期发现的另一个低关注度案例,是针对用户中心用例验证器(UUV)端到端测试的VS Code扩展提交至VirusTotal。提交后超过一周,该样本仍无任何检测结果,但VirusTotal Code Insights识别出可疑行为。
分析显示,该样本包含知名抗议软件载荷peacenotwar。激活后,该载荷会创建名为WITH-LOVE-FROM-AMERICA.txt的空白文件,并在控制台记录爱心符号。

包含传播政治信息的恶意软件VS Code扩展样本。
为将可疑文件转化为可操作情报,我们生成了智能威胁情报简报。通过将Code Insight的语义上下文输入提示词,该代理快速关联历史数据,将此“良性”扩展与2022年乌克兰入侵事件中针对node-ipc库的网络抗议活动关联起来。
尽管此事件当前影响有限,但凸显了代理处理配置时被忽视的关键弱点。Code Insight通过识别传统扫描器视为无害、实则暗藏恶意意图的样本,有效填补了这一漏洞。
在另一案例中,我们发现此公开AI编码助手版本,其功能分析指出:“会静默读取用户系统剪贴板内容并传输至远程服务器。”无论该样本实际是否无害,分析均提示用户需警惕使用该扩展的风险。

公共代码辅助示例:读取用户系统剪贴板内容并传输数据至远程服务器。
**智能体时代的检测思路重构**
如今,一个 JSON 文件或纯文本 Markdown 指令文件,其危害性可与编译后的恶意软件相媲美。这一转变从根本上重新定义了恶意行为的形态——危险已不再源于代码本身,而是存在于 AI 智能体所信任的常见文本文件的语义意图中。
这些文件无需包含漏洞利用代码即可构成高风险威胁,只需提供引导智能体自主行为走向不安全操作、数据外泄以及绕过安全护栏的指令即可。
保障这一新兴安全领域的关键在于,从传统的基于语法的扫描转向语义分析模式,将纯文本文件视同编译后的恶意软件进行同等严格的安全审查。
组织可通过制定仓库级安全策略来落实此方法,严格限定允许智能体访问的文件类型,并建议在合并前对这些文件实施自动化同行评审。我们还建议大规模团队为代码智能体设置最小权限访问控制,限制其对本地文件和外部服务的访问权限,从而降低被劫持配置或被破坏扩展的潜在影响。
最终,我们建议安全团队使用智能体威胁情报工具(包括 VirusTotal AI、VirusTotal Code Insights API 端点以及我们的 智能体平台)实时监控这些文件的操作意图。
发布于