Flatpak
Linux平台上的应用分发与沙箱化框架,允许开发者将应用及其依赖打包为独立容器进行分发,提供跨发行版兼容性和运行时隔离安全保障
时间轴 (近 90 天)
Flatpak将依赖打包在内部,默认沙盒化,几乎可在任何Linux发行版上安装。
评估 Flatpak 应用安全性时应重点检查应用清单的权限声明,优先使用 --filesystem=xdg-download 等细粒度路径,并借助 Flatseal 等工具审计已安装应用的权限。
Flatpak 的沙箱模型基于 Bubblewrap 构建,通过命名空间隔离文件系统、网络与设备访问,权限由应用清单中的 finish-args 声明,并通过 portal 机制请求额外授权。
一篇广泛传播的文章批评 Flatpak 的沙箱与安全模型,认为其实际防护能力低于用户假设。
依赖 Gentoo Chromium 包的用户未来可能需要转向官方二进制包、Flatpak 或其他替代方案。
Bubblewrap 通过命名空间和 seccomp 过滤器约束进程能看到的文件系统、网络和设备,常被 Flatpak 用作底层隔离层。
Seatbelt 是 macOS 的沙箱框架,bwrap(Bubblewrap)是 Linux 上基于用户命名空间的轻量级容器工具,Flatpak 等应用沙箱底层均依赖它
采用纯 Python 实现的转换库使所有转换逻辑在应用进程内完成,无需调用外部可执行文件,从而可在封闭沙盒中运行且无需额外权限声明
基于 portal 的文件选择器(org.freedesktop.portal.FileChooser)是 XDG Desktop Portal 规范的一部分,是 Flatpak 实现最小权限原则的核心设计之一
Flatpak 应用调用 LibreOffice(soffice)需申请 flatpak-spawn 权限以突破沙盒边界,与 Flathub 安全审核要求存在张力
还有 15 条时间轴事件
全部知识事实 (20)
Zed v1.17.1-pre修复了Flatpak打包环境下通过命令行启动时因参数构造缺陷可能意外打开不相关文件的问题(#62958)
70%待验证Flatpak由GNOME社区主导开发(前身为xdg-app),通过Bubblewrap沙箱(基于Linux内核namespace和seccomp机制)隔离应用权限,应用需通过Portal API请求资源访问,更新采用OSTree增量更新技术
60%待验证Flatpak将依赖打包在内部,默认沙盒化,几乎可在任何Linux发行版上安装。
50%待验证评估 Flatpak 应用安全性时应重点检查应用清单的权限声明,优先使用 --filesystem=xdg-download 等细粒度路径,并借助 Flatseal 等工具审计已安装应用的权限。
50%待验证一篇广泛传播的文章批评 Flatpak 的沙箱与安全模型,认为其实际防护能力低于用户假设。
50%待验证Flatpak 的沙箱模型基于 Bubblewrap 构建,通过命名空间隔离文件系统、网络与设备访问,权限由应用清单中的 finish-args 声明,并通过 portal 机制请求额外授权。
50%待验证Bubblewrap 通过命名空间和 seccomp 过滤器约束进程能看到的文件系统、网络和设备,常被 Flatpak 用作底层隔离层。
50%待验证Seatbelt 是 macOS 的沙箱框架,bwrap(Bubblewrap)是 Linux 上基于用户命名空间的轻量级容器工具,Flatpak 等应用沙箱底层均依赖它
50%待验证基于 portal 的文件选择器(org.freedesktop.portal.FileChooser)是 XDG Desktop Portal 规范的一部分,是 Flatpak 实现最小权限原则的核心设计之一
50%待验证采用纯 Python 实现的转换库使所有转换逻辑在应用进程内完成,无需调用外部可执行文件,从而可在封闭沙盒中运行且无需额外权限声明
50%待验证Flatpak 应用调用 LibreOffice(soffice)需申请 flatpak-spawn 权限以突破沙盒边界,与 Flathub 安全审核要求存在张力
50%待验证Bwrap(Bubblewrap)通过 Linux 命名空间和 seccomp 过滤器限制进程访问,是 Flatpak 应用隔离的底层机制之一
50%待验证Bubblewrap是Linux上的低权限容器工具,最初由Flatpak项目衍生而来,无需root权限即可创建隔离的命名空间
50%待验证Flatpak 和 Snap 应用自带运行时体积较大(动辄数百 MB),首次启动较慢,且与 GTK/Qt 主题引擎集成存在隔阂
50%待验证Linux发行版打包机制各不相同,分发方式可选择通用二进制包、Flatpak、Snap或与发行版包维护者合作,每种方式都有利弊权衡
50%待验证Flatpak 由 Red Hat 主导,应用运行在沙箱中,依赖通过运行时共享,Flathub 是其主要应用仓库
50%待验证Zed v1.16.2 修复了通过 Flatpak 命令行启动 Zed 时的参数构造缺陷(#62959),该 bug 会导致 Zed 意外打开不相关或不存在的文件
50%待验证Flatpak 将应用程序及其所有依赖打包进独立的运行时容器,通过 Bubblewrap 等技术实现进程级沙箱隔离,并通过 Flathub 提供统一分发渠道
50%待验证Flatpak 应用在调用命令行参数时需要经过 flatpak run 的包装层转发,参数传递链路比原生安装更长
50%待验证Flatpak于2015年出现,Snap于2016年出现,为桌面应用提供了用户友好的沙箱方案
50%