新しい調査により、GitHub 上の 15,000 以上の Go モジュール リポジトリが、リポジャッキングと呼ばれる攻撃に対して脆弱であることが判明しました。
「9,000以上のソフトウェアリポジトリが、GitHubのユーザー名の変更によりリポジャッキング攻撃に対して脆弱である」とVulnCheckのCTOであるJacob Baines氏が共有したレポートでは述べられている。 「6,000 以上のリポジトリが、アカウント削除による再ハイジャックに対して脆弱です。
これらのソフトウェア リポジトリには、合計で 800,000 以上の Go モジュール バージョンが含まれています。
リポジャッキング 「リポジトリ」と「ハイジャック」を組み合わせた造語で、悪意のある者がアカウントのユーザー名の変更と削除を悪用して、同じ名前の新しいリポジトリと既存のユーザー名リポジトリを作成して、オープン ソースを起動できるようにする攻撃手法です。ソフトウェアサプライチェーン攻撃。
今年 6 月初め、クラウド セキュリティ会社 Aqua は、GitHub 上の何百万ものソフトウェア リポジトリがこの脅威に対して脆弱である可能性があることを明らかにし、名前を変更する組織に対し、この悪用を防ぐために、プレースホルダとして以前の名前が残っていることを確認するよう促しました。
Go プログラミング言語で記述されたモジュールは、npm や PyPI などの他のパッケージ マネージャー ソリューションとは異なり、GitHub や Bitbucket などのバージョン管理プラットフォームに公開されるときに分散化されるため、特にリポジャッキングに対して脆弱です。
「誰でも Go モジュールのミラーと pkg.go.dev キャッシュ モジュールの詳細を教えてもらえます」とベインズ氏は言いました。 「攻撃者は、新しい未使用のユーザー名を登録し、モジュール リポジトリをコピーし、新しいモジュールを proxy.golang.org および go.pkg.dev に公開する可能性があります。
開発者が安全でない可能性のあるパッケージをダウンロードするのを防ぐために、GitHub は人気のリポジトリ名前空間の廃止と呼ばれる対策を実装しました。
しかし、VulnCheck は、Go モジュールに関しては、モジュール ミラーがこれらのモジュールをキャッシュするため、リポジトリと対話したり、リポジトリを複製したりする必要がなくなるため、この保護は役に立たないと指摘しています。言い換えれば、人気のある Go ベースのモジュールの中には、クローン作成が 100 回未満で、何らかのバイパスが発生している可能性があります。
「残念ながら、これらのリポジャッキングをすべて減らすことは、Go または GitHub が負担しなければならないことです」とベインズ氏は言いました。 「サードパーティが 15,000 の GitHub アカウントを合理的に登録することはできません。それまでは、Go 開発者は使用するモジュールと、モジュールの取得元のリポジトリのステータスを理解する必要があります。
Lasso Securityは、Hugging FaceとGitHub上で、Google、Meta、Microsoft、VMwareに関連するトークンを含む、サプライチェーン、トレーニングデータポイズニング、モデル窃盗攻撃などを悪用される可能性のある1,681個のAPIトークンが公開されたことを発見したと発表した。
元記事はxbearによるもの。転載の際は、https://cncso.com/jp/github-htmlへの15000囲碁モジュールのレポジャッキング攻撃。