PyPI は、パスワードや API トークンに縛られずにパッケージを公開する機能を実装します。

Python パッケージの PyPI (Python Package Index) リポジトリは、パッケージを公開するための新しい安全な方法を使用する機能を提供します。これにより、固定パスワードや API アクセス トークンを外部システム (GitHub Actions など) に保存することを回避できます。 新しい認証方法は「Trusted Publishers」と呼ばれ、外部システムが侵害され、事前に定義されたパスワードまたはトークンが攻撃者の手に渡った結果として実行される悪意のあるアップデートが公開されるという問題を解決するように設計されています。

新しい認証方法は OpenID Connect (OIDC) 標準に基づいており、従来のログイン/パスワードや手動で生成された永続的な API アクセスを使用する代わりに、外部サービスと PyPI ディレクトリの間で交換される時間制限のある認証トークンを使用してパッケージ公開操作を検証します。トークン。 Trusted Publishers メカニズムを使用する機能は、GitHub Actions で起動されるハンドラーにすでに実装されています。 他の外部サービスに対する Trusted Publishers のサポートは、将来実装される予定です。

メンテナは、外部 OpenID プロバイダー (IdP、OpenID Connect ID プロバイダー) に提供される識別子に対して PyPI 側で信頼を設定できます。これは、外部サービスが PyPI から有効期間の短いトークンをリクエストするために使用されます。 生成された OpenID Connect トークンは、プロジェクトとハンドラーの間の関係を検証します。これにより、PyPI は、公開されたパッケージが特定のリポジトリに関連付けられているかどうかの検証など、追加のメタデータ検証を実行できるようになります。 トークンは保存されず、特定の API に関連付けられており、短い有効期間の後に自動的に期限切れになります。

さらに、2023 年 6933 月の PyPI カタログ内の 2019 個の悪意のあるパッケージの特定に関する情報を含む Sonatype のレポートにも注目してください。 115 年以降、PyPI で特定された悪意のあるパッケージの数は合計で XNUMX を超えました。 悪意のあるパッケージのほとんどは、タイポスクワッティング (example の代わりに examplepl、django の代わりに djangoo、python の代わりに pyhton など、個々の文字が異なる類似の名前を割り当てる) を使用して一般的なライブラリに偽装されます。攻撃者は、不注意なユーザーがタイプミスや、検索時に名前の違いに気づいた人。 悪意のある行為は通常、パスワード、アクセス キー、暗号ウォレット、トークン、セッション Cookie、その他の機密情報を含む一般的なファイルを特定した結果、ローカル システム上で見つかった機密データを送信することになります。

出所: オープンネット.ru

コメントを追加します