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
    

    <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
    
  2. コマンドラインから pip プロジェクトをスキャンする」をご参照ください。

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


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

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