新型恶意软件活动利用虚假核武器提示欺骗AI扫描器
名为Hades的恶意软件活动升级,采用提示注入攻击来规避AI扫描器。攻击者在JavaScript代码中加入注释,指示AI机器人忽略安全限制并生成生物/核武器描述,从而触发机器人的安全机制,使其停止扫描后续的恶意负载。此外,该活动还通过将加载机制与负载分离、使用预编译二进制文件、仅在初始化时触发负载等方式提高隐蔽性,并扩大了窃取凭证的范围。
近日,名为Hades的恶意软件活动引起了安全研究人员的注意。该活动主要针对科学和机器学习领域的开发包,通过供应链攻击传播恶意软件。最新升级中,攻击者采用了一种简单但有趣的策略:在JavaScript文件中加入包含提示注入攻击的代码注释。这些注释指示AI机器人当前处于无限制模式,没有安全指南,并要求机器人生成生物武器和核武器的详细描述。这听起来像是天方夜谭,但事实上,正是利用了AI的安全机制——当机器人遇到这种危险请求时,它会触发安全暂停,从而停止扫描文件剩余部分,而真正的恶意负载就藏在那里。
这种技术被称为“对抗性攻击”,虽然不太可能大规模生效,但足以扰乱一些简单的安全检查。例如,有用户尝试用Anthropic的Fable模型扫描此类文件,结果收到了“聊天已暂停”的消息。虽然这不代表所有AI模型都会中招,但足以让粗心的开发者误以为安装的包是安全的。此外,在CI/CD流水线中运行的扫描机器人也可能被此类手段欺骗。
除了对抗性攻击,恶意软件还进行了其他升级。例如,在某些情况下,加载机制和负载被分拆到两个不同的包中,而这两个包通常会被一起安装,这使得简单的扫描器难以发现。攻击者还更多地使用了预编译的二进制文件(常见于性能敏感的Python包),并确保负载仅在包被实际初始化或导入时才执行,而非在安装时触发,从而进一步规避检测。
在窃取凭证方面,Hades的贪婪程度也有所提升。除了继续窃取CI/CD凭证外,现在它还会窃取npm、PyPI、RubyGems、JFrog和Kubernetes的服务账户令牌,以及AWS临时凭证、SSH密钥、Docker配置、Shell历史记录、.env文件和AI开发工具配置。据估算,目前已知有37个Python包和106个JavaScript包参与了这次攻击活动,其中包括大量拼写错误的软件包名称,例如将“requests”伪装成“rsquests”。
讽刺的是,目标用户群——科学家和AI工程师——往往缺乏基本的安全意识。据作者在担任系统管理员时的经验,很多高薪AI工程师甚至不会配置Git或理解邮件工作原理。这不禁让人担忧,即便恶意软件手段再高明,也抵不过人为疏忽。安全专家建议,开发者应仔细验证包名和作者,并使用沙箱环境运行可疑代码。