一行 JSDoc 注释,3 次鼠标操作,开发机就此沦陷。
这不是电影里的社工攻击,而是 2026 年真实存在的安全漏洞——CVE-2026-50178。它让所有使用 Angular 开发 + VS Code 的工程师,在毫不知情的情况下变成「活靶子」。
数据触目惊心:Angular 是全球使用量前三的前端框架,VS Code 长期占据开发者工具榜首。两者叠加,受影响开发者数量保守估计超过 2000 万。
漏洞本质:藏在文档注释里的致命陷阱
CVE-2026-50178 究竟是什么?
简单说:攻击者在 JSDoc 注释里植入恶意代码,当开发者在 VS Code 中 hover 或点击相关代码时,恶意 payload 自动执行,攻击者直接获得开发者机器的远程代码执行权限。
关键在于,这种攻击不需要用户下载任何可疑文件,不需要点击任何链接,不需要访问任何恶意网站——只要你编辑的代码里恰好包含那段被污染的注释,你就中招了。
这个漏洞的严重性在于它完美利用了开发者的工作习惯。JSDoc 是标准注释格式,每个 Angular 开发者每天都会与之交互。攻击者正是瞄准了这个高频、低防备的触点。

为什么这个漏洞让安全圈炸锅
99% 的开发者以为代码注释只是给人看的文档,不会被执行。
错了。 攻击者早就盯上了这片「安全盲区」。
这次漏洞的特殊之处在于:
攻击链极短。 传统供应链攻击需要渗透 npm 包、篡改构建脚本、等开发者执行命令,链条长、变数多。而 CVE-2026-50178 的攻击路径简化为:植入恶意注释 → 开发者 hover/点击 → 立刻触发。三个步骤,直接打穿。
隐蔽性极高。 恶意 JSDoc 注释看起来和正常文档完全一样。开发者不会怀疑自己正在阅读的 API 文档,安全工具也不会标记「正常」的注释内容。现有的安全扫描产品几乎没有针对这种攻击模式的检测规则。
波及范围极广。 VS Code 扩展生态高度碎片化——一款流行的 Angular 扩展往往依赖其他十几款子扩展,攻击者只需要搞定其中一个,就能顺着依赖链渗透到数十万开发者的机器上。
金句:攻击的进化方向从来都是「更短的路径、更低的成本、更小的动静」——这次,它瞄准了你最信任的注释。
技术拆解:攻击是如何实现的
漏洞的根因在于 Angular VS Code 扩展对 JSDoc 注释的解析逻辑存在缺陷。当扩展处理包含特定模式的注释时,触发点被错误地传递给了底层 shell 环境。
正常流程:JSDoc 解析器读取注释 → 提取文档信息 → 渲染到 hover 面板
漏洞流程:JSDoc 解析器读取注释 → 检测到恶意 pattern → 执行预埋的 shell 命令
关键问题是:VS Code 的 hover 预览和点击预览功能在渲染时,会调用扩展提供的格式化逻辑——这个逻辑本应只负责「显示」,却被恶意扩展注入了「执行」能力。
攻击者只需要构造这样的注释:
/**
* @description 点击查看详情
* @action shell://malicious-package/run.sh
*/
当开发者好奇点击这个「详情」链接时,本地隐藏的 shell 脚本就已经在后台跑起来了。

谁能保护你
短期内:
- 禁用或卸载来源不明的 Angular 相关扩展
- 在 VS Code 设置中关闭扩展的「允许执行脚本」权限(路径:Extensions → Extension Settings → 搜索 "allowScripts")
- 使用代码静态分析工具预检项目依赖
长期看:
- 等待官方发布 v1.6+ 版本修复
- 关注 Angular 官方安全公告(官方博客)
- 企业用户建议部署开发环境沙箱隔离方案
适合谁关注
- 安全研究员:补充 JSDoc 注入攻击的案例库,推动静态分析工具规则更新
- 前端开发者:重新审视「安全地使用开源扩展」这件事
- 企业安全团队:评估内部开发环境暴露面,制定扩展使用规范
观点:这不是一个 Bug,是整个生态的盲点
VS Code 扩展市场本质上是一个信任系统——你安装一个扩展,就是把自己代码的执行权交给了陌生人。这个漏洞撕开了一个口子:你信任的「官方推荐」扩展,可能正在出卖你。
平台方需要建立更严格的扩展审核机制,否则类似的攻击只会越来越多。
获取方式
完整技术分析(含漏洞利用完整演示 + 企业级防护方案)已发布到驰云技术博客:
看完这篇,你的第一反应是什么?
我猜你正在回想自己装过多少个 Angular 扩展——有几个你真的仔细审查过源码?
评论区告诉我:你平时会检查 VS Code 扩展的权限设置吗?
觉得有帮助的话,点个赞,让更多开发者看到这篇文章 🫡
🔥 觉得有用?点赞 + 在看 + 转发,让更多朋友看到!
💬 评论区聊聊你的想法,老粉优先回复

评论(0)