Ohhnews

分类导航

$ cd ..
Jetbrains Blog原文

JetBrains Marketplace 生态系统安全更新:应对恶意第三方AI插件

#jetbrains marketplace#插件安全#api密钥窃取#人工智能#供应链攻击

在JetBrains,我们打造的工具旨在赋能开发者进行创造、自动化与创新。在当今快速演变的软件供应链与威胁环境下,我们坚信负责任的透明度必须成为开发者生态系统的基石。AI辅助开发的爆发性增长彻底改变了工程团队的工作方式,但也引入了新的利用途径。虽然我们的插件验证器历来侧重于兼容性和API使用分析,但我们正持续演进Marketplace的接入管道,引入高级安全扫描能力,以增强对生态系统的保护。

我们的理念很简单:发现并公开生态系统中的缺陷,并将这些信息与开发者社区开放共享,这并非示弱,而是严格审查与主动威胁管理计划的体现。通过积极搜寻并瓦解恶意插件行为,我们的目标是在威胁行动者之前采取行动,确保社区能够保护其源代码和本地环境安全。

为此,JetBrains今天披露了一起涉及15个发布在JetBrains Marketplace上的第三方插件的AI API密钥窃取活动。

事件及即时缓解措施

2026年6月16日,我们的团队收到安全报告,详细描述了一起涉及JetBrains Marketplace上15个第三方插件的AI API密钥窃取活动。这些插件伪装成合法的AI工具,暗中窃取开发者配置的AI供应商API密钥。

我们立即采取行动消除威胁、降低用户风险,并阻断这些恶意行为者使用的向量。

  • 已采取的即时措施及当前状态
    • 全部移除: 所有被标记的15个插件已从JetBrains Marketplace彻底清除,并已阻止未来下载。
    • 发布者封禁: 与该活动相关的7个底层发布者账户已被永久终止。
    • 远程终止开关已触发: 所有受影响插件已在后端架构中明确标记为损坏。此原生机制会在用户下次重启IDE时远程禁用扩展,立即阻止其在本地机器环境上的进一步恶意执行。
    • 无核心系统受损: 我们的安全团队已确认,在此事件中没有任何内部JetBrains源代码、开发环境或核心企业基础架构被访问或泄露。

技术分析:恶意活动如何发生

恶意插件的运行方式与广告完全一致(提供文本生成或单元测试工具),以保持低可见性。威胁行动者依赖高度特定的向量来掩盖其数据外泄活动:

  • 陷阱: 当开发者在插件配置设置中输入其个人AI供应商密钥并点击"应用"时,插件会执行一个未授权的后端功能。
  • 规避: 为防止本地网络和IDE调试器标记异常连接,插件静默安装了JVM全局的X509TrustManager。此步骤主动禁用了标准的未签名和自签名TLS警告。
  • 外泄: 插件随后通过未加密的HTTP将验证后的密钥字符串以纯文本JSON负载直接传输到硬编码的命令与控制(C2) IP地址(39.107.60[.]51)。

历史上,我们的插件验证器工具被设计为兼容性和API使用检查器,而非专门的数据流或反恶意软件扫描器。由于插件使用的核心API在孤立状态下看似正常,因此初始接入过程中并未标记出个别硬编码端点及自定义TLS配置。

加强我们的审核管道

发现并沟通这些安全漏洞是构建更具弹性的开发环境的关键一步。我们正持续更新自动化机制,确保这类特定模式无法绕过Marketplace的初始筛选。

我们正在积极为接入管道部署新的规则层,专门用于标记并拦截:

  • 插件源代码中包含未加密的原始非HTTPS或原始IP端点。
  • 全局性的、未经授权的TLS弱化行为(例如自定义X509TrustManager注入)。
  • 针对插件处理类似敏感云API密钥的配置输入时的自动化代码审查触发。

必要操作与逐步修复指南

如果您在2026年6月17日之前已下载或与下方列出的任何插件发生过交互,请立即执行以下安全规程:

  • 验证并清理工作环境: 导航至IDE的插件管理器(设置 > 插件 > 已安装)。虽然JetBrains已远程禁用该15个受损工具,请手动从系统中清除所有未经验证的AI助手、自动代码审查工具或Git附加组件。

提示框: 关于Marketplace信任的说明: 在审计插件时,请记住,虽然已验证供应商徽章确认发布者的资料是真实的,且与真实的法律实体或个人关联,但它仅是一个组织验证。它并不100%技术保证插件的绝对安全或代码质量。在授予第三方工具访问本地环境的权限时,请始终遵循标准安全谨慎原则。

  • 作废并重新颁发API凭证: 将输入到这些插件中的任何令牌视为已泄露。访问您在OpenAI、DeepSeek、SiliconFlow或其他相应供应商处的开发者控制台,永久撤销那些机密并生成新密钥。
  • 检查账户消费记录: 查看您的AI供应商仪表板,留意异常活动。仔细检查API花费的突然激增、未识别的查询,或与恶意行为者已知IP基础设施(39.107.60[.]51)相关的访问请求。
  • 建立网络级防护: 通过限制所有出站流量到恶意命令与控制服务器来保护网络边界。企业管理员应将39.107.60[.]51直接添加到防火墙规则集或中央DNS黑名单中。
  • 应用最小权限原则: 设置未来IDE集成时,使用范围受限的令牌而非根密钥。将新的API凭证限制在特定所需模型上,并强制执行严格的消费上限,以控制任何潜在未来泄露的影响。
  • 扫描代码仓库中暴露的凭证: 确保您的凭证没有意外泄露到源代码中。对活跃代码库进行检测审计,确保版本控制中没有存储任何活跃的AI供应商令牌。

受影响的插件:

  • DeepSeek Junit Test (org.sm.yms.toolkit)
  • DeepSeek Git Commit (com.json.simple.kit)
  • DeepSeek FindBugs (org.bug.find.tools)
  • DeepSeek AI Chat (org.translate.ai.simple)
  • DeepSeek Dev AI (com.yy.test.ai.simple)
  • DeepSeek AI Coding (com.dev.ai.toolkit)
  • AI FindBugs (com.json.view.simple)
  • AI Git Commitor (com.my.git.ai.kit)
  • AI Coder Review (org.check.ai.ds)
  • DeepSeek Coder AI (com.review.tool.code)
  • AI Coder Assistant (org.code.assist.dev.tool)
  • DeepSeek Code Review (com.coder.ai.dpt)
  • CodeGPT AI Assistant (com.my.code.tools)
  • DeepSeek AI Assist (ord.cp.code.ai.kit)
  • Coding Simple Tool (com.dp.git.ai.tool)

安全前行:ACP协议

虽然运行外部代码插件不存在通用的万无一失的解决方案,但我们强烈建议迁移至AI工作流的开发者采用代理客户端协议(ACP)注册表,其中可以找到代理列表

作为与Zed合作构建的开放标准,ACP协议改变了AI工具与编辑器交互的方式。相较于信任传统的未经沙箱处理的Marketplace插件及其自定义执行流程,通过ACP注册表注册的工具使用结构化的标准输入和输出进行通信。该协议标准化了IDE与代理之间的通信流,大幅减少了潜在的攻击向量。

我们始终致力于透明地调整我们的系统,以保护全球工程社区。