GitHub确认3800个仓库遭恶意VSCode扩展供应链攻击:开发者安全警钟再次敲响

2026年5月20日,安全研究机构BleepingComputer报道,GitHub正式确认一起通过恶意VSCode扩展发起的供应链攻击事件,导致约3800个代码仓库遭到未授权访问和数据泄露。这是继此前GitHub内部仓库遭入侵调查之后,事件的最新进展。

事件经过

攻击者通过在VSCode扩展市场发布看似正常的恶意扩展,利用开发者在日常工作中安装和使用扩展的习惯,植入恶意代码。当开发者安装了这些被污染的扩展后,攻击者可以窃取GitHub访问令牌,进而访问开发者有权限的所有仓库。

据安全研究人员分析,攻击链条如下:

  • 攻击者在VSCode Marketplace上架伪装成代码格式化、语法高亮等常见功能的扩展
  • 扩展内部嵌入了经过混淆的恶意代码,在用户不知情的情况下收集环境变量和Git凭证
  • 窃取到的GitHub Personal Access Token被发送到攻击者控制的C2服务器
  • 利用这些令牌,攻击者批量克隆了约3800个私有和公开仓库

影响范围

受影响的仓库涵盖了多个行业和领域,包括但不限于:

  • 企业内部源代码和配置文件
  • 包含API密钥和数据库凭证的.env文件
  • CI/CD流水线配置和部署脚本
  • 未公开的安全漏洞修复代码

GitHub安全团队表示,他们已经在第一时间下架了相关恶意扩展,并正在通知受影响的仓库所有者。同时,GitHub建议所有开发者立即检查自己的VSCode扩展列表,卸载来源不明或最近安装的可疑扩展。

如何自查和防护

作为开发者,你可以采取以下措施保护自己:

1. 检查已安装扩展

打开VSCode,进入扩展面板(Ctrl+Shift+X),逐一审查已安装的扩展。重点关注:

  • 发布者信息是否可信
  • 扩展的下载量和评价
  • 最近是否有可疑更新

2. 审查GitHub访问令牌

前往GitHub Settings → Developer settings → Personal access tokens,检查所有活跃令牌:

  • 删除不再使用的令牌
  • 为仍在使用的令牌设置最小必要权限
  • 启用令牌过期时间

3. 启用安全告警

在GitHub仓库设置中启用以下安全功能:

  • Dependabot alerts:依赖漏洞自动告警
  • Secret scanning:自动检测代码中的密钥泄露
  • Push protection:阻止包含敏感信息的推送

4. 使用.gitignore保护敏感文件

确保.gitignore中包含以下条目:

.env
.env.local
.env.production
*.pem
*.key
config/secrets.yml

VSCode扩展安全的深层问题

这起事件再次暴露了IDE扩展生态系统的安全隐患。VSCode扩展市场目前缺乏严格的代码审查机制,任何人都可以发布扩展,而扩展拥有与VSCode进程相同的系统权限。这意味着恶意扩展可以:

  • 读取终端中的环境变量(包括密钥和Token)
  • 访问文件系统中的任意文件
  • 发起网络请求将数据外传
  • 修改其他扩展的行为

安全专家建议,开发者应该像对待npm包一样对待VSCode扩展——只安装来自可信发布者的扩展,定期审查扩展权限,并考虑在处理敏感项目时使用VSCode的受限模式(Restricted Mode)。

给站长的建议

如果你的团队使用VSCode进行开发,建议立即采取以下行动:

  1. 全员检查:通知团队所有成员检查已安装的VSCode扩展
  2. 轮换凭证:如果团队中有人安装过可疑扩展,立即轮换所有GitHub令牌和相关密钥
  3. 审计日志:检查GitHub仓库的访问日志,确认是否有异常克隆或下载行为
  4. 建立白名单:制定团队扩展白名单制度,只允许安装经过审核的扩展

供应链攻击正在成为开发者面临的主要安全威胁之一。从npm包投毒到现在的VSCode扩展攻击,攻击者越来越善于利用开发者的信任和便利性来实施入侵。保持警惕、建立安全意识,比任何时候都更加重要。

本文参考来源:BleepingComputer – GitHub confirms breach of 3,800 repos via malicious VSCode extension

© 版权声明
THE END
喜欢就支持一下吧
点赞9 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容