Linux Daily Topics

2020年4月28日バイナリパッケージの信頼性と再現性を検証するArch Linuxの独自プロジェクト「Rebuilder」

オープンソースのオペレーティングシステムやディストリビューションを構成する数多くのバイナリパッケージ、これらがどのソースコードをもとにビルドされたのかを検証し、ユーザに対してソフトウェアとしての信頼性を提示することは、プロジェクトやディストリビュータにとって重要なプロセスである。だが実際にこの検証作業をスムースに行うことは難しく、仮にひとつひとつのパッケージを手作業でソースコードからリビルドしたとしても、同じソースからコンパイルされているはずなのにパッケージングされたバイナリとは異なっているケースも少なくない。いま使っているプログラムは本当に信頼できるソースコードからビルドされたものと同一なのか ―この検証作業を自動で行うツールを開発すべく、Arch Linux内で独自プロジェクト「Rebuilder」が4月から始まっている。現時点のバージョンは0.3.0で、ライセンスはGPLv3だ。

Running an independent Arch Linux rebuilder in 4 easy steps
Rebuilderd -Arch Linux
Independent verification of binary packages - reproducible builds -GitHub

RebuilderはArch Linux内のパッケージインデックスをトラックするデーモン「rebuilderd」と、パッケージのリビルドに必要なソースコードの名前やURL、メンテナー(オプション)といった情報をJSON形式で表示するワーカー「rebuild worker」で構成される。

rebuilderdのトラッキング画面(一部)
rebuilderdのトラッキング画面(一部)

実行するための準備は以下の通り。

  1. インストール
  2. マシン/ネットワークのセットアップ
  3. リビルドに必要なパッケージの同期に関する設定(/etc/rebuilderd-sync.conf)
  4. Ansible Playbookにロール(rebuilderd)を追加

現時点ではRebuilderがサポートするディストリビューションはArch Linuxのみだが、Debianサポートも検討中だという。Arch Linuxは2016年ごろからパッケージのセキュアな再現に積極的に取り組んでおり、その成果は2019年の「Pacman 5.2」のリリースなどで示されてきたが、Rebuilderはそれよりもさらに進化した検証ツールとして機能することが期待されている。

おすすめ記事

記事・ニュース一覧