GitHub

GitHub は現在、すべてのパブリック コード リポジトリの API キーやアクセス トークンなどの機密情報の漏洩を自動的にブロックしています。

本日の発表は、同社が1年以上前の2022年4月にプッシュ保護をベータ版で導入した後に行われた。

この機能は、「git Push」操作が受け入れられる前にシークレットをスキャンすることで漏洩を予防的に防止し、検出可能な69 種類のトークン (API キー、秘密キー、秘密キー、認証トークン、アクセス トークン、管理証明書、資格情報など) で動作します。 「誤検知」検出率が低い。

「シークレットを含むコミットをプッシュしている場合、シークレットの種類、場所、暴露を修復する方法に関する情報を含むプッシュ保護プロンプトが表示されます」とGitHubは本日発表した

「プッシュ保護は、誤検知率が低いシークレットのみをブロックするため、コミットがブロックされると、調査する価値があることがわかります。」

GitHub によると、ベータ版のリリース以来、これを有効にしたソフトウェア開発者は、約 17,000 件の機密情報の誤った公開を回避することに成功し、侵害されたシークレットの取り消し、ローテーション、修復に費やされていたであろう 95,000 時間以上を節約できました。

以前は、この機能は GitHub Advanced Security ライセンスを持つ組織によってプライベート リポジトリに対してのみ有効にできましたが、GitHub ではすべてのパブリック リポジトリでも一般利用できるようになりました。

「現在、プッシュ保護は、GitHub Advanced Security (GHAS) ライセンスがあれば、プライベート リポジトリで一般的に利用可能です」と同社は述べた。

「さらに、オープンソースの開発者やメンテナが積極的にコードを保護できるように、GitHub はすべてのパブリック リポジトリに対してプッシュ保護を無料にします。」

シークレットスキャンプッシュ保護を有効にする方法

GitHub Advanced Security を導入している組織は、API を介して、またはユーザー インターフェイスから 1 回クリックするだけで、リポジトリ レベルと組織レベルの両方でシークレット スキャン プッシュ保護機能を有効にすることができます。

組織のプッシュ保護を有効にする詳細な手順では、次のことを行う必要があります。

  1. GitHub.com で、組織のメイン ページに移動します。
  2. 組織名の下にある[設定]をクリックします。
  3. サイドバーの「セキュリティ」セクションで、 「コードのセキュリティと分析」をクリックします。
  4. 「コードのセキュリティと分析の構成」で「GitHub Advanced Security」を見つけます。
  5. [シークレット スキャン] で、[プッシュ保護] の横にある[すべて有効にする] をクリックします。
  6. 必要に応じて、「シークレット スキャンに追加されたプライベート リポジトリを自動的に有効にする」をクリックします。

各リポジトリの [設定] > [セキュリティと分析] > [GitHub Advanced Security] ダイアログから切り替えることで、単一のリポジトリに対して有効にすることもできます。

プッシュ保護を有効にする
プッシュ保護を有効にする (GitHub)

コマンド ラインからのプッシュ保護の使用、または一部のシークレットのプッシュの許可に関する詳細については、 GitHub のドキュメント サイトを参照してください。

以前に報告されているように、近年、認証情報と秘密の漏洩が大きな影響を与える侵害につながっています [1、2、3 ]

したがって、プライベート リポジトリに対してプッシュ保護を有効にするか、パブリック リポジトリに対して無料でプッシュ保護を有効にして、シークレットが含まれている場合にコードのプッシュが自動的にブロックされるようにすることが、潜在的に大きな影響を与える偶発的な漏洩を防ぐ簡単な方法となります。