Pythonプロジェクトの依存関係を脆弱性データベースで即チェック
Simon Willison氏が、Pythonプロジェクトの依存パッケージに含まれる既知の脆弱性を一括検索できるWebツール「Python Vulnerability Lookup」を公開した。
使い方はシンプル——設定不要で即利用可能
使い方は非常にシンプルだ。プロジェクトの pyproject.toml または requirements.txt の内容をテキストエリアに貼り付けるか、依存関係ファイルを含むGitHubリポジトリ名を入力するだけでよい。ツールはGoogleが運営するオープンソース脆弱性データベース OSV.dev のJSON APIに問い合わせを行い、各パッケージの既知脆弱性を一覧表示する。
表示される情報には以下が含まれる:
- 深刻度レベル(CVSSスコアベース)
- 影響を受けるバージョン範囲
- 詳細な開示レポートへのリンク
OSV.devのオープンCORS APIを活用
今回のツール開発のきっかけは、OSV.devがCORSを許可したオープンなJSON APIを提供していることをWillison氏が発見したことだ。CORSが許可されているため、バックエンドサーバーを介さずブラウザから直接APIを叩けるシングルページのHTMLツールとして実装できた。
OSV.dev(Open Source Vulnerabilities)はGoogleが主導するプロジェクトで、Python(PyPI)をはじめ、npm、Go、Rust、Javaなど多数のエコシステムの脆弱性情報を一元管理している。NVDやGitHub Advisory Databaseとも連携しており、日本の開発現場でも活用が広がっている。
ツール自体もAIで開発——「バイブコーディング」の実践例として
Willison氏はこのツール自体を Claude Code を使って構築したことも明かしている。AIアシスタントと対話しながらコードを書く「バイブコーディング(Vibe Coding)」のひとつの実践例として紹介されており、軽量なHTMLツールをAIで素早く実装するアプローチの有効性を示している。
サプライチェーン攻撃対策として活用を
Pythonプロジェクトの依存関係を狙ったサプライチェーン攻撃は近年増加傾向にある。pip audit や GitHub Dependabotといった既存ツールと並んで、本ツールをCI/CDの事前チェックや定期的なセキュリティレビューに組み込むことで、脆弱なパッケージの早期発見に役立てられるだろう。
ツールはブラウザ上で動作し、インストール不要・無料で利用可能。