Catch-up! 週刊 GitHub updates(2024年7月22日-28日)
GitHub Changelog for July 22 - 28, 2024
こんにちは、@dz_ こと、大平かづみです。
GitHub Changelogの週刊キャッチアップをお届けします。
Security overviewダッシュボード、secret scanningメトリクス、有効化トレンド レポートが一般公開(GA)
本日(2024年7月19日)、OrganizationやEnterpriseレベルの新しいsecurity overviewダッシュボードや、拡張されたsecret scanningメトリクス、有効化トレンド レポートの一般公開をお知らせできることに興奮しています。これらの機能は、総合的なインサイト、改良された優先順位付け、拡張された絞り込みオプションを提供するために設計されており、ユーザーのセキュリティの改善を合理化します。
コード セキュリティ インサイト
新しいsecurity overviewダッシュボードは、OrganizationおよびEnterpriseレベルの両方で利用可能であり、セキュリティを開発ライフサイクルの中核に統合します。これにより、主体的に脆弱性を識別して特定することを強力に支援します。主要な機能は次の通りです:
- セキュリティの改善を追跡する: 経過時間や重要度、セキュリティ ツールにより時系列の傾向を監視し、リポジトリやアドバイザリにフォーカスした上位10件により優先順位を簡潔にする
- 自動修正の効果: GitHub Copilotにより強化された自動修正がどうEnterpriseのセキュリティの回復に貢献しているかを理解する
-
改良された絞り込み: チームやリポジトリ メタデータ(例えば、カスタム リポジトリ プロパティ)、セキュリティ ツールに特化したフィルタ(後述)のような属性により絞り込んでデータへの注目をカスタマイズする:
- Dependabot: エコシステム、パッケージ、依存関係のスコープ
- CodeQL/サードパーティ: 指定したルールによる絞り込み
- Secret scanning: シークレット タイプ、プロバイダ、プッシュ保護の状態や有効性
セキュリティ ツールに対する有効化のトレンド
Dependabotアラート、Dependabotセキュリティ アップデート、code scanning、secret scanningアラート、プッシュ保護の有効化状態を詳細なインサイトで得て、全てのセキュリティ ツールに対する有効化のトレンドを監視し、一目で全体のセキュリティ カバレッジを確認できます。
Secret scanningプッシュ保護のインサイト
プッシュ保護がEnterprise全体に対してどのように機能しているかの洞察を高めましょう。ブロックするのに成功したシークレットを含むプッシュの数やプッシュ保護がバイパスされたインスタンスを監視します。シークレット タイプ、リポジトリ、バイパスの理由によって詳細化されたインサイトも利用可能です。
これらの機能を利用するには、GitHub.comの右上の角にあるプロフィール写真を開き、閲覧したいOrganizationまたはEnterpriseを選択します。Organizationでは、Securityタブを選択します。Enterpriseでは、EnterpriseアカウントのサイドバーでCode Securityを選択します。
これらの機能はGitHub.comで本日から一般公開として利用可能で、GitHub Enteprise Serverでは3.14で一般公開になる予定です。
詳しくは、セキュリティの分析情報の表示やシークレット スキャン プッシュ保護のメトリックを表示、コード セキュリティ機能の採用の評価をご参照ください。
Organizationに対するセキュリティ機能の有効化/無効化のAPIエンドポイントの廃止
コード セキュリティ構成が2024年7月10日に一般公開されました。これにより古い設定の導線とAPIが置き換えられます。
もし今、Organizationのセキュリティ機能の有効化/無効化のREST APIエンドポイントを利用している場合、このエンドポイントは廃止されることをご留意ください。
現在のバージョンのREST APIは、2025年7月に廃止されるまで、向こう1年は利用し続けられます。しかし、コード セキュリティ構成を強制している場合、構成で割り当てられる設定と衝突することをご留意ください。これにより、コード セキュリティ構成が意図せずリポジトリから削除されるかもしれません。
このエンドポイントは次のREST APIバージョンで完全に削除される予定です。
リポジトリのセキュリティ設定を変更するには、コード セキュリティ構成のUIや構成API、もしくは、影響を受けないEnterpriseレベルのセキュリティ設定を利用できます。
REST APIによる、リポジトリのプロバイダー以外のパターンに対するSecret scanningの有効化
Secret scanningを利用するGitHub Advanced Securityの顧客は、REST APIでリポジトリレベルのプロバイダー以外のパターンのサポートの有効化/無効化ができるようになりました。
プロバイダー以外のパターンは、プライベートキーや、authヘッダー、接続文字列などの一般的なプロバイダーによるトークン型をスキャンします。
Copilotのプルリクエストの概要に対する入力補完(beta)
プルリクエストのワークフローを強化する: Copilotによるプルリクエストの入力補完がbeta公開
プルリクエストの概要に対するCopilotの入力補完がすべてのCopilot Enterpriseの顧客に対して利用できるようになりました。数文字入力すると、Copilotは、より精度が高く関連性の高い提案ができるようにプルリクエストや関連するイシューの文脈を利用し、文章を完了するための入北補完候補を提案してくれます。
この機能は、現在beta版です。EnterpriseもしくはOrganizationの管理者がCopilotポリシーの「Opt in to preview features」からbeta機能を有効化することで、入力補完を利用できます。
Enterpriseで入力補完を有効化するには
Enterpriseの管理者はCopilotポリシーからbeta機能を有効化できます。
Copilot Enterpriseのポリシーについて、詳しくはドキュメントをご参照ください。
ユーザーが機能を制御できる
Copilot Enterpriseのシートが割り当てられ、所属するOrganizationが「Opt in to preview feature」ポリシーを有効にしている場合、この機能はデフォルトで有効です。加えて、個々のユーザーは個人の設定に基づき、簡単に保管を無効化したり再度有効化したりできます。
詳しくは
詳しくは、Copilot テキスト入力候補の使用のドキュメントをご参照ください。このbeta機能には、GitHubのプレビュー条件が適用されます。
GitHub Communityのディスカッションで、いつでもCopilot Enterpriseに対するフィードバックを歓迎します。
GitHub Private Mirrors AppのPublic beta公開
本日(2024年7月25日)、パブリックのアップストリーム リポジトリのプライベートミラーを管理する、オープンソース版のGitHub Appのbeta版をリリースしました。Private Mirrors App(PMA)は、規制やポリシー コード レビューの要件を持つOrganizationがアップストリームに変更を寄与する前に要件をレビューできるようにします。このアプリは、それらのプライベート ミラーのライフサイクルや同期を管理し、ミラーに対して作成されたプルリクエストを管理するルールセットを自動的に構成します。
PMAを利用したプライベート ミラーでの作業の主要な恩恵:
- ブランチ プロテクション ルールにより、適切に承認できる特化したチームのメンバーによるプルリクエストのレビューを強制できる
- 公開すべきでないコード/キー/ドキュメントがコミットに含まれる場合、それらを削除し漏洩の履歴が残らないようスカッシュ マージする機会を得られる
- 普段、公開されたGitHubリポジトリと調整することが難しいユーザーが所属するEnterprise Managed Users(EMU) Organization内で初期の開発ができる。一度アプリが変更を同期すると、公開されたフォークやアップストリームのプルリクエストは通常のgithub.comの識別情報を利用する
もしご興味があれば、Private Mirrors Appのリポジトリをご覧ください。質問やフィードバックがありましたら、リポジトリにイシューを投稿いただいたり、GitHub Community Discussionsでの会話にご参加ください。
「コード セキュリティ構成に紐づくリポジトリの取得」のエンドポイントからenumフィールドの「detached」を廃止
「コード セキュリティ構成に紐づくリポジトリの取得」のエンドポイントから、「detached」ステータスを示すenumフィールドが廃止される予定です。
エンドポイント自体は残ります。
「detached」ステータスを「removed」ステータスに置き換える予定です。また、追加のステータスとして「removed_by_enterprise」を加え、Enterpriseレベルの設定の変更により、Organizationレベルのコード セキュリティ構成がリポジトリからの削除される状況を示します。
この変更により、コード セキュリティ構成APIがUIのステータスの絞り込みで扱いやすくなります。
Actions Usage Metricsが一般公開
Actions Usage MetricsがGitHub Enterprise Cloudのお客様に対して一般公開され、利用できるようになりました。Actions Usage Metricsにより、Organization全体で実行されるActionsワークフローに関するデータを閲覧できるようになります。パイプラインを最適化したり無駄なランタイム時間を減らすための機会を見つけるためにこのデータを利用でき、これを対処すると、実行の高速化と開発者の生産性の増加につながるでしょう。Actions Usage Metricsは、ワークフローやジョブ、ソース リポジトリ、GitHubホステッドランナーやセルフホステッドランナーのOSを用いて落とし込めます。このデータのすべてはUIで利用でき、内部やサードパーティ ツールと利用データを統合したい場合は、.csvファイルとして出力して共有できます。
詳しくは、GitHub Actions の使用状況メトリックの表示をご参照いただき、質問したりフィードバックを共有するにはcommunity discussionへご参加ください。
新しいGitHubセキュリティ アドバイザリ(GHSA)登録におけるパッケージ名の検証
セキュリティ アドバイザリを登録しやすくするために、GitHubではパッケージ名を検証するようになりました。
リポジトリで新しいGHSA(GitHub Security Advisory)を登録するとき、ユーザーはエコシステム(例えば、npmやmaven)やパッケージ名(例えば、webpackやlodash)の入力を求められます。これより、名前を入力すると、フォームの下部に検証メッセージが表示され、ユーザーが入力したパッケージ名が指定したエコシステム内に存在するかどうかを確認します。
アドバイザリ データベースへアドバイザリを登録することについて、詳しくはこちらのドキュメントリポジトリ セキュリティ アドバイザリの公開をご参照ください。
Copilot Enterprise Mixedライセンスのbeta公開
本日(2024年7月26日)、EnterpriseにおけるCopilot Enterprise Mixedライセンスのbeta公開について紹介します。これによって、GitHub Enterprise Cloudのお客様により柔軟に最適なCopilotプランを必要に応じて選択いただけます。これより、Enterpriseレベルの代わりにOrganizationレベルでCopilotプランを設定できるようになります。
利用するには
OrganizationのCopilotプランを更新するには、Enterprise管理者がEnterpriseのCopilot Settingsを開き、それぞれのOrganizationに対してドロップダウン メニューから希望するプランを選択します。
Copilot Enterprise Mixedライセンスについて詳しくは、ドキュメント企業内の組織に対して Copilot を有効にするをご参照いただき、思うところがあればDiscussionsで共有ください。
CodeQL 2.18.1: KotlinとSwiftのモバイル サポートが一般公開、TypeScript 5.5サポート、C#ビルド モードのnoneがpublic beta
CodeQLはGitHub code scanningを支える静的解析エンジンです。CodeQLバージョン2.18.1がリリースされ、GitHub.comのcode scanningの利用者に展開されます。
重要な変更は以下の通りです:
- CodeQL
2.17.6
向け:- C#で
build-mode: none
が利用でき、ビルドを要求しないC#コードのスキャンがサポートされる
- C#で
- CodeQL
2.18.0
向け:- TypeScript 5.5サポート
- CodeQL
2.18.1
向け:- モバイル アプリケーションにおけるKotlinとSwiftのサポートが一般公開
- Javaの
build-mode: none
による解析で、解析における重大な問題が検知された場合のみ、ツール状態ページで警告を報告するようになる - 2つの新しいJavaScriptクエリが追加された。
js/functionality-from-untrusted-domain
は、polyfill.io
を含む信頼しないドメインからのスクリプトの利用を検出する。js/insecure-helmet-configuration
は、重要なHelmetのセキュリティ機能が無効化されているインスタンスを検出する。
変更に関する完全な一覧は、バージョン2.17.6、2.18.0、2.18.1の変更履歴をご参照ください。これらの新しい機能はGitHub Enterprise Server(GHES)の3.15に含まれる予定です。GHES 3.14または以前のバージョンの利用者はCodeQLのバージョンをアップグレードしてください。
Discussion