Private vulnerability reporting now generally available

プライベート脆弱性レポート機能の一般提供(GA)を開始

Image of Eric Tooley
   
Image of Kate Catlin

オープンソースのメンテナーやセキュリティ研究者が脆弱性の報告・修正に使用できる新しいベストプラクティスです。


GitHubは4月19日、プライベートコラボレーションチャネルであるPrivate vulnerability reporting機能の一般提供を開始することを発表しました。これにより、セキュリティの研究者やオープンソースのメンテナーが、パブリックリポジトリ上の脆弱性をより簡単に報告・修正できるようになります。GitHubスターであり、GitHubセキュリティアンバサダーかつOpen Source Security Foundation(OpenSSF)Project Alpha-OmegaのシニアオープンソースセキュリティリサーチャーであるJonathan Leitschuh氏は、「リサーチャーとして最大の苦労の1つは、脆弱性を開示するための最初の連絡をメンテナーに取ることでした。Private vulnerability reportingは大きな前進です」と述べています。

GitHub Universe 2022において、こうした問題に対する解決策をテストし、メンテナーやセキュリティ研究者からのフィードバックを得るために、Private vulnerability reportingのパブリックベータ版を発表しました。以来、30,000社以上の企業のメンテナーが180,000以上のリポジトリにおいて本機能を有効化し、セキュリティ研究者から1,000件以上のフィードバックがありました。

メンテナーにとってのメリット

とは言え、数字だけですべてを語ることはできません。そこで、GitHubはJSON5のメンテナーであるJordan Tucker氏を始めとするアーリーアダプターにコンタクトを取りました。毎週ダウンロード数が6,000万を超えるJSON5は、npmで最も依存されているパッケージの上位0.1%に入っており、ChromiumNext.jsBabelRetoolWebStorm、およびその他の主要プロジェクトで採用されています。JSON5がこれほど普及しているのはなぜでしょうか?JSONファイル形式はマシン間通信でよく使われていますが、拡張されたJSON5を使うことで、開発者の手動によるコーディングとメンテナンスが容易になります。

侵入テストのエキスパートであるJonathan Gregson氏がJSON5の脆弱性を発見した際、発見当初はGitHubのIssueを介してTucker氏と連絡を取り、サブミッションを調整しようとしたのですが、そこから事態が複雑化しました。Tucker氏は、扱いにくいメールスレッドを使わず、パブリックな場での議論を避けたいと考えました。「最初は他のベンダーにも脆弱性を提出してもらおうとしたのですが、返事が来ることはありませんでした。」そこで、代替手段を探したTucker氏はGitHubのPrivate vulnerability reporting機能のパブリックベータ版にたどり着きました。「自分のリポジトリでこの機能を有効化し、Gregson氏にGitHubで報告するように依頼しました。そこからは、すべてが迅速に問題なく進みました。」

その結果、作成された修正プログラム(CVE)により、1,100万件以上のアラートがトリガーされました。このことは、JSON5の人気と、メンテナーやセキュリティ研究者がオープンソースプロジェクトの健全性と安全性を保つベストプラクティスとして、Private vulnerability reportingの価値を証明するものです。

Private vulnerability reportingは、オープンソースコミュニティが脆弱性を報告・修正することを非常に容易にします。すべてのメンテナーに対して、公開リポジトリで本機能を有効化することをお勧めします。

– Jordan Tucker/ JSON5のメンテナー

セキュリティ研究者にとってのメリット

GitHubは、TU WienResearch Unit Security and Privacyで博士研究者をしているMarco Squarcina氏にも話を聞きました。学術研究の過程で、Squarcina氏はCookieのセキュリティをバイパスする脆弱性を発見しました。「GitHubのPrivate vulnerability reporting機能で報告できることを知り、何人かのメンテナーに連絡して機能を有効化してもらったことで、メールのやり取りを介さずにIssueを報告できるようになりました。」

Squarcina氏の視点から見ると、本機能の本当のメリットはプロジェクトオーナーにあるとのことです。「脆弱性に関するメールは、フィッシングが疑われたり、気付かれなかったりすることがあります。Private vulnerability reportingでは、プルリクエストのドラフトを使ったコラボレーションチャネルがオープンされるため、メンテナーは必要なものをすべてGitHub上で手に入れることができます。」Squarcina氏はGitHub Security Advisoryの報告者に認定されているほか、CVEも作成されています。

新機能と自動化

オープンソースコミュニティからのフィードバックを受け、GitHubはPrivate vulnerability reportingの一般提供に向けて、多くの改善を実施してきました。

  • 大規模な有効化:パブリックベータ版では、Private vulnerability reportingは個々のリポジトリでのみ有効化が可能でした。現在、メンテナーは企業内のすべてのリポジトリでPrivate vulnerability reportingを有効化することができます。

Now you can enable private vulnerability reporting for all repositories

  • 複数のクレジットタイプ:メンテナーは、脆弱性の発見や修正に貢献した人に付けるクレジットを選択できます。

Maintainers can choose from multiple credit types, including Reporter, Remediation developer, and Sponsor.

  • インテグレーションと自動化:新しいリポジトリ セキュリティ アドバイザリAPIでは、いくつかの新しいインテグレーションおよび、自動化されたワークフローをサポートしています。
    • サードパーティシステムとのインテグレーション:メンテナーは、GitHubからサードパーティの脆弱性管理システムへ、プライベート脆弱性レポートをパイプライン処理することができます。
    • サブミッションの自動化:セキュリティ研究者は、APIを使用して、複数のリポジトリで確認されたプライベート脆弱性レポートをプログラムで開くこともできます。これは、パッケージが共通の脆弱性を共有している場合に時間を節約できる便利な機能です。
    • 脆弱性アラート:自動Pingをスケジュールして新しい脆弱性報告通知を受け取れるようにすることで、誰でも重要なリポジトリを監視できます。

Private vulnerability reportingは、Dependabotcode scanningsecret scanningといったGitHubの他のセキュリティ機能と共に、パブリックリポジトリでは無料で利用できます。

Private vulnerability reportingに関する詳細について