先日、xz/liblzmaプロジェクト[1] への悪意をもったコントリビューションによってDebian SSH接続にバックドアが仕掛けられていたことが発覚しました。これは、コード、コントリビューター、そして提供されたコントリビュートの意図を厳格に調査する必要性を示しています。
wolfSSLでは悪意の込められたコードの混入などを防ぐため、厳格なプロセスを実行しています。
社外のコントリビューターに対して
- 権限を有する担当社員が、提案されたコード変更を評価するためのドキュメントを作成し、疑わしいコードパターンが含まれていないか精査した後に、他の社員へ通知します。
- コントリビューションの内容が望ましいものである場合にも、コントリビューターの署名を含む同意書や過去の履歴を用いて、法的レビューを実施しています。
このとき、組織的な活動や継続的な投稿の正当性などの要素を考慮して精査しています。 - 提案された変更の利点及びその正当性について、必要に応じてコントリビューターに対して書面による説明を要求します。
- コードをマージする際には、静的分析や動的分析を含むすべてのCIテストに合格する必要があります。
パフォーマンスとリソースに関する基準を設けており、スループットやパフォーマンス、バイナリオブジェクトサイズに悪影響を及ぼさないことを確認しています。 - コードのマージには、初めにアサインされた権限を有する担当社員による確認に加え、その他1〜4人の弊社社員によるコードレビューを行って最終承認を得る必要があります。
レビューされていないコードがマージされることは決してありません。
弊社社員に対して
社外のコントリビュータと同一のコードレビュープロセスを実行し、変更点を徹底的に吟味します。
- 提案する変更の利点についての説明を要求しています。
- コードをマージする際には、静的分析や動的分析を含むすべてのCIテストに合格する必要があります。
- コードのマージには、弊社の他の1〜3人の社員によるコードレビューを行って最終承認を得る必要があります。
レビューされていないコードがマージされることは決してありません。
毎日、様々なシステムや構成ですべてのコードに対してオフライン分析を実行しています。この検査には過去、現在、そしてリリース前のツールチェーンやアナライザを使用しています。
継続的に更新・拡張されるメインラインの自動分析システムで検知される不具合を0にしない限り、新たなリリースタグを付加することはありません。
弊社では、悪意のあるバックドアの設置やその他の疑わしい動作を行うコードから製品のソースコードを保護するために、このように厳格なプロセスを実行しています。
参照:
[1]https://www.openwall.com/lists/oss-security/2024/03/29/4
ご質問がありましたら、info@wolfssl.jp までお問い合わせください。