連載 [第2回] :
  GitHub Universe 2024レポート

GitHub Universe 2024、GitHub自体の開発に使われているセキュリティプラクティスを解説

2025年1月24日(金)
松下 康之 - Yasuyuki Matsushita
企業としてのGitHubが、サービスとしてのGitHubそのものを開発する際に利用したセキュリティ機能を解説。

GitHub Universe 2024から、GitHubのCSOであるMike Hanley氏が登壇した「Securely Building GitHub on GitHub」というセッションを紹介する。これはデベロッパー向けのプラットフォームであるGitHub自体の開発において、セキュリティをコーディングの段階から組み込むことでソフトウェア自体の脆弱性を減らし、シフトレフトを実現していることを解説する内容となった。

動画は以下のリンクから参照されたい。

●動画:Securely building GitHub on GitHub

登壇したCSOのMike Hanley氏

登壇したCSOのMike Hanley氏

Hanley氏は「ソフトウェア開発とセキュリティは同義語である」と語り、デベロッパーであってもコーディングにおいて常にセキュリティを意識する必要があることを強調した。そしてGitHub上には5億1800万に達するソースコードリポジトリが存在し、そのコードを守るためにもまずGitHub自体がセキュリティをコーディングに組み込む必要があったことを語った。

5億1800万のリポジトリをホストするGitHub

5億1800万のリポジトリをホストするGitHub

これはまた、2023年から約25%の増加率で着実にGitHubの成長が持続していることも示している。

そしてGitHubのデベロッパーがソースコードを書いて実装するまでのフローを示し、どこの部分にセキュリティが組み込まれているのかを社内のエンジニアに説明させる流れに移った。

GitHubの開発フローのどこにセキュリティが組み込まれているのかを順に解説

GitHubの開発フローのどこにセキュリティが組み込まれているのかを順に解説

最初の2つのプロセス、ソースコードのコミットとプルリクエストの作成の段階ではRepo Rules、Branch Protection、Push Protectionなどの機能が用意されているが、Repo Rulesにおいては設定したルールをバイパスする機能を紹介。

ルールを除外する機能を解説

ルールを除外する機能を解説

ルールについてはあらかじめ定義されたルールのひな形、レシピと呼ばれるテンプレートを利用することも可能であると説明した。

これらの機能のベースとなっているSecret Scanning、Code Scanning、Copilot Autofix、Dependabotなども簡単に説明された。Autofixについては他の機能よりも強く訴求するために、実際にGitHubのソースコードを用いてデモを見せた。ここではファイルをアップロードするような場合に、悪意のあるコードが挿入されることを防ぐためのコード修正をAutofixが生成する部分を解説した。

Autofixが脆弱性の修正を提案

Autofixが脆弱性の修正を提案

次に登壇したGitHubのセキュリティリサーチグループのシニアディレクターが解説したのもAutofixだ。まずは新規にコードを書く場合にAutofixが脆弱性をなくすコードを生成するデモを見せた。ここでもファイルのアップロードに関するコードに脆弱性が発生することを見せて、外部からの入力がソフトウェアに害を及ぼすことを例として紹介した。同様に既存のソースコードについてもAutofixによってセキュアなコードに改善できることも紹介。またGitHubにもレガシーなコードが存在すると説明したが、これはエンタープライズ企業からの参加者に向けたメッセージといえるだろう。

GitHubのデベロッパーは業務の半分の時間をAutofixの提案を使うことに費やしていると説明し、社内のデベロッパーがAutofixの最大のユーザーであることを説明した。そしてAutofixがオープンソースリポジトリにおいて無償で利用できるようになったと語り、ここでもオープンソースコミュニティを重要視していることを示した。

オープンソースコミュニティに無償で提供されるCopilot Autofix for OSSを発表

オープンソースコミュニティに無償で提供されるCopilot Autofix for OSSを発表

またオープンソースコミュニティのデベロッパーもAutofixを使うことで脆弱性の改修率が47%から98%に向上したことも併せて説明した。

Autofixで脆弱性の改修率が47%から98%に向上

Autofixで脆弱性の改修率が47%から98%に向上

最後に登壇したスタッフエンジニアは、リポジトリに対するスキャニングの状況を可視化するスコアカードを紹介し、リポジトリのソースコードがシークレットスキャニングなどによってどれくらいチェックされているのかが一目でわかるグラフィカルなインターフェースを説明。

スキャニングの状況を可視化するスコアカード

スキャニングの状況を可視化するスコアカード

またSecurity Campaginsと呼ばれる機能ではリポジトリに存在するコードにおいて、デベロッパーが明示的にAutofixを使わなくても自動的にAutofixが修正を提示する機能を紹介。ここではデベロッパーとその管理者であるマネージメント層が脆弱性改修の状況をスプレッドシートにまとめることなくGitHubの中で確認できることをデモで見せた。

Entitlementsという機能ではアクセスコントロールについて解説。これはGitHubにおけるアクセス制御を行うソフトウェアで、オープンソースとして公開すると説明。そしてチームメンバーにアクセスを許可するためのプルリクエストの実施するデモを行った。このセッションの最初の登壇者であるMike Hanley氏が最後に再登壇した際に、GitHub Mobileを使ってそのプルリクエストを承認するところまでがデモとなっていたが、余りにもさり気なさ過ぎたために気づかれにくい点が欠点と言えば欠点だったかもしれない。

全体的に見ると、デベロッパーがセキュリティをコーディングに組み込むという目的に対してAutofixが至る所に出現し、支援するという発想で設計されていることがわかる。また修正の状況も可視化されているところがポイントだろう。チームで開発を行う際にアクセス権限をどうやって管理するのかについても、実際にGitHub開発の経験が活かされているように思われる。脆弱性の抑止、不要なアクセスの削減と状況に応じて最低限のアクセスを許可する仕組みなど、GitHubの開発がシフトレフトされていることがよくわかるセッションとなった。そしてGitHubとしてはこれらの機能を訴求することで、より多くのエンタープライズ企業向けにソフトウェア開発をGitHubの上で行ってほしいという真のメッセージを感じさせるセッションとなった。

著者
松下 康之 - Yasuyuki Matsushita
フリーランスライター&マーケティングスペシャリスト。DEC、マイクロソフト、アドビ、レノボなどでのマーケティング、ビジネス誌の編集委員などを経てICT関連のトピックを追うライターに。オープンソースとセキュリティが最近の興味の中心。

連載バックナンバー

開発ツールイベント
第2回

GitHub Universe 2024、GitHub自体の開発に使われているセキュリティプラクティスを解説

2025/1/24
企業としてのGitHubが、サービスとしてのGitHubそのものを開発する際に利用したセキュリティ機能を解説。
開発ツールイベント
第1回

GitHub Universe 2024開催。初日のキーノートはデモ満載でCopilotの拡がりを見せつける内容に

2025/1/9
GitHub Universe 2024からCopilotの新機能と自然言語でアプリが書けるSparkを公開したキーノートを紹介する。

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています