TL博士
恶意软件包在被用于攻击您时,不会显示任何 CVE 编号。 这就是基于 CVE 的供应链扫描的全部问题所在。2026 年 8 月,CHAINDROP 攻击活动将恶意代码植入超过 400 个 npm 包中,这些包涵盖 1,700 个版本,每月累计下载量超过 1.3 亿次,但在攻击活跃期间却没有分配任何 CVE 编号。等待数据库条目的扫描器看到的却是整个依赖关系树都干净无害。
只有基于行为和机器学习的检测方法才能及时奏效。 分析软件包在发布和安装时的实际行为,可以发现真正重要的攻击类型,例如安装脚本中的凭证窃取、混淆的有效载荷或被攻破的维护者帐户。此列表中的每个工具都以某种形式执行此操作,它们的主要区别在于它们能够监控的生命周期范围。
发现问题而不采取强制措施,仅是一种通知。 这些工具之间的区别在于判决之后会发生什么:软件包是在到达磁盘之前被阻止、被隔离,还是仅仅被报告? dashboard 有人周一会看书。询问执法要点,而不是检测声明。
列表简述: Xygeni 适用于希望在代码、依赖项中进行恶意软件检测的团队 pipelines, IaC 以及集成在一个平台上的各种组件,包括恶意软件预警、软件包隔离和依赖防火墙。ReversingLabs 用于对已编译的二进制文件进行预发布验证。Socket 用于对 npm 和 PyPI 进行以开发者为先的行为分析。Aikido 用于在更广泛的开发者应用安全平台内检测零日漏洞软件包。Veracode 则提供了一个合规驱动的程序。 standard我们利用了它。我们的检测结果每周都会公开发布。 恶意代码摘要所以你可以先核实一下这个说法,而不是贸然接受。
开源恶意软件扫描器可以检测开源软件包和您自己的代码中故意添加的恶意代码。 SDLC而不是针对已编目组件中已知的漏洞。这里比较的五款工具分别是 Xygeni、ReversingLabs、Socket、Aikido 和 Veracode,它们在两个方面存在差异:检测方式(行为检测、机器学习辅助检测、二进制检查或威胁数据库检测)以及覆盖的生命周期范围(仅依赖项、构建后工件或完整生命周期)。 pipeline 包括源代码 IaC 和 CI/CD).
开源恶意软件扫描器可帮助组织在恶意软件包、受损依赖项、后门、木马和软件供应链攻击进入生产环境之前将其识别出来。随着软件供应链攻击的持续增加,组织需要即使在没有 CVE 编号的情况下也能检测到恶意行为的安全工具。
传统的漏洞扫描器会根据已知的漏洞数据库检查依赖项。虽然对于已编目的漏洞有效,但它们往往会遗漏新发布的恶意软件包和零日供应链攻击。本指南比较了 2026 年最优秀的开源恶意软件扫描器,并评估了它们的恶意软件检测技术。 software supply chain security 能力, CI/CD 集成方式和理想用例。
行业分析师越来越认识到: software supply chain security 仅仅进行漏洞管理是不够的。现代应用安全程序越来越多地结合恶意软件检测、软件成分分析(SCA), Application Security Posture Management (ASPM), software supply chain security 用于识别已知漏洞和恶意组件的控制措施。
我们是如何评估这些扫描仪的?
每款工具均根据相同的六项标准进行评估,评估依据为截至 2026 年 9 月的公开文档和供应商文档:检测技术、生命周期覆盖范围、执行能力、生态系统支持、开发者工作流程集成以及定价透明度。如果供应商已收购检测技术,则评估反映的是当前产品而非历史产品。定价数据为评估时公开可用的数据。 enterprise 价格根据具体工作范围协商确定。
2026 年排名前 5 的开源恶意软件扫描器
对比表:开源恶意软件扫描器
| 工具 | 检测方式 | SDLC 保障范围 | CI/CD 之路 | 最适合 |
|---|---|---|---|---|
| 西吉尼 | 机器学习辅助恶意软件检测、行为分析、人工智能安全与人工智能安全绩效管理 | 源代码、依赖项、 CI/CD, IaC容器、软件供应链和人工智能工作流程 | 原生恶意软件防火墙 pipeline guardrails以及政策执行 | 寻求 SDLC广泛的恶意软件防护和 software supply chain security |
| 逆向实验室 | 利用威胁情报进行二进制级深度检测 | 构建后:二进制文件、容器、工件 | 工件库集成 | L大号 enterprise需要进行预发布二进制验证 |
| 插座 | 安装时的行为包分析 | 仅依赖项:主要依赖 npm 和 PyPI | GitHub PR 集成 | 以开发者为中心的团队监控开源依赖项行为 |
| 合气道 | 基于人工智能的软件包代码模式静态分析 | 依赖项、容器、 IaC; 有限的 SDLC | IDE插件和 CI/CD 盖茨 | 开发团队希望具备广泛的应用安全能力,能够检测零日漏洞包。 |
| Veracode的 | 静态和动态分析 SCA | 应用程序代码和依赖项 | CI/CD pipeline 积分 | 调节 enterprise具有合规驱动型应用安全计划 |
1. Xygeni:开源恶意软件扫描程序
概述: 西吉尼 是本次对比中唯一一款能够同时涵盖软件开发生命周期各个层面(包括应用程序源代码、开源依赖项等)恶意软件检测的工具。 CI/CD pipelines, IaC 文件、构建产物和容器。其他工具专注于某个阶段,而 Xygeni 则保护整个过程。 pipeline 来自单一平台。
与仅专注于软件包分析的传统开源恶意软件扫描器不同,Xygeni 结合了恶意软件检测、 software supply chain security人工智能安全态势管理(AI-SPM) CI/CD 在单一平台上进行安全性和应用程序安全测试。这使组织能够识别恶意软件包和被篡改的构建版本。 pipeline整个系统中的 s、人工智能相关风险和软件供应链威胁 SDLC.
其恶意软件检测超越了简单的模式匹配和 CVE 编号查询。Xygeni 使用专有的机器学习辅助引擎来检测未知恶意软件,包括没有公开 CVE 编号的零日威胁。它实时分析 npm、PyPI、Maven 和其他注册表中新发布的软件包,提供预警系统,标记可疑软件包并将其隔离,防止其进入安全区域。 SDLC发布者和关键性分析通过维护者信誉历史和跨平台关键性评分来评估软件包的可靠性,从而发现仅靠行为分析可能遗漏的风险。
对于专有代码,Xygeni 会检查源文件是否存在后门、木马和隐藏威胁,包括 CWE-506(嵌入式恶意代码)模式,从而确保代码库本身及其依赖项的可靠性。恶意软件依赖防火墙充当主动防护屏障,在开发人员与应用程序交互之前就阻止恶意软件包到达应用程序。您可以了解更多信息。 软件供应链中基于人工智能的恶意软件检测 和 恶意代码如何造成损害 额外的上下文。
主要特征:
- 专有的机器学习辅助引擎,可检测超出基于 CVE 的威胁数据库的未知恶意软件
- 实时监控 npm、PyPI、Maven 和其他注册表,每日分析新发布和更新的软件包。
- 具备软件包隔离功能的预警系统,可在可疑组件进入开发工作流程之前对其进行标记。
- 发布者和关键性分析:评估维护者的信誉、历史记录和跨平台关键性评分
- 恶意软件依赖防火墙主动阻止恶意软件包到达应用程序
- 根据 CWE-506 及相关模式检测应用程序源代码中的后门、木马和隐藏威胁
- Pipeline 和 CI/CD 安全检测反向 shell 命令、恶意提供商和恶意软件下载 pipeline 定义和 IaC 档
- 可操作的恶意软件洞察 commit 详细信息、开发者信息、时间戳和完整的审计跟踪
- 历史软件包查询功能提供对开源软件包(包括已从注册表中移除的软件包)恶意软件记录的访问,用于事件响应和治理。
- 对整个软件供应链进行持续的实时威胁监控,并针对新出现的风险发出警报
- 本地人 CI/CD 与 GitHub Actions、GitLab CI、Jenkins、Bitbucket 集成 Pipeline和 Azure DevOps
- 统一平台的一部分,涵盖 SAST, SCA,DAST, IaC Security、秘密侦测、 CI/CD 安全, ASPM, Build Security以及异常检测
最适合: DevSecOps 团队需要在每个阶段提供全面的恶意软件防护 SDLC不仅仅是依赖项扫描,而是作为统一应用安全平台的一部分。
定价: 完整的一体化平台起价为每月 33 美元,包含全面的恶意软件检测功能。 SCA, SAST, CI/CD 安全、秘密检测、 IaC Security以及容器扫描。无限数量的代码库和贡献者,不按席位收费。
2. ReversingLabs:开源恶意软件扫描程序

概述: 逆向实验室 是一个专注于后期恶意软件分析的专业分析平台。build security 针对已编译的软件工件。其核心产品 Spectra Assure 采用人工智能驱动的二进制文件检测技术,并结合全球最大的文件信誉数据库之一,涵盖数十亿个文件。这使其成为软件发布前的最后一道坚实防线,尤其适用于向客户分发已编译软件或集成无法进行源代码级检查的第三方二进制文件的团队。
ReversingLabs 不会扫描更早的版本。 SDLC 它分阶段进行。它专注于已构建的内容,因此对于需要左移防护的团队而言,它是一种辅助工具,而非主要的恶意软件扫描器。在受监管的行业和软件供应商中,预发布二进制验证是合规性要求,因此它的价值最高。有关背景信息,请参阅…… build security 以及制品完整性该链接涵盖了相关概念。
主要特征:
- 利用专有的解包技术和对编译产物的静态分析进行二进制级恶意软件扫描
- 威胁情报数据库涵盖数十亿个文件,用于快速识别恶意组件。
- 与包括 JFrog Artifactory 和 Sonatype Nexus 在内的制品库集成
- 在发布前隔离已受损或篡改的工件,以阻止威胁。
- 无需访问源代码即可进行第三方软件验证
缺点(Cons)
- 不扫描源代码、开源依赖项 IaC 文件,或 pipeline 行为;覆盖范围仅限于构建后产物
- 没有面向开发者的功能,例如 IDE 集成或实时 PR 反馈
- 复杂的设置和 enterprise需要销售人员参与的定价模式;更适合大型安全运营中心 (SOC) 团队,而非敏捷 DevOps 环境。
定价: Enterprise 价格根据藏品数量和所选功能而定。暂无公开报价方案;请联系销售部门获取报价。
3. Socket:开源恶意软件扫描程序

概述: 插座 Socket 是一款面向开发者的恶意软件检测工具,它分析开源软件包的行为,而不是对照 CVE 数据库进行检查。Socket 不会等待漏洞被编入数据库,而是检查软件包的实际操作:例如,它是否会意外访问网络、读取环境变量、修改文件系统,或者使用与凭证窃取和数据泄露相关的模式。这种行为分析方法能够捕获没有 CVE 编号的供应链攻击,而传统扫描器往往会忽略这类威胁。有关使用此类攻击向量的真实供应链攻击案例,请参阅[此处插入链接]。 Shai-Hulud npm 供应链攻击分析.
Socket 主要专注于 npm 和 PyPI,对其他仍在开发中的生态系统也提供部分支持。它不会扫描专有代码。 CI/CD pipeline容器,或 IaC 文件,因此团队需要用更广泛的方式对其进行补充。 SDLC 提供全面安全防护的工具。
主要特征:
- 行为软件包分析可在安装时检测可疑活动,且独立于 CVE 数据库。
- 检测安装 hooks开源软件包中异常的 API 使用、网络调用以及数据泄露迹象
- GitHub 集成,可实时扫描 PR 并在合并前阻止风险包。
- 实时恶意软件源,持续更新开源注册表中出现的新威胁
- Enterprise 依赖防火墙,具备可自定义的阻止策略,可为组织提供全组织范围的保护
- 面向开发者的友好型界面,包含 CLI 和 Web 接口 dashboard以及 Slack 通知
缺点(Cons)
- 扫描范围仅限于第三方依赖项;不扫描专有代码。 CI/CD pipeline容器,或 IaC 档
- 主要生态系统支持 JavaScript 和 Python;Java、Ruby 和其他语言部分支持或正在开发中
- 自动屏蔽和组织控制功能需要付费套餐
- 并非完整的应用安全平台;需要额外的工具。 SDLC广泛的恶意软件覆盖
定价: 开源项目可享受免费套餐。付费团队和组织方案可根据需求提供,按用户定价。
4. Aikido:开源恶意软件扫描程序

概述: 合气道安全 是一个统一的应用安全平台,包含一个专注于 npm 和 PyPI 注册表的零日开源恶意软件扫描器。它并非仅仅依赖已知漏洞,而是利用人工智能驱动的静态分析,通过标记混淆代码、可疑安装脚本以及与凭证窃取和数据泄露相关的模式,尽早检测出恶意软件包。此外,它还将扫描范围扩展到容器镜像和 IaC 文件,使其范围更广 SDLC 覆盖范围比 Socket 更广,但比全栈平台更有限。
Aikido 通过 IDE 插件集成到开发人员的工作流程中, CI/CD pipeline 它通过网关机制,在无需大幅更改工作流程的情况下,及时反馈存在风险的软件包导入问题。对于寻求以开发者为中心的应用安全平台,并希望将恶意软件检测与更广泛的漏洞和密钥扫描相结合的团队而言,它提供了一个实用且统一的入口点。
主要特征:
- 零日恶意软件扫描器实时分析 npm 和 PyPI 上新发布的软件包,抢在 CVE 漏洞分配之前进行检测。
- 人工智能驱动的静态分析可检测混淆代码、恶意安装脚本和数据泄露模式
- IDE插件和PR集成会在日常开发工作流程中阻止可疑软件包。
- 容器镜像和 IaC 层扫描扩展了覆盖范围,超越了软件包依赖项
- 用于持续监控注册表威胁的实时恶意软件情报源
缺点(Cons)
- 主要关注开源软件包;不扫描自定义源代码或 CI/CD pipeline 恶意软件的行为
- 没有自动优先级排序机制;警报需要人工分诊,这可能会减慢事件响应速度。
- 除了 JavaScript 和 Python 之外,对其他编程语言的生态系统支持仍在不断完善中。
- 高级策略自动化和团队级控制功能仅在付费计划中提供
定价: 基础套餐起价约为每月 300 美元,可供 10 位用户使用。团队规模越大,单价越高。定制服务 enterprise 已有针对更大规模部署的方案。
5. Veracode:开源恶意软件扫描器

概述: Veracode的 是一个 enterprise 这是一个结合了静态分析、动态测试和软件成分分析的应用安全平台。虽然它的主要定位并非恶意软件扫描器,但它 SCA 该功能可检测恶意或受损的开源组件以及已知漏洞,因此对于需要合规性驱动型应用安全计划(包括供应链风险管理)的团队而言至关重要。其优势在于受监管行业,这些行业需要审计跟踪、策略执行以及与……的集成。 enterprise 治理工作流程是不可协商的要求。
与 Socket 或 Xygeni 等行为扫描器相比,Veracode 的恶意软件检测能力有限。它侧重于威胁数据库中收录的已知威胁,而非对软件包活动进行实时行为分析。对于那些主要安全方案基于 Veracode 更广泛平台构建的团队而言,其 SCA 该层为该生态系统内的开源风险管理提供了一个合理的基准。有关背景信息,请参阅…… 应用程序安全测试最佳实践该链接涵盖了更广泛的测试领域。
主要特征:
- SCA 扫描检测开源组件中的漏洞和许可风险
- 静态分析(SAST) 用于专有代码漏洞检测
- 已部署应用程序的运行时漏洞测试动态分析 (DAST)
- 政策执行和合规报告符合 PCI-DSS、HIPAA 和 NIST 标准。 standards
- 整合 CI/CD pipeline并且 enterprise 开发工具
缺点(Cons)
- 不支持实时行为恶意软件检测;依赖已知威胁数据库而非零日行为分析。
- 没有针对新发布的恶意软件的主动隔离或预警系统
- 以平台为中心的设计可能会限制在 Veracode 生态系统之外的集成灵活性。
- 费用高昂,合同中位价约为每年 18,633 美元;缺乏透明的自助定价服务。
定价: 根据客户购买数据,合同中位价约为每年 18,633 美元。不提供透明的自助定价服务;需定制报价。
看我们 非门控 SafeDev Talk 专题:恶意软件攻击的演变 了解更多关于它们以及保护软件供应链的主动策略的必要性!
开源恶意软件扫描程序的关键功能
综合比较各种工具,以下是选择有效恶意软件扫描覆盖范围时最重要的几个标准:
超越 CVE 的行为检测。 CVE 数据库仅涵盖已编目软件包中的已知漏洞。最危险的供应链攻击利用的是那些从发布之初就具有恶意性质、且未被分配 CVE 编号的软件包。仅检查 CVE 数据库的扫描器无法检测到这些威胁。行为分析,即检查软件包在安装时的实际操作,是唯一能够捕获零日供应链攻击的方法。
注册监测及预警。 恶意软件发布到被检测到这段时间是最危险的。持续监控注册表并在可疑软件包出现在 CVE 列表中之前就标记它们的工具,比那些等待数据库更新的工具能提供更早、更有效的保护。
SDLC 覆盖深度。 扫描依赖项的工具和同时检查专有代码的工具之间存在实际区别。 pipeline 定义, IaC 文件和构建工件。恶意软件可以隐藏在这些层中的任何一层。了解每个工具覆盖哪些阶段可以避免对部分覆盖率产生错误的自信。 妥协的迹象 CI/CD pipelines 为了便于理解 pipeline具体威胁。
发布者和维护者信誉分析。 即使软件包的行为特征良好,它仍然可能来自被盗用或恶意维护者的帐户。评估发布者信誉、维护者历史记录和跨平台严重性评分的工具,可以提供仅靠行为分析无法提供的额外信号层。
历史软件包查询。 恶意软件包通常在被检测到后会很快从注册表中移除,但团队可能已经将其集成到构建版本中。能够维护已检测到的恶意软件(包括已移除的软件包)历史记录的工具,可以实现事件响应和追溯审计。
CI/CD 执法能力。 检测而不强制执行意味着在恶意软件已经入侵系统后才发现它。 pipeline能够阻止恶意软件包被拉取、隔离可疑组件或失效的工具 pipeline 当检测到威胁时,系统会将检测结果转化为真正的安全屏障。
如何选择合适的开源恶意软件扫描器
如果需要全部 SDLC 单一平台即可覆盖所有恶意软件: Xygeni是这里唯一一款涵盖源代码、依赖项的工具。 pipelines, IaC同时,它还配备了专有的机器学习引擎,用于检测未知恶意软件,以及预警系统和恶意软件依赖防火墙,以提供主动保护。
如果您的主要需求是发布前二进制文件验证: 对于需要在分发之前验证编译产物的团队来说,ReversingLabs 是最强大的选择,尤其是在第三方组件没有源代码的情况下。
如果您想要对 npm 和 PyPI 包进行以开发者为先的行为分析: Socket 为 JavaScript 和 Python 依赖生态系统提供了最易于使用的行为扫描器,并与 GitHub 进行了良好的集成,以适应开发人员的工作流程。
如果您想要一个功能更全面的应用安全平台,并具备零日漏洞检测能力: Aikido 将恶意软件扫描、漏洞管理、密钥检测和容器安全功能集成到一个对开发者友好的平台中,但就恶意软件覆盖范围而言,其覆盖范围比 Xygeni 窄。 SDLC 深度。
如果您的项目是以合规为导向并围绕合规而构建的 enterprise 治理: Veracode 为受监管行业提供所需的审计跟踪、策略执行和合规性报告功能, SCA 作为更广泛的应用安全平台的一部分进行覆盖。
总结
开源恶意软件扫描与基于 CVE 的漏洞管理是截然不同的两门学科。大多数通过供应链攻击造成的安全漏洞都利用了攻击发生时尚未被标记 CVE 的软件包。如果选择仅检查已知漏洞数据库的扫描器,则最危险的攻击类型将完全无法被检测到。
本文评测的五款工具提供了截然不同的方法。对于需要最全面覆盖的团队而言,结合行为分析、基于机器学习的未知恶意软件检测、实时注册表监控以及 SDLCXygeni 在单一平台上提供全方位保护,是 2026 年最全面的解决方案。
对于寻求全面服务的组织 software supply chain security仅靠恶意软件检测是不够的。最有效的平台会结合恶意软件检测、依赖性分析等功能。 CI/CD Xygeni 将安全、人工智能安全、软件供应链保护和风险优先级排序等功能整合到一个平台上,帮助团队在整个软件开发生命周期中识别、阻止、确定优先级并修复威胁。
常见问题解答
什么是开源恶意软件扫描器?
开源恶意软件扫描器会分析开源软件包、依赖项和代码,以发现恶意行为、隐藏威胁和供应链攻击。与传统的漏洞扫描器对照 CVE 数据库进行检查不同,恶意软件扫描器利用行为分析、静态检查和威胁情报来检测没有公开 CVE 编号的威胁,而这正是大多数供应链攻击的运作方式。
恶意软件扫描器和漏洞扫描器有什么区别?
漏洞扫描器会将软件组件与已知的 CVE 数据库进行比对,以识别已公开披露的安全漏洞。恶意软件扫描器则会分析代码和软件包的行为,以检测恶意意图,包括后门、木马、混淆逻辑以及可能没有 CVE 编号的供应链攻击模式。这两种方法是互补的:漏洞扫描涵盖已知漏洞,恶意软件扫描则涵盖蓄意威胁。
软件成分分析和软件成分分析之间有什么区别?SCA)以及恶意软件扫描?
软件组成分析(SCA通过将组件与漏洞数据库(例如 NVD)进行比较,识别开源依赖项中的已知漏洞、许可风险和合规性问题。恶意软件扫描侧重于检测故意恶意代码,包括后门、木马、凭证窃取程序、混淆脚本以及可能未分配 CVE 的软件供应链攻击。
这两种方法针对的是不同的风险。 SCA 帮助组织管理已知漏洞,而恶意软件扫描则有助于在恶意软件被编入公共数据库之前识别它们。 software supply chain security 程序通常会将这两种技术结合起来使用,以防范已知的缺陷和新出现的威胁。
为什么大多数供应链攻击都能绕过基于 CVE 的扫描器?
供应链攻击通常利用新发布的恶意软件包、被盗用的维护者账户或域名抢注技术,将恶意代码注入到常用的注册表中。这些软件包从发布之日起就具有恶意性,并且由于尚未被任何公共数据库收录,因此没有分配任何 CVE 编号。基于 CVE 的扫描器没有可匹配的信号,因此会将此类软件包判定为安全。而行为扫描器则会分析软件包的实际行为,从而检测出恶意活动,而无需考虑其 CVE 状态。
哪款开源恶意软件扫描器覆盖范围最广? SDLC 阶段?
Xygeni涵盖范围最广 SDLC 单一平台上的各个阶段:应用程序源代码、开源依赖项、 CI/CD pipeline 定义, IaC 它可检测文件、构建工件和容器。它采用专有的机器学习辅助引擎来检测未知恶意软件,并结合实时注册表监控和恶意软件依赖防火墙进行主动拦截。本次对比中的其他工具仅涵盖一到两个阶段,而无法全面覆盖所有阶段。 pipeline.
开源恶意软件扫描器能否检测到零日威胁?
是的,但只有使用行为分析或基于机器学习的检测引擎的工具才能做到这一点。基于 CVE 的扫描器无法检测到零日威胁,因为恶意软件包尚未发布 CVE 编号。Xygeni 的机器学习辅助引擎、Socket 的行为分析以及 Aikido 的 AI 驱动的静态分析都可以在 CVE 发布之前检测到软件包中的恶意行为,而这正是大多数供应链攻击活跃的关键时期。
开源恶意软件扫描器如何检测恶意软件包?
开源恶意软件扫描器利用行为分析、静态代码检查、机器学习、威胁情报和信誉分析来识别恶意软件包。与基于 CVE 的工具不同,它们分析软件的实际运行行为,而不仅仅是依赖已知的漏洞。
是否有免费开源的恶意软件扫描器?
是的。 OpenSSF Package Analysis、GuardDog、YARA 和 ClamAV 都是开源且免费运行的工具。它们提供的是检测基本功能,而非托管功能:不提供注册表范围的监控、发布者信誉信息、已移除软件包的历史记录查询,也没有在安装发生前阻止安装的强制执行点。
恶意软件扫描程序能否在软件包安装前将其阻止?
有些可以。这就是检测和强制执行的区别,值得专门询问,因为在安装脚本运行后才发出报告的扫描器并没有保护机器。强制执行可以发生在…… pull request在 pipeline在注册表代理中,或者在软件包到达磁盘之前在开发人员端点处。
AI编码代理是否会改变依赖项中的恶意软件风险?
是的,在某种特定情况下是这样。代理程序无需人工选择即可解析和安装软件包,因此之前假定由人工选择的已批准库策略不再适用。USENIX Security 2025 上发表的研究发现,语言模型推荐的软件包中有 19.7% 并不存在,攻击者会注册这些重复出现的名称。

