近期,全球网络安全研究机构Socket Threat Research Team发现了一场新型且持续的供应链攻击,这场由朝鲜黑客操控的恶意活动通过侵入NPM生态系统传播恶意软件包,名为“面试传染(Contagious Interview)”行动。此次行动通过伪装成招聘流程的方式,对全球软件开发人员展开有针对性的攻击,使得供应链安全雪上加霜。研究团队共发现35个恶意的NPM包散布于24个不同的账户中,其中有6个依然存在且已被下载超过4000次。随着这一发现曝光,相关恶意软件包及其账户正被请求从NPM官方库中移除。 朝鲜黑客所用的恶意软件结构极具隐蔽性,采用多阶段加载技术,绕过传统安全检测。每个恶意包都内含一个名为HexEval的十六进制编码加载器。
该加载器在安装时会搜集受害主机的环境信息,解码并执行后续恶意脚本。该脚本随后从远程服务器获取并加载第二阶段恶意载荷BeaverTail,该载荷专门设计为信息窃取工具,针对被感染机器搜集关键数据。BeaverTail进一步加载名为InvisibleFerret的第三阶段后门,确保攻击者能持续且隐秘地控制受害者系统。此种套娃式结构极难被静态扫描器或手动审核发现。攻击者甚至还维护了一个跨平台键盘记录器,能捕捉受害者每一次键击,显示其针对不同受害对象采取定制化监控的能力。 此次操作中的恶意软件包常以常见或热门NPM包名的拼写错误名称出现,例如“reactbootstraps”伪装成“react-bootstrap”,“react-plaid-sdk”模仿真实的“react-plaid-link”,让毫无戒备的开发者很容易误下载。
HexEval加载器本身代码简洁,使用了十六进制字符串来隐藏真实模块名称和远程控制服务器地址,运行时才解码并向命令与控制(C2)服务器发起POST请求,获取并执行远程脚本。这些C2服务器主要托管在安全防护较弱的Vercel平台,并且服务器响应会依据请求环境和请求头的不同有条件地返回恶意代码,从而进一步规避检测。 HexEval加载器不仅发起远程执行,还在部分版本中嵌入了宿主机的环境指纹探测代码。它会收集操作系统类型、主机名、当前用户信息及MAC地址等,辅助攻击者准确识别目标设备特征。由此可见攻击组织的技术手段越来越成熟,渗透策略更趋智能化。 值得关注的是,名为“jsonsecs”的恶意软件包引入了跨平台键盘记录功能,支持Windows、macOS和Linux三大主流操作系统。
此键盘钩子实现方式基于本地编译的原生二进制模块,加载相应系统专属键盘监听程序,随时捕捉受害者所有键入内容。通过这种深度监控,攻击者可以获取登录凭证、机密信息以及其他关键数据,满足更高级别的信息窃取需求。 北朝鲜的攻击活动多通过社交工程手段展开,犯罪分子在LinkedIn等职业社交平台上伪装成可信的技术招聘人员,精准锁定正在寻找工作的开发者。他们会发送精心设计的“编程任务”或“技术评估”,这些任务中附带的恶意NPM包功能被巧妙隐藏,迫使目标在本地环境运行代码。一些受害者受骗在非容器化环境(如未隔离的主机系统)中执行代码,甚至被威胁要在视频共享时运行,无形中放大了攻击破坏力。 在攻击活动被披露之前,早期的恶意包将BeaverTail植入代码中,通过静态文件直接执行,审查难度较大。
随着安全团队追踪分析,攻击者转用HexEval编码加载器,伺机获取并动态执行第二阶段恶意载荷,显著减低了监测和取证难度。自2025年4月以来,研究人员发现了多批恶意包群,其中包括带有加载器和隐写BeaverTail代码的多个模块,显示该系列攻击演变成熟,且持续活跃,未来可能出现更多类似恶意软件包。 犯罪团伙的社会工程作案手法极具针对性。他们利用GitHub信息及公开资料搜集潜在受害者的背景,假扮招聘方个性化推送招聘信息,制造高度可信的假象。招聘文档和代码库通常托管在Google Docs或Bitbucket等公开平台,任务往往要求受害者操作指定远程仓库或下载特定NPM包,将恶意代码隐蔽其中。在收到作业后,攻击者会加紧联系受害者,甚至要求通过视频会议指导运行恶意代码,避免使用隔离环境,确保恶意程序获得最高权限的执行机会。
该行动表明,朝鲜黑客已深刻掌握软件供应链的特殊风险,通过供应链植入恶意程序成为攻击重点。通过将恶意代码伪装为合法依赖软件,攻击者突破了传统安全边界,直接渗透开发者的工作环境和生产流程。供应链攻击不再仅限于企业级大客户,而是广泛影响普通个人开发者及团队成员,反映了未来网络安全防御的新挑战。 为了防范这类复杂且隐蔽的攻击,专业建议开发者使用主动安全工具实时监控依赖关系和代码改动。Socket研发了一套针对开源生态的安全防护解决方案,包括GitHub应用用于实时扫描拉取请求,命令行接口能在NPM安装时智能发出风险提示,浏览器扩展则提醒用户访问或下载可疑包。通过多层防护,帮助开发者第一时间识别并阻断恶意代码,降低潜在价值损失。
此外,开发者应时刻保持警惕,提高对社交工程骗局的认知,勿在未经隔离的环境中运行未知来源的代码,谨慎对待陌生招聘信息和任务,避免因轻信他人而泄露敏感数据。企业在招聘流程安全设计中,应做到验证对方身份,增强内控安全,防止业务被恶意利用。 该攻击还暴露了公共代码仓库依赖管理的缺陷。当前NPM和类似平台在包审查机制上时有不足,恶意包短时间内涌入造成生态污染,呼吁平台加强自动化检测与人工复核并重,及时封禁异常账号及其维护的软件包,为开源社区筑起坚实防线。 总体来看,朝鲜“面试传染”行动是一次组态复杂、技术含量高且侵蚀面广的供应链攻击样本。它综合运用了精细化社会工程、多阶段隐蔽恶意载荷及跨平台持续控制技术,充分体现了该国网络战团队高超的适应能力和隐蔽作战思路。
安全业界需联合合作,加强开源生态监控,快速识别防御,筑牢软件供应链安全的根基,保障数字经济和技术创新的健康发展。