Google が、何百万も存在するオープンソースソフトウェアライブラリにおけるすべての依存関係をマッピングし、パッチが適用されていない脆弱性を警告するオンラインツールを構築した。
このツールは、自分のプログラミングプロジェクトで利用するライブラリの中に何が含まれているのか正確に調べ、特に重要なこととして、修正されていない隠れたセキュリティバグが含まれていないか確認するのに役立つ。それにより、別のパッケージセットを選択したり、セキュリティホールへのパッチ適用に役立てたりすることで、アプリケーションが悪用可能な状態のまま放置されるのを避けることができる。
最近では、あるライブラリをプロジェクトに取り入れる際、そのライブラリが持つ数十の依存関係や下位依存関係も含めて取り入れているのが普通である。そしてそれらのコンポーネントのすべてにセキュリティホールが含まれているかもしれず、あるいは実際に含まれているため、親プログラムが攻撃に対して脆弱な状態になる可能性がある。
また、それらの依存関係が壊れたり消滅したりして、コードの構築や展開ができない、または期待通りに構築できない場合もある。プログラムが古いライブラリをインポートし、最新の状態を保っていない可能性もあり、その場合はバグ修正やセキュリティパッチ、新たな機能を適用し損なう。
開発者はプロジェクトにライブラリを追加する際、自分が何を扱っているのか、または表面下にどんな問題が潜んでいるのか、ほとんど分かっていないと言ってもいいだろう。このソフトウェアエンジニアリングの脆弱な状態は、無料ソフトウェアだけでなく商用アプリケーションにも影響を与えており、この問題を指摘する Google 社員たちの声がますます高まっている。
このツールは、自分のプログラミングプロジェクトで利用するライブラリの中に何が含まれているのか正確に調べ、特に重要なこととして、修正されていない隠れたセキュリティバグが含まれていないか確認するのに役立つ。それにより、別のパッケージセットを選択したり、セキュリティホールへのパッチ適用に役立てたりすることで、アプリケーションが悪用可能な状態のまま放置されるのを避けることができる。
最近では、あるライブラリをプロジェクトに取り入れる際、そのライブラリが持つ数十の依存関係や下位依存関係も含めて取り入れているのが普通である。そしてそれらのコンポーネントのすべてにセキュリティホールが含まれているかもしれず、あるいは実際に含まれているため、親プログラムが攻撃に対して脆弱な状態になる可能性がある。
また、それらの依存関係が壊れたり消滅したりして、コードの構築や展開ができない、または期待通りに構築できない場合もある。プログラムが古いライブラリをインポートし、最新の状態を保っていない可能性もあり、その場合はバグ修正やセキュリティパッチ、新たな機能を適用し損なう。
開発者はプロジェクトにライブラリを追加する際、自分が何を扱っているのか、または表面下にどんな問題が潜んでいるのか、ほとんど分かっていないと言ってもいいだろう。このソフトウェアエンジニアリングの脆弱な状態は、無料ソフトウェアだけでなく商用アプリケーションにも影響を与えており、この問題を指摘する Google 社員たちの声がますます高まっている。