@moudy brew 本来也是给开发者用的,面向开发者的部署本来就需要在安全和效率之间做权衡。针对普通用户的分发渠道是 App Store ,那玩意儿始终运行在沙盒里。你说的模拟对 brew 没啥意义,真投毒的话你不审查代码的话根本查不出来,怎么确认安全性?要么就一直运行在沙盒,那可以用 docker 或者 orbstack
@dilidilid 醒醒,谁告诉你 brew 是给开发者用的。n 多有用的软件你去搜官网都是让你 brew 安装。这玩意就是第二个 appstore 。shell 脚本最终能做的也就那些事。读取敏感文件,安装 daemon ,替换 library 或关键 binary 。行为识别已经能卡住大部分恶意脚本了。
@moudy 你说的那 n 多软件基本都是开源软件,开源软件本身就存在更多的供应链风险,你用沙箱测试能规避吗? 我说开发者可能有点极端了,但 brew 确实基本上都是 Pro 用户在用,你可以问问非 Pro 用户买 Mac 的有几个装了 homebrew 。 作为一个佐证,brew 最近一年 install_on_request 事件一共只有一亿次不到,这是包括全平台以及每个包被安装都会计数,homebrew 的 macOS 实际活跃用户估计也就在千万水平,和 macOS 的总体用户规模相去甚远
@moudy 你说的行为识别是杀毒软件的需求,Windows 也是默认这么做的,代价就是性能和 IO 耗损以及误杀,这也是很多人抱怨 Windows 文件系统性能差的一个重要原因。mac 平台上的“供应链投毒”显然没有到需要牺牲流畅度去这么做的程度,如果真的特别在意可以在 Mac 上安装第三方杀毒软件