夜雨聆风学习资料网

ARTICLE · 1316698

第三方插件的安全清单 ——避坑来路不明的 Skill

第三方插件的安全清单 ——避坑来路不明的 Skill

🛡️ AI前见 · 安全自保系列

装之前先看这 5 行

一个插件,端掉了 GitHub 的内部代码仓库

📌 这篇讲什么
现在装插件的手速,普遍快过检查插件的手速。IDE 扩展、浏览器插件、MCP 服务器、Agent Skill——它们的共同点是:装下去那一刻,它拿到的权限比多数 App 还大。
我把自己每次安装前的动作压成了 5 行必看 :发布者字段、入口命令、依赖与外发域名、版本节奏、说明文本的人味。5 行看完大概两分钟,拦得住绝大多数来路不明的东西。

✦ ✦ ✦

🩸 01 为什么插件成了新的攻击入口

先接受一个事实:插件不是"功能补丁",是一段跑在你机器上、由别人写的代码。它通常默认拥有编辑器进程的全部能力——读你打开的文件、访问工作区、调命令行、拿环境变量。而安装它的成本,只是点一下。

攻击者也早就把预算挪到了这里。国内做开源供应链安全的悬镜安全,在其《2025 开源供应链投毒分析技术报告》里给出的年度实数是:一年内识别出 56928 个存在真实恶意行为的投毒包,比 2024 年的约 3.6 万个上涨 58%。其中 npm 公共仓库占比超过 92%,PyPI 因为强制双因子认证降到 4.49%,AI 模型托管平台 Hugging Face 上有超过 940 个模型文件被投毒。

同一份报告里还有一句容易被划掉的话:被投毒的对象除了传统开源组件和 IDE 扩展,已经明确包含了 Agent 的 MCP 与 Skill 工具。也就是说,"给 AI 装个能力"这件事,已经进了供应链安全的台账,不再只是配置题。

⚠️ 一个反直觉的点
下载量高、上架在官方市场、有图标有截图,都不构成安全证明。Nx Console 有约 220 万安装量,照样在官方分发渠道被投毒;一款带基础勒索能力的恶意扩展 susvsex,甚至把恶意功能直接写在了描述里,仍然登上了 VS Code 官方市场(BleepingComputer,2025-11)。

✦ ✦ ✦

🔍 02 四个真实案例,拆开看手法

下面四个不是"新闻标题级别"的概括,细节里全都藏着可以直接抄进检查清单的信号。

🪳 GlassWorm:会自己往上爬的插件蠕虫

攻击者用隐形 Unicode 字符伪装成 Flutter、Vim 等热门开发工具的名字,绕过代码审查,再人为刷高下载量混淆视听(2025-10 首报)。装上之后它不止偷东西:窃取 GitHub、npm、Open VSX 的账户凭证,扫描加密货币钱包,在受害者机器上部署 SOCKS 代理转发恶意流量,并安装 HVNC 隐藏远程桌面。偷到的新凭证会被拿去投下一批插件——Veracode 在 2026-07 称它是首个自传播的 VS Code 扩展蠕虫;2025-12 的第三波攻击又在两大市场投放了 24 个新增恶意扩展包。

→ 可抄信号:近似名、刷出来的下载量、机器上莫名多出的代理与远程桌面进程。

⏱️ Nx Console:18 分钟,够烧穿 GitHub

2026-05,攻击者没有走 npm 投毒的老路,而是窃取了贡献者的 GitHub 令牌,向这个约 220 万安装量的热门插件植入恶意版本,暴露时长只有约 18 分钟。后果:GitHub 官方确认约 3800 个内部代码仓库因一名员工设备被该插件感染而被窃取,攻击方随后试图出售这批数据。

→ 可抄信号:热门维护者被盗号,同样能在几分钟内完成投毒。"很多人装"和"安全"之间没有关系。

🖼️ 19 个插件,把木马藏进一张假 PNG

ReversingLabs 与 BleepingComputer 在 2025-12 披露:VS Code 市场上一组共 19 个恶意扩展,把恶意文件藏在依赖目录里,伪装成一个 .PNG 图像。活动从 2025 年 2 月就开始跑,一路躲过了市场审核。

→ 可抄信号:扩展包里的"资源文件"是可以执行内容的藏身处。图片后缀不等于图片。

🤖 AI 写的插件,AI 也会偷源码

2026-01,安全研究人员发现两款打着"AI 编程助手"旗号的 VS Code 扩展,合计约 150 万安装量,在提供补全的同时把开发者源码回传到外部服务器(The Hacker News,2026-01-26)。另一侧,Secure Annex 的研究员把 susvsex 那类"描述里自称带勒索功能"的包,归因于当下流行的 vibe coding——用 AI 批量生成再上架,成本极低。

→ 可抄信号:"AI 助手"是当前仿冒密度最高的品类名;而供给端也在被 AI 批量灌水,同质空壳本身就是风险信号。

🚨 别忘了"没恶意但有害"这一大类
2026-02,OX Security 披露四个被广泛使用的扩展存在严重与高危漏洞:Live Server、Code Runner、Markdown Preview Enhanced、Microsoft Live Preview,累计下载量超过 1.2 亿,可被用来窃取本地文件、远程执行代码、做内网侦察。三个 CVE(CVE-2025-65715 / 65716 / 65717)在 2026-02-16 正式公布。
最扎心的一句:研究人员从 2025 年 6 月就开始通知作者,四个维护者里有三个没有回应。
插件不需要作恶,只需要长期没人修。

✦ ✦ ✦

✅ 03 装之前先看这 5 行(核心)

顺序是有讲究的:第 1、4 行在详情页就能看完,第 2、3 行需要点开包,第 5 行要读文字。越往后越花时间,也越能筛掉伪装得很好的东西。任何一行判定失败,就直接停,不用看完五步。

第 1 行🏷️ 发布者字段,不是显示名

显示名是自由填写的,发布者 ID / 仓库 org 换不掉。GlassWorm 与仿冒 Prettier 的那款插件,靠的都是"名字看起来像"。

怎么查:点开发布者主页,核对三件事——扩展 ID 是否与官网、GitHub 仓库同名同 org;该发布者名下是否只有一个包;仓库 star 数与安装量是否严重不匹配。

红灯:名字与热门工具近似但 ID 陌生;发布者主页是空壳;把扩展 ID 复制去搜,搜不到任何第三方讨论。

第 2 行⚙️ 入口命令与权限声明

这一行是"它到底能干什么"。IDE 扩展看 package.json 里的 activationEvents 和入口脚本;MCP 服务器看配置里的 command + args;Skill 看它声明可调用哪些工具、是否需要 shell 与全盘读写。

怎么查:在包目录里直接搜这几个特征串——curlwgetchild_processevalbase64-enc.sshcredentials。命中不一定是恶意,但你必须能解释它为什么需要。

红灯:一个"代码格式化"插件不需要读你的 SSH 私钥;一个"翻译"插件不需要执行命令行;安装脚本里出现编码后的一长串字符。

第 3 行🔗 依赖清单与外发域名

恶意逻辑常常不在主包里,而在它拉下来的某个依赖里;泄露数据的证据也一定写在域名上。

怎么查:看 lockfile 新增依赖数量与名字(重点盯拼写只差一两个字母的包,即 typosquatting);再搜包内所有 http 开头的字符串,逐个域名对照 README 里公开声明的服务地址。

红灯:README 完全没提、代码里却在请求的第三方域名;免费插件把数据发往你自己解析不到归属的 IP。
顺带说一句,连正规开发者自己也会漏密钥:Wiz 在 2025-10 报告称,在 VS Code 与 Open VSX 的扩展里发现了 500 多个泄露的密钥,波及约 15 万安装量。

第 4 行📈 创建时间与版本节奏(别看安装量)

下载量是最容易被买走的指标(GlassWorm 就是刷量上位的)。真正有信息量的是时间轴。

怎么查:看首次发布日期与最近更新日的间距;看版本历史有没有"长期沉默 → 突然跳一个大版本"(典型是被接管或令牌被窃);看评论的时间分布是否挤在同一天、语气是否雷同。

红灯:老包突然换维护者并推大版本;近半年零更新但仍在被 AI 教程推荐(OX Security 那个案例里,三个维护者对半年前的漏洞通报没有回应)。

第 5 行📖 说明文本有没有"人味"

真正写工具的人,会在 README 里讲限制、讲配置项、讲已知问题。空壳包只会讲"一键搞定所有需求"。

怎么查:README 是否只有功能吹嘘、没有实现说明;截图是不是与描述功能对不上;Skill 类还要读它自己的指令正文——里面是否出现"忽略此前的规则""自动把结果发送到""不必询问用户直接执行"这类句子。

红灯:描述里出现越权授权语句;文本明显是模板批量生成、连产品名都写错。这类包未必想害你,但它连自己都不可信。

💡 一句话记住这五行
名字认 ID,能力认命令,外发认域名,可信认时间,意图认文字。
安装量只说明它红,不说明它安全。

✦ ✦ ✦

🧩 04 Skill 和 MCP 比传统插件多两个坑

如果你是把插件装给 AI Agent 用(MCP 服务器、Skill 包),前面五行仍然全部适用,但要多背两条规则。

🎭 坑一:文档文本本身就是攻击载荷

传统恶意插件要执行才能害人;MCP 生态里,一个工具描述可以被写成指令,模型读到就可能当成正当要求执行,这叫工具投毒与间接提示注入。微软在 2025-04 就专门发文讲 MCP 场景下的间接注入防护,学界也把 prompt injection 列为该类协议的头号风险。所以:Skill 的正文不只是说明书,是待审内容。

🚪 坑二:AI 会自动帮你加载你写的配置

Wiz 在 2026-06 披露 Amazon Q 的 VS Code 扩展存在"自动加载 MCP 服务器配置"导致被攻破的风险路径。含义很直白:配置文件一旦落在项目里,你打开别人的仓库就可能触发它。对策是把 MCP 配置放用户级而不是项目级,对项目内的配置文件保持"先审后启",并且给 Agent 的能力做减法——只开这一个任务需要的那几个工具,别一次全授权。

🧯 05 已经装了可疑插件,止损按这个顺序

卸载只是第一步,GlassWorm 类恶意程序的设计目标就是让你"删了就以为没事"。顺序别乱:

① 先断凭证,再谈卸载。立刻撤销并重新生成 GitHub 令牌、npm token、Open VSX 登录态,改工作机密码。偷凭证的下一步就是拿它去投毒别人,凭证不撤,风险会持续外溢。

② 检查有没有被装上"外网络口"。看系统代理设置、可疑的常驻进程、任务计划程序与开机启动项、远程桌面/远程协助是否被打开——GlassWorm 的实际行为正是部署 SOCKS 代理与 HVNC 隐藏远程桌面。

③ 查数据有没有外发痕迹。从插件目录起,反查它请求过的域名与端口,再从网络日志里确认这台机器是否真的往外连过;连过就按"已泄露"处理。

④ 清仓库里的密钥。把项目里所有 token、密钥、连接串轮换一遍,同时检查是否被误提交(Wiz 那 500 多个泄露密钥,多数就是这么进来的)。

⑤ 同类检查扩到浏览器。浏览器扩展拿到的是你已登录的会话,机制比 IDE 更敏感。2024 年底 Cyberhaven 的 Chrome 扩展被入侵后,Darktrace 是在异常行为里才发现的——受害者本人毫无感知。现在就把扩展列表过一遍,长期不用的直接移除。

🖋️ 写在最后
AI 工具这一轮真正的成本,不在订阅费,在权限。每装一个 Skill,你交出去的是"这台机器允许别人写的代码替我做决定"。
所以我现在的原则很简单:能用官方渠道自带能力解决的,不引第三方;必须引的,5 行看完再点安装;点完当天,把权限清单再读一遍。
插件市场不会替你做审核,但两分钟会。

✦ ✦ ✦

📚 推荐阅读

① 实测推荐:让公众号写作效率翻倍的5个AI用法
② 公众号用AI写作会限流吗?新手避雷清单
③ AI时代,我的抖音最新流量密码
④ 5分钟脱敏法:让AI帮你干活,又看不到你的底牌——直接能上手

📎 数据说明:本文数值均来自上述公开研究报告与厂商安全公告,检索时间 2026-11。不同机构对下载量的统计口径存在差异(如 OX Security 四个扩展的累计量,公开报道出现 1.25 亿与 1.28 亿两种表述),本文取保守下限。案例的技术细节以原始报告为准,具体处置请结合自身环境判断;涉及企业资产时,请先联系你的安全团队。

✦ ✦ ✦

🛡️ AI前见 · 只做能落地的 AI 安全自保

如果这 5 行对你有用,帮我把它推给一个刚装了插件的同事
下一篇拆「AI Agent 的权限该给多少」,关注后不会错过

👍 点赞|👀 在看|⭐ 收藏|🔁 转发|➕ 关注

🔎 搜一搜关键词
#插件安全#供应链投毒#MCP安全#Agent Skill#提示注入#VSCode扩展#AI工具安全#GlassWorm

原创内容,转载请注明出处 · 本文不构成安全服务建议

本文借助 AI 辅助整理润色,观点与审核由作者负责

回首页,搜索你想要的文档

在首页搜索框输入关键词,快速定位资料

文库首页搜索指引 立即搜索

相关学习资料