为什么可重复构建很重要,解释如下:可重现的构建.org:
虽然任何人都可以检查免费开源软件的源代码是否存在恶意缺陷,但大多数软件都是预编译分发的,没有方法确认它们是否对应。
这刺激了对发布软件的开发人员的攻击,不仅通过传统的利用方式,而且还以政治影响、勒索甚至暴力威胁的形式进行。
根据isdebianreproducibleyet.comDebian 目前的可重复性只有 94.7%。
列出了buster/amd64 中无法重现构建的软件包这里。
有没有一种简单快速的方法来列出系统上安装的所有不可重现的软件包?
我正在考虑类似的方法debsecan | grep "remotely exploitable"
来识别已安装的有漏洞的软件包,或者vrms
确保没有安装不免费的开源软件的软件包。是否存在这样的工具或脚本?
答案1
值得注意的是,可重现构建信息中显示的结果仅反映当前测试框架中的理论可重现性。它们不一定能被翻译成关于当前包的可重复性的声明可下载来自 Debian 存储库。
也就是说,这devscripts
包含一个reproducible-check
命令,其目标与您正在寻找的内容类似:它从 CI 基础设施下载当前结果,并将其与已安装的软件包集进行比较。然而,它目前存在一些问题,并且测试结果仅针对 Bullseye 导出...如果您感兴趣,请密切关注上游存储库,该工具正在开发中。