オープンソースソフトウェアはクローズドソースよりも安全との見方もあるが、これはコードが十分に調べられていればの話だ。それは簡単なことではないとGoogleは主張している。
Googleの数人のトップエンジニアは、将来重要なオープンソースソフトウェアプロジェクトがサプライチェーン攻撃などの原因となることを避けるためとして、新たな「規範」を提案した。これらの提案は、(もし関与しているプロジェクトが「重要」だと判断されれば)オープンソースのコントリビュータ―にとっては面倒になりかねないものだ。
Googleは、業界として特定のプロジェクトを「重要」だと判断した場合、そのプロジェクトのオーナーやメンテナーが身分を特定可能で、責任を負うことができ、認証されていることを義務づけるという新たなルールを提案している。つまり、この提案が実現すれば、コードを意のままに変更することはできなくなる可能性があり、変更内容は必ず第三者のレビューを受けることになる。
Googleは、この重要なオープンソースソフトウェアに関する提案はプロジェクトオーナーの負担を増やすものであるため、抵抗を受けることを予想しているという。
同社は「私たちの意見は、コンセンサスと持続可能なソリューションがもっとも重要なこの分野における1つの意見にすぎない」と認めている。しかし、同社のIT業界に対する影響力は大きい。同社は、それらの目標を達成するための提案について説明するブログ記事を公表した。
Googleのプログラミング言語「Go」の主要な設計者の1人であり、ディスティングイッシュドエンジニアのRob Pike氏は、新たなブログ記事の中で、業界は「共同で『重要』なソフトウェアパッケージのセットを定め、このセットに対してだけは高いスタンダードを適用する」ことに合意すべきだと主張している。
重要なオープンソースソフトウェアに対して掲げる目標には、次のようなものがある。
- 一方的なコードの変更をなくす。変更を行う際には、コードのレビューと独立した2つの主体による承認を義務づける。
- 参加者を認証する。これは、匿名でオーナーやメンテナーになることはできないことを意味する。また、コントリビューターには強い認証方式(例:2要素認証)の利用を義務づける。
- ソフトウェアに対するリスクのある変更に通知を義務づける。
- ソフトウェアに関連する成果物の透明性を確保する。
- 信頼できるビルドプロセスを作るための方法を生み出す。
Pike氏らは、「(これらの目標を達成するのは)負担が大きく、ある程度の抵抗を受けることが予想されるが、これらの追加的な制約は、セキュリティを実現するためには欠かせないと考えている」と説明している。
またGoogleは、すべてのオープンソースソフトウェアに当てはめるべき目標も提案し、業界に検討することを求めている。これらに対する異論は比較的少ないと思われるものの、実現するにはGoogleでさえ難しいと考えるような作業や問題解決が必要になる。