yamory の使い方

yamory へようこそ! yamory の基礎知識と使い方をご紹介します。

Java のプロジェクトをスキャンする

yamory では、Gradle または Maven によって管理されている Java プロジェクトの脆弱性をスキャンできます。

Java プロジェクトのスキャンでは、build.gradle または pom.xml ファイルを使用して脆弱性を可視化します。
間接的に依存しているオープンソースの脆弱性を可視化するためには、コマンドラインからスキャンすることを推奨します。(コマンドラインからスキャンする場合、テストスコープのライブラリはスキャン対象外です)

Android プロジェクトをコマンドラインからスキャンされる場合は、build.gradleを対象としております。詳細は こちらをご確認ください。

コマンドラインから Gradle プロジェクトをスキャンする

Gradle プロジェクトのコマンドスキャンでは gradle コマンドの dependencies タスクによって依存関係を抽出した結果をスキャンします。
スキャンを行うには、コマンドライン上でスキャン対象の Gradle プロジェクトのルートディレクトリに移動し、以下を実行してください。

gradle :<Gradle のサブプロジェクト名>:dependencies --console=plain | PROJECT_GROUP_KEY=<yamory 上のプロジェクトグループ識別キー> YAMORY_API_KEY=xxxxxxxxxxxxxxxxx bash -c "$(curl -sSf -L https://yamory/script/...)"

上記の < > 内の箇所は、以下の内容に適宜置き換えてください。

<Gradle のサブプロジェクト名>: Gradle のサブプロジェクト名を入力します。(ルートプロジェクトのみの場合は、 :<Gradle のサブプロジェクト名>: を削除してください。)

<yamory 上のプロジェクトグループ識別キー>:サービス名称などを設定してください。(例: yamory )(半角英数記号のみ、半角スペースは入力不可)

Android プロジェクトをスキャンする

Android プロジェクトのコマンドスキャンでは gradle コマンドの dependencies タスクによって Android 用の依存関係を抽出した結果をスキャンします。
スキャンを行うには、コマンドライン上でスキャン対象の Android プロジェクトのルートディレクトリに移動し、以下を実行してください。

gradle :<Gradle のサブプロジェクト名>:dependencies --console=plain | PROJECT_GROUP_KEY=<yamory 上のプロジェクトグループ識別キー> YAMORY_API_KEY=xxxxxxxxxxxxxxxxx bash -c "$(curl -sSf -L https://yamory/script/...)" -- --android-app

上記の < > 内の箇所は、以下の内容に適宜置き換えてください。

<Gradle のサブプロジェクト名>: 通常 app 等の Android の Module 名を入力します。(ルートプロジェクトのみをスキャンする場合は、 :<Gradle のサブプロジェクト名>: を削除してください。)

<yamory 上のプロジェクトグループ識別キー>:サービス名称などを設定してください。(例: yamory )(半角英数記号のみ、半角スペースは入力不可)

--android-app: Android Library をスキャンされる場合は --android-app--android-libに置き換えてください。

コマンドラインから Maven プロジェクトをスキャンする

Maven プロジェクトのコマンドスキャンでは Maven の dependencyTree タスクによって依存関係を抽出した結果をスキャンします。
スキャンを行うには、コマンドライン上でスキャン対象の Maven プロジェクトのルートディレクトリに移動し、以下を実行してください。

mvn --projects <Maven のサブプロジェクトの groupId:artifactId> dependency:tree -B -Dverbose=true | PROJECT_GROUP_KEY=<yamory 上のプロジェクトグループ識別キー> YAMORY_API_KEY=xxxxxxxxxxxxxxxxx bash -c "$(curl -sSf -L https://yamory/script/...)"

上記の < > 内の箇所は、以下の内容に適宜置き換えてください。

<Maven のサブプロジェクト名>: Maven のサブプロジェクト名を groupId:artifactId の形式で入力します。単一プロジェクトの場合は、 --projects <...> の箇所を削除してください。

<yamory 上のプロジェクトグループ識別キー>:サービス名称などを設定してください。(例: yamory )(半角英数記号のみ、半角スペースは入力不可)

GitHub リポジトリから Gradle / Maven プロジェクトをスキャンする

GitHub リポジトリスキャン の手順に沿って、「スキャン候補リポジトリ選択画面」にて、Gradle / Maven プロジェクトが含まれているリポジトリを選択してください。
なお、GitHub リポジトリスキャンの場合、間接的に依存しているオープンソースライブラリの脆弱性を検出できません。あらかじめご了承ください。