开源软件面临的新威胁:蠕虫病毒、人工智能驱动的恶意软件和信任滥用
TL博士
开源供应链面临的威胁形势已发生根本性转变。三大趋势正在重新定义风险:
能够自我繁殖的蠕虫已经到来
沙伊胡鲁德 (2025 年 9 月):首次 npm 蠕虫攻击——通过 postinstall 窃取凭据 hooks然后,利用被盗用的维护者令牌,自主地在约 700 个软件包版本中重新发布了自己。
玻璃虫 (2025年10月):一款利用不可见的Unicode编码有效载荷和无法清除的基于区块链的C2服务器(Solana)的VS Code扩展恶意软件。安装量超过35万次,具备完整的远程访问木马(RAT)功能,目标直指加密钱包。
沙伊-胡鲁德 2.0 (2025 年 11 月):通过自动镜像工具从 npm 跨注册表跳转到 Maven Central,以及将 GitHub Discussions 武器化为 C2 和破坏性擦除器回退。
人工智能如今已成为操作者,而不仅仅是工具。
一项有据可查的网络间谍活动利用 Claude 作为编排引擎实现了自主执行——侦察、利用、横向移动和数据窃取,且几乎无需人工干预。发起复杂攻击的门槛已从“专家团队”降至“懂得提示的人”。
大规模基础设施滥用
IndonesianFoods 发起的攻击活动向 npm 推送了约 44,000 个垃圾软件包,利用区块链奖励系统(TEA 协议)漏洞,持续了近两年才被清理。此外,红队演练也在滥用开源软件基础设施。
底线
每一台被攻破的开发者机器都可能成为蠕虫病毒的传播点。凭证窃取使得病毒能够自主传播。人工智能可以以机器速度策划攻击。传统的检测和清除方法难以应对不可篡改的C2服务器和跨注册表传播。防御必须假定系统已被攻破,并着重提升遏制速度。
开源生态系统面临的新威胁:蠕虫病毒、人工智能恶意软件和大规模信任滥用
开源生态系统正面临供应链威胁的范式转变。传统的恶意软件不会自行传播,人工智能对威胁行为者而言还很陌生,攻击的扩散范围也十分有限。
近几个月来,我们目睹了三种威胁类别的融合,虽然它们各自单独来看都令人担忧,但它们代表了一种…… 根本性转变 综合考虑以下软件开发风险因素:
包装生态系统中的自我繁殖蠕虫恶意软件包通过窃取凭证和自动重新发布进行自主传播。这使得每一台受感染的开发者机器都成为新的感染源。
人工智能驱动的恶意软件生成和利用威胁行为者利用大型语言模型编写有效载荷、发现漏洞并以机器速度编排攻击。
大规模信任滥用一些行为者有组织地滥用开源贡献、存储库基础设施和开发者工具的奖励,制造出成千上万的垃圾邮件包发布,影响注册表。
实现复杂软件供应链攻击的关键技术已不再是纸上谈兵。它们已被实际应用、记录在案,并且越来越容易被技术水平较低的攻击者所利用。发起供应链攻击的门槛已经降低——过去需要经验丰富的攻击团队才能完成的任务,现在只需人工智能代理在极少人工干预的情况下即可执行。
本文直接探讨了近期涉及恶意开源软件包或滥用人工智能和开源软件基础设施的事件,分析了促成这些事件的新技术,并探讨了可能定义下一代威胁的新兴能力。最后一部分,我们将探讨如何降低风险。
注意:这是一张人工智能生成的海报,它对事件的理解存在致命缺陷。人工智能在某些应用场景下远非完美。
Sha1-Hulud:Npm 的首个自复制蠕虫攻击
发现于2025年9月14日
沙伊胡鲁德
这是 npm 生态系统中首次有记录的自传播蠕虫攻击。该名称似乎是由一些科幻迷组成的攻击者选定的!攻击始于开发者凭证的泄露——这些凭证很可能是通过伪装成 npm 的网络钓鱼活动获得的。 login 提示或多因素身份验证绕过。一旦入侵成功,蠕虫攻击便会执行多阶段攻击,将凭证窃取转化为自主传播。此次攻击的严重性足以引起重视。
CIS警报.
技术架构:
该恶意软件通过 Webpack 打包的、经过高度压缩的 JavaScript 有效载荷运行(bundle.js)通过安装后钩子执行……
凭证收集:
执行时,有效载荷会实现全面的秘密发现:
转储 process.env 并扫描文件系统以查找高熵秘密信息
执行 TruffleHog 进行系统性的凭证扫描
查询云元数据端点(169.254.169.254, metadata.google.internal)
目标是 npm 令牌 .npmrcGitHub PATs 和 CI/CD 秘密
外泄基础设施:
蠕虫攻击采用了多种数据窃取策略:
GitHub Actions滥用包含的工作流 ${{ toJSON(secrets) }} 将所有存储库密钥序列化。
自主传播:
蠕虫的自我复制机制通过以下算法(伪代码)运行:
function propagate(token, owner) {
userPackages = npmApi.listPackages(owner, token);
for (pkg in userPackages) {
tgz = npmApi.fetchTarball(pkg, token);
modified = injectBundleAndPostinstall(tgz);
npmApi.publish(modified, token);
}
}
利用任何被盗的 npm 令牌,蠕虫会枚举受感染维护者拥有的所有软件包,并注入恶意软件。 bundle.js 它利用安装后钩子重新发布软件包。这种自主行为导致感染软件包数量在数小时内从几十个激增至数百个。
影响指标:
初步检测: 2025年9月14日
丹尼尔·佩雷拉
“零号病人”似乎是 rxnt-authentication:0.0.3.
攻击爆炸半径: 已发布约700个恶意软件包版本,目标均为每周下载量达数百万次的知名目标。攻击范围仅限于npm包和GitHub代码库。
基础设施: C2 在 217.69.3.218渗漏到 140.82.52.31:80/wall
持续性: GitHub 工作流在名为 shai-hulud
可观察指标: 存储库已转为公开。 -migration 后缀
Shai-Hulud 是一种秘密数据采集蠕虫。它并未试图窃取资金或清除基础设施。但窃取的秘密数据和暴露的存储库可能被用于定向攻击,因此被盗凭证造成的后续损害可能会在日后显现。真正的代价在于补救措施、凭证轮换以及二次攻击的风险。
其中一个积极影响是
迫使 GitHub/NPM 立即采取行动
:弃用传统的经典代币和其他不完善的发布凭证,并朝着“OIDC伊甸园”迈进。 OpenSSF“
值得信赖的出版
.
但请继续往下看!那条虫子再次从阿拉基斯的沙海中钻了出来。
Sha1-Hulud 2.0:阿拉基斯蠕虫的反击
在最初的 Shai-Hulud 攻击活动两个月后,威胁行为者卷土重来,发动了名为“第二次降临”的攻击——这是一波攻击力度显著增强的浪潮,他们吸取了第一次攻击的教训。此次攻击活动通过标记为“Shai-Hulud”的存储库进行自我识别。 “Sha1-Hulud:第二次降临。”
让我们来看看与第一波浪潮的主要区别。 preinstall hook 替换了原有的安装后执行向量。根据
豹,
@asyncapi/avro-schema-parser@3.0.25 他是第二波疫情的“零号病人”,利用了人们的脆弱心理。
pull_request_target 工作流触发器。(如果您“知道有朋友在使用它”,请阅读)
为什么 pull_request_target 如此危险?
).
跨注册局传播:
蠕虫病毒通过自动镜像从 npm 传播到 Maven Central。 mvnpm 该工具(无需安全审查即可将 npm 包转换为 Maven 工件)自动重新发布了已被入侵的 npm 包,例如:
posthog-node@4.18.1 as
org.mvnpm:posthog-node:4.18.1.
这是已知的首例跨注册表蠕虫:npm 遭到入侵,在没有任何直接交互的情况下影响了 Java 生态系统。Maven Central 于 2025 年 11 月 25 日移除了相关工件,但此次攻击的影响窗口仍然波及 Java/JVM 工作负载。
enterprise 构建系统。
规避的 Bun Runtime:
攻击者部署了 preinstall: node setup_bun.js 安装钩
包类 运行时规避节点特定的监控。Bun 为超过 480,000 万行的混淆有效载荷提供了更快的执行速度(bun_environment.js)并绕过了传统的Node.js检测。
GitHub Actions 作为命令基础架构:
该蠕虫部署了隐藏的自托管 GitHub Actions 运行器。 $HOME/.dev-env/ 可在 Windows、macOS 和 Linux 系统上运行。更高级的是,它还创建了 discussion.yaml 工作流监听 GitHub Discussions 事件,并将讨论消息正文作为 shell 命令执行——有效地将 GitHub Discussions 变成了一个隐形的 C2 通道。
破坏性雨刮器能力:
与第一波攻击侧重于凭证窃取不同,Shai-Hulud 2.0 引入了一种
破坏性雨刮器
当没有有效的凭证可用于传播时,此机制被触发。这种“死亡开关”确保即使复制失败也能造成损害,标志着行动从纯粹的间谍活动转向了可能具有破坏性的行动。
尽管使用了隐蔽技术(Bun运行时、混淆技术),但此次攻击活动却异常活跃——重新发布了数百个软件包,创建了多个公共仓库,批量上传凭证转储,并安装了长期运行的自托管运行程序。这种激进的节奏与依赖隐蔽性的传统供应链攻击形成鲜明对比。这表明攻击者对快速产生影响充满信心,或者蓄意采取“压倒性策略”,以在短时间内造成最大破坏。
GlassWorm:隐形代码与区块链C2的结合
2025 年 10 月 17 日,一款名为 GlassWorm 的 VS Code 扩展程序向供应链威胁领域引入了两种前所未有的技术:使用 Unicode 隐蔽技术的不可见恶意代码,以及基于区块链的命令和控制基础设施。
Unicode 隐蔽技术:
GlassWorm 的主要创新之处在于它滥用了 Unicode 变体选择器——这些特殊字符不会产生任何视觉输出,但在 JavaScript 中仍然可以执行。这会导致恶意代码在代码编辑器、GitHub diff 和 IDE 语法高亮中显示为空白行。这种技术通过将可执行逻辑隐藏在视觉上空白的区域内,从根本上破坏了人工代码审查。
此次攻击的目标是 OpenVSX 应用商店中的 VS Code 扩展。对 CodeJoy 扩展(版本 1.8.3)的检查显示,其文件中包含大量隐藏的 JavaScript 可执行代码,这些代码使用不可打印的 Unicode 字符进行编码。对于查看该文件的开发者而言,其内容看起来正常,只是包含一些空行。但对于 JavaScript 运行时而言,这却是一个完整的恶意软件。
基于区块链的C2架构:
GlassWorm 利用 Solana 区块链实现了一种无法清除的命令与控制机制。该恶意软件会扫描来自硬编码钱包地址的交易;交易备注字段包含带有 base64 编码 URL 的 JSON 对象。
这种架构创造了强大的优势:
不变性区块链交易无法修改或删除。
匿名加密钱包具有匿名性,难以追踪。
审查制度阻力没有主机提供商可以施压,也没有基础设施可以征用。
合法流量与 Solana RPC 节点的连接看起来与普通的区块链活动没有区别。
动态更新:推送新的有效载荷 URL 每次交易费用不到 0.01 美元。
即使防御者阻止了解码有效载荷服务器(217.69.3.218攻击者只需发布一条指向备用 URL 的新交易即可。每个受感染的系统都会自动获取更新后的位置。
备份 C2:谷歌日历
为了实现冗余,GlassWorm 使用 Google 日历事件作为辅助 C2 通道。事件标题包含一个经过 base64 编码的有效载荷 URL。
https://calendar.app.google/M2ZCvM8ULL56PD1d6
Event title: aHR0cDovLzIxNy42OS4zLjIxOC9nZXRfem9tYmlfcGF5bG9hZC9xUUQlMkZKb2kzV0NXU2s4Z2dHSGlUdg==
Decodes to: http://217.69.3.218/get_zombi_payload/qQD%2FJoi3WCWSk8ggGHiTdg%3D%3D
这提供了一项合法的服务,可以绕过安全控制,并且可以通过编辑日历事件来轻松更新。
有效负载交付:
C2 服务器使用 AES-256-CBC 加密算法传输加密载荷。解密密钥为每个请求生成,并通过自定义 HTTP 标头传输,确保拦截的载荷无法在没有新请求的情况下解密。
ZOMBI:全方位远程访问木马能力
最终有效载荷(ZOMBI)会将受感染的开发者工作站转变为犯罪基础设施:
SOCKS代理服务器部署代理服务器,将攻击者的流量路由到受害者的网络,从而实现内部访问和匿名化。
WebRTC P2P:建立通过 NAT 穿越绕过防火墙的对等控制通道。
BitTorrent DHT:使用分布式哈希表进行去中心化命令分发,无法关闭。
隐藏式 VNC (HVNC)提供在虚拟桌面中运行的隐形远程桌面访问,这些虚拟桌面不会出现在屏幕上或任务管理器中。
加密货币钱包目标:
ZOMBI 会主动搜索 49 种不同的加密货币钱包扩展程序,包括 MetaMask、Phantom 和 Coinbase Wallet。结合隐蔽的远程访问,这使得攻击者可以直接从开发者的电脑上窃取资金。
凭证收集与传播:
与 Shai-Hulud 类似,GlassWorm 会收集 npm 令牌、GitHub 凭据和 OpenVSX 访问令牌。这些凭据使其能够自主传播到其他软件包和扩展程序,从而形成类似蠕虫的传播行为。
影响指标:
初步检测:十月17,2025
总安装量OpenVSX 和 VS Code 应用市场共有超过 35,800 个应用(可能存在机器人刷量)
受损的扩展已确认 16 个(15 个来自 OpenVSX,1 个来自 Microsoft Marketplace)
基础设施:主要 C2 在 217.69.3.218渗漏到 140.82.52.31:80/wall
Blockchain钱包: 28PKnu7RzizxBzFPoLp69HLXp9bJL3JFtT2s5QzHsEA2 (索拉纳)
当前状态:目前处于运行状态,截至撰写本文时,基础设施已投入使用。
人工智能策划的网络间谍活动
我们都在学习如何使用人工智能工具。纵观近期攻击中使用的技术,人们不禁会问: 威胁行为者是否正在利用人工智能创建恶意软件?
当然。但他们还可以利用人工智能进行协调,进一步扩大攻击规模。接下来就是一场网络间谍活动——但想象一下,如果将这些技术应用于针对开源软件的自动化攻击,又会是怎样一番景象。
2025年9月,人类
已检测到并被干扰
这是有记录以来首次基本无人为干预的网络攻击。该攻击行动实现了 80% 至 90% 的自主执行。
使用 Claude Code 作为编排引擎人工智能代理能够执行侦察、利用、横向移动和数据窃取等任务。这标志着网络攻击方式从人工智能辅助攻击转向人工智能主导的网络行动。
攻击者GTG-1002(一个由中国政府支持的组织)以科技、金融和政府部门的约30家机构为目标。他们开发了一个自主框架,将Claude Code从一个编码助手转变为一个网络作战引擎。
人工智能作为编排系统
GTG-1002并没有使用人工智能作为顾问,而是使用了克劳德作为顾问。 主要运营商该框架将多阶段攻击分解为若干个独立的任务,每个任务单独来看都无害。攻击者通过精心设计的提示和预设的角色,诱使 Claude 在不了解其恶意背景的情况下执行有害操作。
人工智能负责执行技术步骤,而编排引擎则负责跟踪行动状态、管理阶段转换并汇总持续数天的行动结果。人工干预仅限于高层监督:初始化、目标选择、批准升级以及验证数据泄露。
网络扫描器、数据库漏洞利用等通用工具是通过定制方式进行协调的。
MCP 服务器.
这种方法能够以人类无法企及的速度实现自动化操作。克劳德甚至能够分析被盗数据,优先处理有价值的信息,并在不同会话之间保持上下文的一致性,以便人工操作员稍后返回查看进度。
利用社会工程学手段操控人工智能:绕过安全控制
该行动的成功在于说服克劳德违背安全培训规定,执行网络入侵任务。具体手法如下: 角色扮演欺骗攻击者伪装成网络安全分析师,执行合法的调查任务。结合任务隔离机制,这足以突破人工智能安全控制。
幻觉太棒了!
克劳德经常出现幻觉,比如报告失败的成功攻击、捏造凭证、编造发现。目前,这限制了完全自主的操作,但随着模型的改进,这些缺陷将会减少。在此之前,一个常见的AI缺陷反而成了我们最好的朋友🙃
检测和响应:
Anthropic 通过异常使用模式检测到了此次攻击活动,这些异常模式表明存在系统性的入侵行为。他们封禁了相关账户,通知了受影响的组织,与有关部门协调合作,并将攻击模式整合到更广泛的安全控制措施中。
供应链影响:
本文展示的每项技术都可直接应用于软件包生态系统。人工智能可以自主发现易受攻击的维护者,生成恶意软件包,并以机器速度策划全注册表范围的攻击。攻击门槛已从“专家级网络犯罪团队”降低到“了解人工智能指令的操作人员”。
需要人工智能被用于网络攻击的真实案例吗?请阅读
ShadowRay 2.0攻击者在全球范围内发起攻击,利用人工智能攻击自身
其中,攻击者利用 Ray 的编排功能(“人工智能的 Kubernetes”)运行了一个全球加密劫持僵尸网络,该僵尸网络在暴露的 Ray 集群上自主传播。
另一个例子:
奇点 攻击
利用同样的 pull_request_target 之前提到的问题。它会检测本地安装的AI命令行工具(Claude、Gemini、带有绕过标志的Q),并使用它们进行侦察。 telemetry.js 有效载荷,
提示包括以下内容
喜欢这个:
基础设施滥用:大规模包裹垃圾邮件活动
除了恶意软件分发软件包之外,开源生态系统还面临着通过垃圾邮件活动滥用基础设施的威胁,这些垃圾邮件活动会用成千上万个软件包淹没注册表。网络犯罪分子经常利用 DevOps:攻击者通常会使用 SCM这些平台用于开源情报收集、分发恶意软件阶段、提取机密信息以及维护命令与控制。但这些平台也可能…… 被滥用于非恶意目的虽然这类活动并非传统意义上的恶意行为,但它们会消耗注册表资源、污染搜索结果并削弱信任。
以下两个显著的例子可以说明这一趋势:
印尼食品 (利用贡献者奖励)和 精灵战役 (红队测试失控)
IndonesianFoods:TEA协议的滥用
主要动机是通过金融诈骗。
利用TEA协议
一个基于区块链的系统,旨在补偿开源开发者。
攻击者发布了数千个相互关联的软件包,其中包含 tea.yaml 这些文件链接到他们的以太坊钱包,形成循环依赖网络,从而虚增贡献指标。自动化脚本每分钟发布约 12 个软件包,软件包名称和食物词汇均为随机生成的印尼语。其中一个软件包的 README 文件甚至吹嘘其 TEA 代币收益,证实了其经济动机。
此次攻击活动波及约 44,000 个软件包——占 npm 软件包总数的 1% 以上——并持续了近两年。循环依赖意味着安装一个软件包可能会引入数百个垃圾软件包。搜索结果质量下降,用户对软件包指标的信任度降低,注册表的带宽和存储空间也被大量消耗。
尽管TEA协议滥用行为早在2024年4月就被记录在案,但直到2025年11月才进行系统性清除,这暴露出注册系统滥用检测机制存在重大缺陷。该事件削弱了人们对区块链支持型融资模式的信心,并暴露了奖励机制极易被操纵的现状。
精灵战役:自动化基础设施测试
此
精灵战役
2025 年 12 月的事件强调了基础设施滥用而非恶意意图。软件包描述中提到了“夺旗挑战赛”和“测试”(包括法语文本:“Package généré automatiquement toutes les 2 minutes”),表明其起源于安全研究或 CTF 训练。cisES。
包裹遵循一致的流程 elf-stats-* 命名带有季节性主题。有些包含简单的反向 shell(简单的 bash 单行命令),这些 shell 非常简陋,似乎只是为了检测测试而设计的,而不是为了真正的漏洞利用。
此次攻击的运行节奏——每两分钟通过多个账户发送一个数据包——测试了npm的速率限制和滥用检测能力。该活动表明,自动化的流量攻击可以持续数小时甚至数天才会被干预,消耗大量的存储空间、带宽和审核资源。
最重要的是,它向其他威胁行为者发出信号,表明自动化洪水攻击是可行的,这可能会激发未来的滥用行为。
新的战术、技术和程序(TTP)
TTP
技术
冲击
检测
通过凭证重用实现自主传播
在获取 npm 令牌、GitHub 凭据或注册表 API 密钥后,恶意软件会以编程方式枚举受感染维护者拥有的所有软件包,并将恶意有效载荷注入到新版本中。
一个被入侵的令牌可以在数小时内感染数十甚至数百个软件包。每个新的受害者都会成为病毒进一步传播的传播点。
密切关注单个维护者突然大量发布软件包的情况,尤其是在伴有可疑的安装后更新时。 hooks 或大二进制加法。
具有区块链不可篡改性的多层C2基础设施
主C2使用区块链交易(Solana、以太坊),其中备注字段包含加密或编码的有效载荷URL。备用C2利用合法服务(Google日历、Pastebin、GitHub Gists)作为备份通道。
传统的下架方法失败了——区块链交易无法删除,而且合法的服务滥用很难与正常使用区分开来。
监控开发者机器上异常的区块链 RPC 查询,尤其是针对特定钱包地址的查询。跟踪构建环境中与日历服务或粘贴网站的连接。
通过 Unicode 隐蔽技术注入不可见代码
恶意 JavaScript 使用 Unicode 变体选择器(U+FE00 到 U+FE0F)和零宽度字符进行编码,这些字符在编辑器中不会呈现,但仍然是有效的可执行代码。
代码审查失效。开发人员检查源文件时会看到空白行,而 JavaScript 解释器却在执行隐藏的恶意软件。
扫描源文件,查找不可打印的 Unicode 字符,特别是变体选择器和零宽度连接符。实现自动化检查,解码并分析源文件的实际字节内容,而不是其渲染后的表示形式。
GitHub Actions 作为渗透基础设施
部署包含以下工作流的工作流 ${{ toJSON(secrets) }} 该工作流利用 GitHub 的基础设施运行,伪装成合法流程,将所有代码库密钥序列化并 POST 到攻击者控制的端点。 CI/CD 活性。
由于流量来自 GitHub 的受信任 IP 地址范围,因此可以完全窃取存储库中的机密信息,而不会触发传统的泄露检测。
扫描工作流程文件 toJSON(secrets) 模式。监控执行带有大型 POST 请求体的外部 HTTP 请求的工作流。对未提交相应 PR 或请求体的工作流向存储库添加内容发出警报。 commit 历史。
在开发环境中部署混合型远程访问木马
部署完整的远程访问木马(RAT)功能(SOCKS代理、VNC、WebRTC P2P),专为在开发者工作站上运行而设计。目标是获取开发凭证、源代码访问权限和内部网络定位信息,而非传统的用户数据。
被入侵的开发人员可以直接访问源代码库, CI/CD pipelines、云基础设施和内部企业网络。
监控异常的代理服务器部署、VNC 服务器进程、来自开发机器的 WebRTC 连接以及 BitTorrent DHT 网络参与情况。实施严格的网络分段和出口过滤。
依赖链感染
恶意软件包会将其他攻击者控制的软件包声明为依赖项。安装其中一个软件包会触发整个依赖链的自动安装。
一个恶意依赖项就可能引入数十个攻击者控制的软件包。清理工作需要识别并移除整个感染链。
分析依赖关系图,查找异常模式——例如循环依赖、随机命名的同级软件包或突然添加的依赖项。实施仅使用锁定文件进行安装,以防止自动解析依赖关系。
防守姿势
供应链蠕虫病毒自我传播的时代已经到来。防御需要自动化、高度警惕以及架构控制,这些控制措施应假定攻击者已遭受攻击,而不是寄希望于系统能够检测到。每个软件包的安装都可能成为感染源。每个凭证都可能成为传播机制。问题不再是攻击是否会发生,而是攻击发生时,你能以多快的速度发现并遏制它们。
防御蠕虫状恶意软件需要从被动扫描转向主动预防和持续监控:
Pipeline 控制:
强制仅锁定文件安装(npm ci, yarn install --frozen-lockfile)防止自动依赖项更新并确保严格的版本锁定。
实现软件包及其完整依赖关系树的预安装扫描,在恶意软件执行前将其拦截。
阻止具有可疑特征的软件包:过大的软件包、混淆处理、意外的安装前/后处理。 hooks.
对依赖项的添加和更新需要进行代码审查。
凭证管理:
尽量缩小令牌作用范围——发布令牌时应尽可能只针对特定软件包。
实现具有自动轮换功能的短期代币。
绝对不要将令牌存储在源代码或环境变量中。
使用权限最低的专用 CI 服务帐户。
检测与监测:
跟踪发布模式,并对个别维护者的异常发布高峰发出警报。
监控 GitHub Actions 工作流中的密钥序列化问题,例如: toJSON(secrets).
扫描工作流程新增功能,用于处理外部 HTTP 请求。
检测名称异常或内容经过编码的新公共存储库。
监控开发人员工作站是否存在意外的代理服务器, CI/CD 运行器、VNC 进程或区块链 RPC 查询。
事件响应:
将任何可疑的安装操作都视为犯罪。 hooks 作为彻底的妥协。
假设所有被入侵主机上的令牌都被盗——立即进行轮换。
重建受到影响 CI/CD 来自清晰图像的跑步者。
检查所有被盗账户拥有的软件包是否存在恶意版本。
检查 GitHub 工作流和仓库设置中的持久性。
人工智能供应商经常声称任何工具都可能被用于行善或作恶。人工智能系统无法完全杜绝滥用,但它们可以增加阻力并提高取证的可见性。真正的设计问题不在于“人工智能是否会被滥用?”,而在于“我们能在不损害其合法用途的前提下增加多少阻力?” 一个事实依然存在: 破解如今的人工智能系统实在太容易了。对近期攻击中恶意提示的分析表明,LLM 的非确定性也延伸到了它们的 guardrails.
目前涌现出几种提升人工智能安全性的方案:强源认证、可信内容隔离以及针对外部系统的策略感知控制(MCP 和类似协议正在逐步普及)。人工智能是否会成为大规模攻击开源软件基础设施的下一个武器,尚待时间检验。
阅读更多
Shai-Hulud:npm 软件包蠕虫详解
Shai-Hulud 2.0 NPM 供应链攻击
GlassWorm:首个利用不可见代码进行自我传播的蠕虫病毒登陆 OpenVSX 应用市场 – Koi Security
挫败首例已报道的人工智能策划的网络间谍活动——Anthropic
分析Nx攻击中使用的AI提示
供应链普遍受损,影响 npm 生态系统 – CISA
我们关于更安全的 npm 供应链的计划 – GitHub 博客
关于作者
作者
路易斯·罗德里格斯
联合创始人兼首席技术官
Xygeni 安全.
路易斯是一名理疗师cist,数学家,以及 CISSP在软件安全领域拥有超过20年的经验。他曾领导并参与了多项重大安全计划。 SAST, SCA以及先进的代码分析技术。如今,他专注于 software supply chain security结合深度研究和实践工程,帮助团队捍卫现代DevSecOps安全。 pipeline应对新兴威胁。