🛡 概要
2023年9月初旬、GhostAction供給連鎖攻撃により盗まれたすべてのPyPIトークンが無効化されました。Python Software Foundationのチームは、悪意のある攻撃者がこれらのトークンを悪用してマルウェアを公開することはなかったと確認しています。PyPIトークンは、Pythonのパッケージ管理ツールのデフォルトのソースであるPython Package Indexにパッケージを公開するために使用されます。
🔍 技術詳細
この攻撃は、GitHub Actionsのワークフローを悪用し、PyPIトークンを外部サーバーに送信することを目的としていました。GitGuardianの報告によると、9月5日に悪意のあるワークフロー(例:FastUUID)がトークンを外部に流出させようとしたことが発覚しました。攻撃の全容が明らかになるまでに、GitGuardianは570以上の影響を受けたリポジトリでGitHubの問題を報告し、GitHub、npm、PyPIのセキュリティチームに通知しました。PyPIチームは、調査中にPyPIリポジトリが侵害された証拠を発見しませんでしたが、影響を受けたトークンを無効化し、プロジェクトオーナーに連絡を取りました。
⚠ 影響
GhostActionキャンペーンによって、3,300以上のシークレットが盗まれたと推定されています。これには、PyPI、npm、DockerHub、GitHub、Cloudflare APIトークン、AWSアクセスキー、データベースの認証情報が含まれます。GitGuardianによると、複数のパッケージエコシステムにわたってトークンが侵害され、いくつかの企業はそのSDKポートフォリオ全体が侵害されていることが判明しました。攻撃者は、PyPIトークンがGitHubのシークレットとして保存されているリポジトリをターゲットにしましたが、PyPI上でこれらのトークンを使用した形跡は見られませんでした。
🛠 対策
PyPIのパッケージメンテナは、GitHub Actionsを使用する際に、長期的なトークンを短期的なTrusted Publishersトークンに置き換えることが推奨されています。これにより、この種の攻撃から守ることができます。また、アカウントにログインし、セキュリティ履歴を確認することで、不審な活動を早期に発見することが重要です。攻撃者の手口を理解し、適切な対策を講じることで、今後のリスクを軽減することができます。Python Software Foundationは、9月15日に影響を受けたプロジェクトのメンテナに連絡を取り、トークンの無効化を通知し、Trusted Publishersの使用を推奨しました。