PyPI、セキュリティ信号を強化したUI刷新を公開
原題: PyPI's redesigned project pages with clearer security signals are now live
なぜ重要か
サプライチェーン攻撃が増加する中、パッケージ出所の可視化はオープンソースのセキュリティ底上げに直結する。
Python Package Index(PyPI)は2026年11月6日、プロジェクト詳細ページのUIリニューアルを完了し本番公開した。新設された「Security」タブでは、リリースファイルごとの出所(Provenance)状態を視覚的に表示。2024年に導入したデジタル署名・証明(Attestation)機能の情報をより分かりやすく伝えるため、Kabu CreativeおよびOpenSSF Attestations Style Guideの推奨に基づき設計された。
PyPIは2026年7月に予告していたUIアップデートを予定通り完了させた。Pythonエコシステムの急成長に伴い、PyPIは悪意ある攻撃者の標的になりやすくなっている。これを受け、同チームはセキュリティ機能の拡充を続けてきたが、特に2024年導入の「Digital Attestation」(デジタル証明)が十分に活用されていないという課題があった。多くのユーザーがProvenanceやAttestationの概念に不慣れであり、従来のUIもその意味や重要性、限界を伝えきれていなかった。
今回の刷新の中核は新設の「Security」タブだ。リリースファイルごとにAttestationの有無を確認できるほか、PyPIはリリース全体の「Provenance State(出所状態)」を自動算出して表示する。主な状態は2種類。すべてのファイルにAttestationが付与されている「Full Provenance」と、1つも付与されていない「No Provenance」だ。後者は旧リリースやTrusted Publishingを未設定のプロジェクトに多く見られる状態で、必ずしも悪意のある配布を意味するわけではない。
Attestationの種類は2系統ある。PyPI Trusted Publisherによる公開を証明する「PyPI Publish Attestation」と、ソースコードのコミット・ビルドプラットフォーム・ビルド手順まで追跡できる「SLSA Build Provenance Attestation」だ。UIからメタデータを直接確認できるほか、Transparency Logへのリンクも提供される。
さらに「Provenance Warning」として、Incomplete(一部ファイルのみ証明あり)、Inconsistent(ファイル間でAttestationの種類が異なる)、Change of Provenance(前バージョンから出所が変わった)、Loss of Provenance(前バージョンにはあったAttestationが消えた)といった警告状態も定義・表示される。プロジェクト詳細ページのデザイン自体も見直され、Release FilesとRelease Historyの表示も改善された。