BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース プッシュ保護が一般公開(GA)へ

プッシュ保護が一般公開(GA)へ

 

原文リンク(2023-06-18)

GitHubは、プッシュ保護(Push Protection)を一般公開し、すべてのパブリックリポジトリで無料にした。プッシュ保護は、変更がプッシュされたときにコード内のシークレットを検出するのに役立つ。GAリリースの一環として、プッシュ保護はGitHub Advanced Security(GHAS) ライセンスを持つすべてのプライベートリポジトリでも利用できるようになった。

シークレットが含まれるコードがプッシュされると、プッシュ保護によって、シークレットの種類、場所、修復のステップを示すプロンプトが表示される。これらのプロンプトは、IDEまたはCLIで、開発者のエクスペリエンスとインラインで表示される。GitHubのシニアプロダクトマーケティングマネージャーであるZain Malik氏と、GitHubのプロダクトマネージャーであるMariam Sulakian氏によると、"プッシュ保護は、誤検出率の低いシークレットのみをブロックする "という。プッシュ保護がサポートするシークレットの全リストは、GitHubのドキュメント内で公開されている。

プッシュ保護は、必要に応じて理由を提示することで回避できる。選択肢としては、テストに必要なシークレットとしてマークする、誤検出としてマークする、後で修正するようにマークする、などが提示されている。プッシュ保護を回避すると、リポジトリと組織の管理者、および定義されたセキュリティ管理者に電子メールによる警告が自動的に発せられる。すべてのバイパスは、監査ログ、アラートビューUI、REST API、またはWebhookイベント経由で確認できる。 「後で修正する」とマークされた場合、オープンなセキュリティ警告が作成される。それ以外の場合は、クローズされ解決されたセキュリティアラートが作成される。

プッシュ保護は、コードセキュリティと解析の設定で有効にできる。すべての新しいパブリックおよびGHAS対応のプライベートリポジトリに対して、プッシュ保護を自動的に有効が可能である。プッシュ保護がコミットをブロックしたときにCLIとWeb UIに表示されるカスタムリソースリンクを指定も可能である。

プッシュ保護がスキャンしてブロックするためのカスタムパターンを定義ができる。パターンを公開して有効にする前に、まず 組み込みのドライラン機能を使用してカスタムパターンのテストが推奨される。パターンは正規表現として指定される。

ユーザーのgreysteil氏はHacker Newsで、GitHubにいたときにこの機能に取り組んだと述べている。彼らは次のように共有している。

今回のリリースはレポレベルの設定で、 これは素晴らしいことだがチームが6月から7月にかけてユーザーレベルの設定をリリースしたら、もっと便利になるだろう。このリリースでは、GitHubを設定することで、簡単に特定できるシークレットを公開レポにプッシュできないように(ソフト的に)できる。計画では、この設定はデフォルトでオンになる予定だ。

さらに、毎日約200の新しいGitHubパーソナルアクセストークン(PAT)が公開リポジトリで公開されていることを紹介した。ユーザーのdarthbanane氏は、スキャナーがシークレットを検出した場合、そのシークレットはすでにユーザーのマシンを離れ、 インターネット内に拡散されていることを意味する、と懸念を示した。ユーザーのawesome_dude氏は、次のように答えた。

GitHubのスキャナーがそのクレデンシャルを見たということは、そのクレデンシャルを「侵害した」とみなすかどうかは、個人の判断に任されているんだ。

GitHubがどのようにスキャンを行っているかという質問に対して、greysteil氏は「GitHubの規模に対応し、誤検出を最小限に抑え、git pushリクエスト/レスポンスのサイクルに合わせて十分に速くスキャンできるように設計された特注のスキャン設定だ」と述べている。さらに、正規表現エンジンとしてIntel's Hyperscanを活用していることを紹介している。

GitHubのプッシュ保護機能は、すべてのパブリックリポジトリで無料で提供されている。プライベートリポジトリでは、GitHub Advanced Securityの一部として利用できる。

作者について

この記事に星をつける

おすすめ度
スタイル

BT