MavenプロジェクトのコマンドスキャンではMavenの dependencyTree
タスクによって依存関係を抽出した出力テキストをスキャンします。
スキャンを行うには、コマンドライン上でスキャン対象のMavenプロジェクトのルートディレクトリに移動し、以下を実行してください。
mvn --projects <Maven のサブプロジェクトの groupId:artifactId> dependency:tree -B -Dverbose=true | PROJECT_GROUP_KEY=<yamory 上のプロジェクトグループ識別キー> YAMORY_API_KEY=xxxxxxxxxxxxxxxxx YAMORY_OPEN_SYSTEM=true YAMORY_DISTRIBUTED=false bash -c "$(curl -sSf -L <https://yamory/script/...>)"
上記の < >
内の箇所は、以下の内容に適宜置き換えてください。
<Maven のサブプロジェクト名>
: スキャン対象のMavenのサブプロジェクト名を groupId:artifactId
の形式で入力します。単一プロジェクトの場合は、--projects <...>
の箇所を削除してください。
サブプロジェクトの情報は、サブモジュールのディレクトリ内のpom.xmlの<groupId>
タグと<artifactId>
タグに記載されています。
サブモジュール場所は、Mavenプロジェクトのルートディレクトリに含まれるpom.xmlのタグに記載されています。
<yamory 上のプロジェクトグループ識別キー>
:サービス名称などを設定してください(例:yamory)(半角英数記号のみ、半角スペースは入力不可)。
<https://yamory/script/...>
: サイドバーの「アプリライブラリ」>「スキャン」を開き、「新しいプロジェクトをスキャン+」ボタンを押して出てくる案内にしたがって入力を進め、最後に表示されるスキャンコマンドのURLに置き換えてください。
スキャン対象のスコープは、compile
とruntime
です。
yamoryでは、アプリケーションに含まれ、且つ、実環境で脆弱性としてリスクになり得る脆弱性を検知対象としています。よって、test
スコープや、アプリケーションに含まれないprovided
スコープ(jarなどに含まれず、実行環境上のライブラリ)は、スキャン対象外としています。
yamory上の「公開(外部ネットワークからパブリックアクセスが可能なアプリケーション、またはサービスとして使用するか)」を指定できます。