Catch-up! 週刊 GitHub updates(2024年3月11日-17日)
GitHub Changelog for Mar 11 - 17, 2024
こんにちは、@dz_ こと、岩永かづみです。
先週のGitHub Changelogの週刊キャッチアップをお届けします。
新しいパブリックリポジトリではSecret scanningとpush protectionがデフォルトで有効になる
個人アカウントが所有する新しいパブリックリポジトリはすべて、secret scanningとpush protectionがデフォルトで有効になります。既知のシークレットが含まれるリポジトリへのプッシュはpush protectionによりブロックされ、リポジトリの中で検知された既知のシークレットはsecret scanningアラートを発生します。Secret scanningとpush protectionは、リポジトリを作成した後リポジトリの管理者によって無効化できます。
既に存在しているパブリックリポジトリ、もしくは、Organizationに属する新しいパブリックリポジトリには影響ありません。
Secret scanningにおけるAIによるカスタムパターン(public beta)
Secret scanningのカスタムパターンの定義が、GitHub Copilotにより、より簡単になります。
本日(2024年3月12日)より、正規表現の専門家レベルの知識がなくてもAIを活用してカスタムパターンを生成できるようになります。
変更点
カスタムパターンを用いて、secret scanningのための独自のカスタム検出器を作成できます。カスタムパターンを正規表現で記述するのはとても大変です。Secret scanningは、これよりGitHub Copilotによるパターン生成をサポートし、ユーザーが入力した内容に従って正規表現を生成します。
どうやって正規表現ジェネレータを利用するのか?
カスタムパターンの定義を行う際、「generate with AI」を選択することによって、正規表現ジェネレータを起動します。
モデルは、ユーザーがレビューできるように、正規表現を最大3つ提示します。ユーザーは、その正規表現をクリックすることで、その正規表現に対するAIが生成した説明を確認できます。ユーザーは、その入力をレビューし、Organizationやリポジトリに対してドライランすることで得られる結果のパフォーマンスを注意深く評価するする必要があります。
誰が正規表現ジェネレータを使えるか?
カスタムパターンを定義できる権限を持つ人であれば、正規表現ジェネレータを利用できます。この機能は本日public betaに移行しており、すべてのGitHub Advanced Securityライセンスが適用されたGitHub Enterprise Cloudの利用者であれば利用できます。
詳しくは、カスタム パターンの正規表現ジェネレーターについてやシークレット スキャンのカスタム パターンの定義をご参照ください。
CodeQL 2.16.4: Java向けのAIで強化された自動修正、C# 12とGo 1.22のサポート、新しいクエリ
CodeQLはGitHub code scanningを強化する静的解析エンジンです。CodeQLのバージョン2.16.4
がリリースされ、GitHub.comのcode scanningの利用者に順次展開されます。
この度、CodeQL code scannningは、Copilotによって強化されたJavaの向けのプルリクエストにおける自動修正の候補をサポートしました。すでに自動修正のプレビュー版をお使いの方は、自動的に利用できるようになります。プレビュー版の申込みはこちらです。ご質問やフィードバックは、パブリックのdiscussionからお寄せ下さい。
生成された自動修正候補の数は、専用のsecurity overviewタイルで確認できます。
さらに、このリリースには以下が含まれています。
- C# 12や.NET 8のサポート
- Go 1.22のサポートと特定のプロジェクトのセットアップに対するGoの解析のファイルカバレッジの改善
- セキュアでない方法で生成された生体認証のためのキーのインスタンスを検索するJava向けの新しいクエリ
- Python向けのNoSQLインジェクションクエリがデフォルトで有効に
全ての変更を確認するには、バージョン 2.16.4の完全なチェンジログをご参照ください。すべての新しい機能はGitHub Enterprise Server(GHES) 3.13に含まれる予定です。GHES 3.12以前をご利用の方は、CodeQLのバージョンをアップグレードすることで利用できます。
[Public Beta] Enterprise Managed Usersにおける独自のIdentityプロバイダの利用
GitHub Enterprise Cloud(GHEC)のEnterprise Managed Users(EMUs)を新しく利用するユーザーは、ユーザーのライフサイクル管理に対するより柔軟なアプローチのために、彼らの選択に基づくSSOとSCIMのプロバイダを互いに分離して利用できるようになりました。public betaの一部として、EMUエンタープライズで、すべての有効なSAML 2.0とSCIMの実装が利用できるようになります。
既存のエンタープライズに関しては、3月29日までに段階的にこの機能を展開します。既存のEMUエンタープライズに関しては、現在サポートしているパートナーのidentityアプリケーションではないcallerに対してSCIM APIへの書き込みを許可する新しいopt-in機能が追加されます。SCIMの書き込みには、admin:enterprise
スコープを持つパーソナル アクセス トークン(Classic)が要求されます。public betaの間は、既存の利用者が彼らの本番で使用しているidentityシステムを変更することを推奨しません。
SCIM APIを用いてEMUをプロビジョニングする詳細については、REST API を使用した SCIM でユーザーとグループのプロビジョニングをご参照ください。もし、IdPの移行に関して不明点がある場合は、更新されたドキュメントを参照するか、アカウントチームにご連絡ください。
ORCID iDの認証
GitHubがORCIDと提携することをお知らせできてうれしく思います。これより、GitHubアカウントに対してORCIDを認証できるようになり、GitHub上のプロフィールにORCID iDを表示できるようになりました。ORCIDは、他のすべての研究者と区別できる恒久的な一位のデジタル識別子(ORCID iD)を発行しており、研究者はこれを所持して制御できます。
https://github.com/settings/profile から、ORCID iDを認証できます。
TypeScriptプロジェクトのための正確なコードナビゲーション
TypeScriptを内包するリポジトリにおいて、正確なコードナビゲーションが利用可能になりました。正確なコードナビゲーションは、ユーザーのコードの中で表示されているクラスや関数、インポートされた定義のセットから推測するだけに留めることよってより正確な結果を提供します。
正確なコードナビゲーションは、stack graphsフレームワークによって協力に実装されています。ご参考に、コードナビゲーションにどうやってstack graphsを利用しているかやTypeScript向けのstack graphsをぜひご覧ください、
また、TypeScriptや他の言語におけるコードナビゲーションについての詳細は、ドキュメンテーションをご参照ください。
Sponsorsで、PolarとBuy Me a Coffeeを寄付プラットフォームのオプションとしてサポート
Sponsorsで、PolarとBuy Me a Coffeeを寄付プラットフォームのオプションとしてサポートしました。詳しくは、FUNDINGファイルについてご参照ください。
Dependabotにおいて、15回の失敗によりスケジュール実行を停止するように
以前は、Dependabotは30回連続して失敗した場合に、依存関係グラフやマニフェストファイルを更新することによる手動の介入があるまでジョブのスケジュール実行を停止していました。これより、Dependabotは15回の失敗があればジョブのスケジュール実行を停止するようになります。これは、クリティカルなセキュリティの更新が中断されることなく継続して適用されることを求められる中で、より早く潜在的な問題の兆候を得られるようするための施策です。
詳しくは、Dependabotのドキュメンテーションをご参照ください。
Discussion