yamory の使い方

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

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

yamory では、pip によって管理されている Python プロジェクトの脆弱性をスキャンできます。
Python プロジェクトにおけるスキャン対象はこちらをご参照ください。

スキャンは、GitHub リポジトリスキャンまたはコマンドラインスキャンで行えます。用途に応じてお選びください。

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

GitHub リポジトリスキャンの手順に沿って、「スキャン候補リポジトリ選択画面」にて、pip プロジェクトが含まれているリポジトリを選択してください。

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

pip プロジェクトのスキャンを行う際に requirements.txt が必要となります。pip プロジェクトに requirements.txt がない場合、下記手順を参考に requirements.txt を生成してください。

  1. requirements.txt を生成します。
    Poetry を使用しているプロジェクトの場合 pyproject.toml があるディレクトリで下記を実行します。
$ poetry export -f requirements.txt --without-hashes | cut -d ';' -f 1 > requirements.txt

Pipenv を使用しているプロジェクトの場合 pipfile があるディレクトリで下記を実行します。
v2022.4.8 以前の場合

$ pipenv lock -r | cut -d ';' -f 1 > requirements.txt

v2022.4.8 以降の場合

$ pipenv requirements > requirements.txt
  1. コマンドラインから pip プロジェクトをスキャンする」をご参照ください。

pip プロジェクトのスキャン対象

pip list --format=freeze によって出力される、利用バージョンを特定可能なソフトウェアがスキャン対象です。

※ pip 9.0.0より前のバージョンを利用している場合は pip freeze をご利用ください。