GitHub push protection now on by default for public repositories
2024/03/04 HelpNetSecurity — GitHub のプッシュ保護機能が、すべての公開リポジトリでデフォルトで有効になった。このセキュリティ機能は、API キーやトークンなどの機密情報が、誤ってオンラインに流出することの防止を目的としている。Microsoft の子会社である GitHub は、「この機能により、公開リポジトリへのプッシュでサポートされている機密情報が検出された場合に、その情報はコミットから削除される。あるいはオプション機能として、その機密情報が安全だと判断された場合には、ブロックを回避する」と述べている。

漏洩した秘密には多くのリスクがある
2022年には、10億2700万件のコミットにおいて、1000 万件以上の機密情報が漏えいした。2024年に入ってからも、GitHub は、公開リポジトリにおける機密漏えいを 100 万件以上検知している。
こうした、盗み出されたシークレットから、情報漏えいやデータ侵害につながる可能性がある。また、この種のインシデントが現実に発生しているため、漏えいを最小限に抑えることは極めて重要である。
セキュリティ機能について
GitHub は、2023年に全てのパブリック・リポジトリの所有者のみが、プッシュ保護を利用できるようにしていた。しかし 2024年になって、その機能はデフォルトでオンになっている。
具体的に説明すると、この保護機能により、プッシュが行われる前にコードのコミットがスキャンされ、その中に機密情報が含まれている場合には、その開発者に IDE (Integrated Development Environment) または CLI (Command Line Interface) でアラートを送信する。
そのため、アラートを受け取った開発者は、ブロックの上書きを行うことが可能となり、また、シークレットを削除してコミットを再プッシュすることも可能だ。
GitHub の Eric Tooley と Courtney Claessens は、「推奨はしないが、プッシュ保護は、ユーザーのセキュリティ設定で完全に無効化することも可能だ。しかし、ブロックを回避するオプションが常に保持されているため、プッシュ保護を有効にしておき、必要に応じて例外を設けることを推奨する」と説明している。
この機能により、180 以上のサービス・プロバイダーから、200 以上のトークン・タイプとパターンが検出される。
GitHub は、「特定のトークンの古いバージョンは、プッシュ保護でサポートされない場合がある。これらのトークンは、最新バージョンよりも多くの誤検出が生じる可能性があるからだ。また、古いトークンには、プッシュ保護が適用されないこともある。Azure Storage Keys のようなトークンについては、最近に作成されたトークンのみをサポートしており、古いパターンに一致するトークンはサポートしていない」と述べている。
GitHub に限らず、OSS リポジトリへの安全なプッシュに関しては、PyPI も npm も苦労しているところです。近いところでは、2024/01/15 に、「GitHub 2023 調査:リポジトリを悪用するサイバー攻撃の増加 – Recorded Future」という記事がポストされています。よろしければ、カテゴリ Repository も、ご利用ください。
You must be logged in to post a comment.