MASTG-KNOW-0004 サードパーティーライブラリ (Third-Party Libraries)

Android アプリは多くの場合サードパーティライブラリを使用します。開発者が問題を解決するために書く必要があるコードがより少なくなるため、これらのサードパーティライブラリは開発を加速します。ライブラリには二つのカテゴリがあります。

  • 実際の製品アプリケーション内にパックされない (またはパックすべきではない) ライブラリ。テストに使用される Mockito や特定の他のライブラリをコンパイルするために使用される JavaAssist のようなライブラリなど。

  • 実際の製品アプリケーション内にパックされるライブラリ。Okhttp3 など。

これらのライブラリは望ましくない副作用を引き起こす可能性があります。

  • ライブラリには脆弱性が含まれている可能性があり、これによりアプリケーションが脆弱になります。よい例は 2.7.5 より前のバージョンの OKHTTP で、TLS チェーン汚染により SSL ピンニングをバイパスすることが可能でした。

  • ライブラリはもはや保守されていないかほとんど使用されていない可能性があり、そのため脆弱性は報告されず修正されません。これによりそのライブラリを介してアプリケーションに不正なコードや脆弱なコードが含まれる可能性があります。

  • ライブラリは LGPL2.1 などのライセンスを使用している可能性があります。LGPL2.1 ではアプリケーションを使用してそのソースの中身を要求するユーザーにアプリケーションの作成者がソースコードへのアクセスを提供する必要があります。実際、アプリケーションはソースコードを変更して再配布できるようにする必要があります。これはアプリケーションの知的財産 (IP) を危険にさらす可能性があります。

この問題は複数のレベルで発生する可能性があることに注意します。WebView 内で JavaScript を実行する WebView を使用すると、その JavaScript ライブラリにもこれらの問題が発生する可能性があります。Cordova, React-native および Xamarin アプリのプラグインやライブラリについても同様です。

Last updated

Was this helpful?