Linux Daily Topics

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

この記事を読むのに必要な時間:およそ 1 分

オープンソースのオペレーティングシステムやディストリビューションを構成する数多くのバイナリパッケージ,これらがどのソースコードをもとにビルドされたのかを検証し,ユーザに対してソフトウェアとしての信頼性を提示することは,プロジェクトやディストリビュータにとって重要なプロセスである。だが実際にこの検証作業をスムースに行うことは難しく,仮にひとつひとつのパッケージを手作業でソースコードからリビルドしたとしても,同じソースからコンパイルされているはずなのにパッケージングされたバイナリとは異なっているケースも少なくない。いま使っているプログラムは本当に信頼できるソースコードからビルドされたものと同一なのか ―この検証作業を自動で行うツールを開発すべく,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はそれよりもさらに進化した検証ツールとして機能することが期待されている。

著者プロフィール

階戸アキラ(かいとあきら)

起きてからまず海外ニュースサイトのハシゴをしないと1日を始められない海外ニュースウォッチャー。英語は英検準一級の資格を持ち,日本人と話すより英語圏の人のほうがウマが合う。