主要观点:
- mise 曾存在供应链安全问题,现已解决,这是考虑从 asdf 切换到 mise 的重要原因。
- asdf 插件存在易受攻击、维护不善等问题,开源环境下各方无责。
- mise 通过多种后端(ubi、aqua 等)实现了供应链安全的提升,减少了对 asdf 插件的依赖。
- 对 aqua 注册表的支持带来了一些挑战,但也在不断改进。
- 未来将继续改进 mise 的供应链安全,鼓励工具供应商提供预编译二进制文件等。
关键信息:
- 不到 25%的 mise 工具默认使用不安全的 asdf 后端,这些已被 fork 到 mise-plugins 组织。
- asdf 工具依赖易受攻击的 bash 代码插件,插件作者无维护责任,asdf 作者也难以审核请求。
- mise 最初依赖 asdf 插件成功,后因供应链问题寻求解决方案,最终实现多种后端。
- ubi 可直接从 GitHub Releases 获取单二进制工具,aqua 有声明式注册表,更易维护。
- 迁移工具从 asdf 插件到 ubi/aqua 历经艰难,目前 mise 注册中心 210/846 工具默认使用 asdf 后端。
- 对 forking 到 mise-plugins 的 asdf 插件将负责审查/合并 PR。
- 未来将改进 mise 供应链,提高 aqua 注册表的可见性等。
重要细节:
- asdf 插件作者常放弃维护插件,asdf 维护者难以审核请求,存在恶意代码风险。
- mise 多种后端开发历经无数重构和回归,代码从 tied to asdf 抽象到其他后端,概念从“插件”和“工具”合一到分离。
- aqua 用 Go 编写,mise 重新实现其功能,遇到语言差异问题,需与@suzuki-shunsuke 合作解决。
- 迁移工具过程痛苦繁琐,停止接受新 asdf 插件 PR,除非是极流行工具。
- 提醒不要在 aqua 注册表仓库报告 mise 集成问题,以免浪费@suzuki-shunsuke 的时间。
- 未来工作包括使 mise 依赖代码适合单个版本,鼓励工具供应商提供支持等。
- 不考虑添加新“通用”后端,而是改进现有后端,如 ubi 和 aqua。
- vfox 是类似 asdf 的后端,用于 Windows,其插件也已 fork 到 mise-plugins。
- 众多人参与使 mise 供应链改进工作,包括构建功能、设计、迁移工具等。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。