Googleは、プログラミング言語「Rust」の開発者コミュニティーに対して行ったRustクレートの監査結果の共有について報告した。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
Googleは、2023年5月23日(米国時間)、プログラミング言語「Rust」の開発者コミュニティーに対して行ったRustクレート監査結果の共有について報告した。
Googleは以前からRustコミュニティーへ投資を行い、Rust Foundation設立に協力したり、Google社員が仕事の一環としてRustの上流開発に取り組んだりするなど、主要なRustプロジェクトを財政的にサポートしている。
Rustは、他の言語でいうパッケージのような再利用可能なソフトウェアコンポーネントであるクレートを使用して、コードのカプセル化と共有を容易にしている。Googleでは、Googleの外部で書かれたクレートを活用するだけでなく、Googleが開発した独自のクレートを幾つか公開することによって、オープンソースのRustクレートエコシステムの構築を支援しているという。
サードパーティーのコードを利用するにはリスクが伴うため、プロジェクトが新しいクレートを使用する前に、開発者は通常、セキュリティ、正確性、テストなどの基準に対し徹底的な監査を行う。Googleではオープンソースプロジェクト全体で同じ依存関係を多く使用しており、異なるプロジェクトが同じクレートを監査すると重複した作業が発生することがあるという。その作業の重複を解消すべく、Googleはプロジェクト間で監査結果の共有を開始した。
Rustの依存関係が信頼できるエンティティによって監査されているかどうかを確認するのに役立つツール「cargo vet」を使用することで、各依存関係の要件を独自に設定することができる。
しかし、ユーザーに展開されるコードは通常、より厳しい要件を満たす必要がある。メモリ安全性の問題を引き起こさず、最新の暗号化を使用し、規格と仕様に準拠していることを確認する必要がある。
監査結果を確認し、共有する際には、監査中に記録された事実とプロジェクトの要件がどのように関連するかを考慮することが重要だ。つまり、監査結果を受け入れる前に、プロジェクトの要件と監査結果の一致を慎重に検討する必要がある。そこで、Googleがこれまでに実施したプロジェクト間での監査結果の共有が有用となる。
Googleは「自社の取り組みをオープンソースコミュニティーと共有することで、Rustのエコシステムをより安全で安心できるものにしたいと考えている」と述べている。
cargo vetを通じて監査を実施し、結果を共有する取り組みは初期段階に当たり、現在もツールの開発が活発に行われているという。
Copyright © ITmedia, Inc. All Rights Reserved.