返回 2026-06-28
🛠 工具 / 开源

包管理本周资讯:2026年6月27日This Week in Package Management: 27 June 2026

nesbitt.io·2026-06-27

本周包管理生态系统的最新动态汇总,涵盖了各类包管理器的版本发布、安全公告以及社区文章。文章为开发者提供了跨语言、跨平台的依赖管理最新资讯。对于关注软件供应链和生态演进的工程师来说,这是一份高效的周报。阅读它能快速掌握包管理领域的核心变更与安全动态。

Andrew Nesbitt

本周摘要的第六期,内容汇总自包管理器 OPML 订阅源集合,以及我在 Mastodon 上发布或转发的信息。

版本发布

Spack 1.2.0 将重写的并行安装器设为默认,添加了 concretization 分组和 concretization 缓存,并发布了 SBOM 生成功能,以及实验性的构建沙盒和 spack isolate 命令。

当 registry 按需生成 tarball 且无法在其元数据中提供校验和时,pnpm 11.9 会根据下载的文件计算该 tarball 的完整性,并将其存储在 lockfile 中,以便在后续安装时进行验证。该版本还添加了 pnpm sbom --exclude-peers 命令,并加快了对循环 lockfile 的审计速度。

pixi 0.71.0 使 conda 到 PyPI 的名称映射变得可配置,因此你可以使用自己的条目来补充生成的映射,而不是覆盖整个文件,这有助于在企业网络中托管自己映射的用户。

uv 0.11.24 在预览特性下使项目环境变得可重定位,并添加了 CPython 3.15.0b3。

RubyGems 4.0.15 降低了加载完整索引和执行 bundle install 期间的内存峰值,而 Bundler 4.0.15 会从真实的远程仓库解析 git 源中的 Git LFS 文件,并实现了 make jobserver。

Dependabot Core 0.383.0 将内置的 npm 从 11.8.0 升级到了 11.17.0,添加了针对安全阻止更新检查的 blocked_versions.ignored 指标,并在 Bundler 4.0.11+ 的 lockfile 更新中保留了原始的 bundler 校验和。

winget 1.29.280 添加了一项实验性的源优先级设置,允许你为某个源分配一个数字优先级,使得在其他条件相同时,该源的结果会优先排序。

pdm 2.28.0 添加了实验性的工作区支持,用于在共享的根 lockfile 中管理本地成员项目。

pipx 1.15.0 为 pipx ensurepath 添加了 --dry-run 标志,并修复了基于 uv 的虚拟环境的 uninject 功能。

mise 2026.6.14 添加了针对 Homebrew formulae 的 mise bootstrap packages import/prune 功能,以及一个 mise bootstrap 状态报告,该报告将包、dotfiles、代码库和 shell 激活状态聚合到一个视图中。

Deno 2.9.0 添加了一个仅限 canary 版本使用的 deno desktop 命令,该命令可将项目编译为独立的桌面二进制文件,默认使用操作系统原生的 WebView,并能够切换至 Chromium Embedded Framework 后端。

Docker Engine 29.6.0 添加了 GET /images/{name}/attestations 端点,用于检索附加到镜像上的 in-toto attestation statements(如 SLSA provenance 和 SPDX SBOM),并支持平台选择和 predicate-type 过滤。

Homebrew 6.0.4 在 patch DSL 中添加了 type 和 resolves 字段用于标注补丁,这是由我编写的一项更改。

其他发布的版本:sbt 1.12.13、Verdaccio 6.7.4、NuGet 7.9.0.60、Gradle 9.6.1、Helm 3.21.2。

安全更新

Podman 6.0.0 修复了 CVE-2026-57231,在该漏洞中,具有畸形 Env 条目的恶意镜像可能会将宿主机的环境变量泄露到容器中,包括使用 * 通配符在不知道变量名的情况下拉取大量变量。该版本还包含破坏性变更,需要匹配对应的 Buildah、Skopeo、Netavark 和 Aardvark 版本。

Docker Engine 29.6.1 修复了多个漏洞,其中包括一个因恶意镜像提供格式错误的 /etc/passwd 或 /etc/group 文件,从而可能导致内存过度消耗并引发内存溢出(OOM)终止进程的漏洞 (GHSA-mjcv-p78q-w5fw, GHSA-jpcc-p29g-p8mq, GHSA-72x6-4j93-7w86)。

zizmor 1.26(一款 GitHub Actions 静态分析工具)添加了三项审计:用于检测拼写错误的 action 引用的 typosquat-uses(由我添加),以及用于检测从包管理器外部安装的包的 unsound-ternary 和 adhoc-packages。

相关文章

Swift Package Index 加入了 Apple,并表示双方正在共同为 Swift 社区构建一个包注册表。

《技能分发的糟糕现状》(The Sorry State of Skill Distribution,Trail of Bits)构建了四个能够绕过他们测试的所有技能扫描器的代理技能,并指出那些旨在捕获恶意技能的工具根本不起作用。

Scrutineer(Josh Bressers)对本地模型运行了同类技能扫描,以避免高昂的 token 费用。

《漏洞报告不再特殊》(Vulnerability reports are not special anymore,Filippo Valsorda)指出,一旦 LLM 能够为所有人发现相同的漏洞,曾经让漏洞报告与众不同的保密性和稀缺洞察力便不复存在。

《一个月的生态系统安全工程》(One month of ecosystem security engineering,PHP Foundation)介绍了生态系统安全团队在第一个月内为 Packagist 和 Composer 发布的成果。

《Packagist 的安全改进》(Packagist’s security improvements,Josh Bressers,Open Source Security)是对 Jordi Boggiano 的一次访谈,内容涉及恶意软件检测、透明度日志和不可变标签,延续了 Nils Adermann 的 PHPVerse 幻灯片所涉及的同一 Packagist 系列。

《连接 conda 和 PyPI 生态系统》(Bridging conda and PyPI ecosystems,conda.org)介绍了一个 conda-pypi 频道,该频道将 PyPI 元数据转换为 conda 求解器读取的 repodata,外加一个解压 wheels 并将其注册到 conda 的插件,这样你就可以在环境中通过 conda install 而不是 pip 来拉取 PyPI 包。

《CRAN 上的新包太多了?》(Too many new packages on CRAN?,R Works)注意到最近 323 个新的 CRAN 包中有 40 个没有提供 README,并附上了一个 GitHub 讨论链接,探讨瓶颈究竟在于提交量还是维护者的精力。

论文

《确保开源完整性:基于复制的重用与许可证合规性的交汇》(Ensuring Open Source Integrity: The Intersection of Copy-Based Reuse and License Compliance,Jahanshahi 等人,arXiv)利用 World of Code 基础设施构建了一个基于复制的代码重用网络,映射了跨项目的直接复制行为,随后量化了这种复制在显式包管理器依赖之外,会在多大程度上引发潜在的许可证违规。

《所见非所执行:面向供应链安全的基于内存的运行时 SBOM 生成》(What You See Is Not What You Execute: Memory-Based Runtime SBOM Generation for Supply Chain Security,Alia 等人,arXiv)从运行时实际加载的组件而不是元数据或文件系统工件生成 SBOM,旨在解决 Python 等两者不一致的动态生态系统中的问题。

《VeriPort:自动化且经验证的补丁反向移植》(VeriPort: Automated and Verified Patch Backporting,Ghebremichael 等人,arXiv)将安全修复一次性反向移植到多个先前版本,并生成证据证明每次反向移植都能阻止漏洞利用并保留原有功能,而不是仅针对预先选定的某一个版本。

《Android 应用签名密钥保护的纵向研究》(A Longitudinal Study of Android Apps Signing Key Protection,Meng 等人,arXiv)在公共代码库中挖掘 Android 签名凭据,通过暴露的密码恢复被破解的密钥,并将它们与超过 4000 个应用的签名进行匹配。

其他

Python 安全响应团队已将其用于自动化安全公告任务并绕过 GitHub 限制的 cron 机器人 psrt-ghsa-bot 开源。

继 curl 之后,Open Collective 也在夏季暂停了其安全赏金计划,并考虑在恢复后,每位研究员每周只对前三份报告支付报酬。

replacements.fyi 允许你搜索 npm 包名并获得更轻量或更安全的替代品建议,旨在减少依赖臃肿。

git-pkgs

我为 brief v0.8.2 和 enrichment v0.4.0 打了标签。

将下周的链接发送至 @[email protected]。

需要完整排版与评论请前往来源站点阅读。