yamory では、pip によって管理されている Python プロジェクトの脆弱性をスキャンできます。 Python プロジェクトにおけるスキャン対象はこちらをご参照ください。
スキャンは、GitHub リポジトリスキャンまたはコマンドラインスキャンで行えます。用途に応じてお選びください。
GitHub リポジトリスキャンの手順に沿って、「スキャン候補リポジトリ選択画面」にて、pip プロジェクトが含まれているリポジトリを選択してください。
pip プロジェクトのスキャンを行う際に requirements.txt
が必要となります。pip プロジェクトに requirements.txt
がない場合、下記手順を参考に requirements.txt
を生成してください。
requirements.txt
を生成します。Poetry を使用しているプロジェクトの場合 pyproject.toml
があるディレクトリで下記を実行します。
$ poetry export -f requirements.txt --without-hashes | cut -d ';' -f 1 > requirements.txt
<aside> 💡
poetry 2.0以降ではexportコマンドはデフォルトでインストールされなくなりました。別途プラグインをインストール(外部サイトに移動)して実行してください。
</aside>
pipenv を使用しているプロジェクトの場合 pipfile
があるディレクトリで下記を実行します。
pipenv v2022.4.8 以前の場合
$ pipenv lock -r | cut -d ';' -f 1 > requirements.txt
pipenv v2022.4.8 以降の場合
$ pipenv requirements > requirements.txt
「コマンドラインから pip プロジェクトをスキャンする」をご参照ください。
pip list --format=freeze
によって出力される、利用バージョンを特定可能なソフトウェアがスキャン対象です。
※ pip 9.0.0より前のバージョンを利用している場合は pip freeze
をご利用ください。