GitHub アカウントと連携してリポジトリをスキャンする(GitHub リポジトリスキャン)
yamory と GitHub アカウントを連携することで、GitHub で管理しているリポジトリ内のマニフェストファイルを毎日自動でスキャンします。yamory ではこれを「GitHub リポジトリスキャン」と呼称しています。
スキャン対象はリポジトリ単位で選択できるため、脆弱性の存在を把握したいリポジトリだけを yamory に登録できます。
GitHub 以外でソース管理している場合、コマンドラインから脆弱性をスキャンできます。
Java、Scala 等のコンパイル系言語については、間接的に依存しているオープンソース脆弱性をスキャンするためにコマンドラインからスキャンすることを推奨します。
GitHub と連携するステップ
以下の手順で、GitHub と連携します。
- OAuth 認証を行う
- スキャンするリポジトリの選択する
- 登録されたリポジトリとマニフェストファイルを確認する
連携する GitHub アカウントはスキャン対象リポジトリの Read 権限を持っている必要があります。
OAuth 認証を行う
(1)「スキャン」画面から、「新しいプロジェクトをスキャン」をクリックしてください。
(2)「GitHub リポジトリから追加」をクリックしてください。
スキャン候補リポジトリ選択画面でスキャン対象を選択しない限り、スキャンされません。
(3)GitHub と連携する Organization を確認し、「Authorize yamory」をクリックしてください。
Organization に対して Access restricted となっている場合、表示されている 「Grant」 をクリックし、許可してください。
Organization に対して Owner ではない場合、表示されている 「Request access」 をクリックし、Owner に許可を要求してください。
スキャンするリポジトリの選択する
認証した Github Organization でスキャン可能なリポジトリ候補が表示されます。
スキャンしたいリポジトリを選択し、スキャンしてください。
スキャン対象となるブランチは、「デフォルトブランチ」です。
登録されたリポジトリとマニフェストファイルを確認する
スキャンが完了すると、登録されたリポジトリとマニフェストファイルを表示されます。
各マニフェストファイルをクリックすると、依存関係のあるソフトウェアが一覧で表示されます。
依存関係のあるソフトウェアに脆弱性が検出されている場合、そのソフトウェア名をクリックすると検出されている脆弱性が一覧で表示されます。
別の GitHub アカウントと再連携する
yamory では、 yamory 1 ユーザーに対して、 GitHub 1 アカウントが連携します。GitHub 連携した後、別の GitHub アカウントと再連携したい場合は、下記の 2 つの方法で再連携できます。
- GitHub 連携を一度解除( Revoke )し、別の GitHub アカウントと再連携する
- yamory 上に別のユーザーを作り、その新しいユーザーと別の GitHub アカウントを連携する