Native Image インスペクトツール

Native Image には、ネイティブ実行可能ファイルまたはネイティブ共有ライブラリに含まれるすべてのメソッドをリストするためのインスペクトツールが用意されています。コマンド $JAVA_HOME/bin/native-image-inspect <path_to_binary> を実行して、native-image-inspect-schema-v0.2.0.json で定義された JSON スキーマに対して検証される JSON 形式でクラス、メソッド、フィールド、コンストラクタをリストします (Oracle GraalVM でのみ利用可能)。

native-image ビルダーは、既定でネイティブ実行ファイルにメタデータを格納します。これにより、インスペクトツールを使用して格納されているメソッドをリストできるようになります。

格納されるデータの量は画像全体のサイズに比べてかなり少ないですが、-H:-IncludeMethodData オプションを設定してメタデータの生成を無効にすることができます。このオプションでコンパイルされたイメージは、ツールによってインスペクトできなくなります。

ソフトウェア・ビル・オブ・マテリアル (SBOM) #

Native Image は、ビルド時にソフトウェア・ビル・オブ・マテリアル (SBOM) を埋め込んで、既知のセキュリティの脆弱性に影響を受ける可能性のあるライブラリを検出できます。Native Image には、--enable-sbom オプションを使用して SBOM をネイティブ実行ファイルに埋め込む機能があります (Oracle GraalVM でのみ利用可能)。

このツールは、$JAVA_HOME/bin/native-image-inspect --sbom <path_to_binary> を通じてアクセスできるオプションの --sbom パラメータを使用して、圧縮された SBOM を抽出できます。

その他の資料 #

当社にご連絡ください。