GitHubが発表した新機能は、開発者体験とサプライチェーンセキュリティの両方を改善する可能性がある。
GitHub Universe 2022で発表された「非公開の脆弱性」報告機能により、オープンソースのメンテナはコミュニティから非公開の課題を受け取れるようになる。メンテナは報告を受け取り、セキュリティ専門家やその他すべての報告者と協力して脆弱性を修正する。
関連記事:開発者向けソフトウェアサプライチェーンセキュリティガイダンス
コードセキュリティがベータ版に
新しいGitHub機能はベータ版として提供されているため、今後変更される可能性がある。ただし、開発者は今すぐ試すことができる。「コードのセキュリティと分析」セクションにあるリポジトリの設定を開けばよい。
すでに完全なドキュメントが公開されており、「公開リポジトリの管理者権限を持つユーザーは誰でも、そのリポジトリの非公開の脆弱性報告を有効化・無効化できる」と説明されている。
有効化すると、リポジトリのAdvisoriesページに新しいボタンが表示される。
サプライチェーンセキュリティに向けた一歩
この新機能は、ソフトウェアサプライチェーン全体のセキュリティ強化に向けた大きな一歩となる可能性がある。セキュリティ研究者は通常、脆弱性を発見した際にメンテナへ連絡する適切な経路を見つけるのに苦労しているためだ。
適切なソーシャルプロフィールを探して連絡するための追加のOSINT作業に行き着くことも多く、さらに悪い場合には、脆弱性を公に開示してしまうGitHub issueに投稿されることもある。GitHubによると、メンテナは、報告の処理やセキュリティ専門家との協業によるコードの修正に特化した、統一的かつ非公開のプラットフォームによって、より一貫した体験を得られるという。
これにより、「公の場で、あるいは望ましくない手段で連絡を受ける」リスクを抑えられるはずだ。おそらく最も重要なのは、脆弱性が「公の目に触れる可能性が低くなる」ことであり、これは極めて重要である。
その他に予定されているセキュリティ機能は次のとおり。
- Ruby言語向けのコード脆弱性スキャンが一般提供に移行
- 組織向けに、複数のリポジトリにまたがるカバレッジおよびセキュリティの概要を改善
リポジトリの監視
GitHubはまた、開発チームに対して、異常な活動や不適切な慣行がないかリポジトリを監視することを推奨している。漏えいした認証情報を検出できるシークレットスキャンや、チームによるセキュリティ更新の管理を支援するDependabot技術など、いくつかの機能も紹介している。
さらに、開発者には次の取り組みが強く推奨される。
- コードを定期的に監査する(CodeQLなどの組み込みスキャン機能を利用するなど)
- 組織の全メンバーに2FAを必須化する
- レビューを必須化する
- コラボレーション権限を制限する(最小権限の原則)
- セキュリティ更新のためにDependabotを有効化する
- インジェクション攻撃を受けやすいGitHub Actionsを安全にする。GitHubは文字列置換を使用するため(例えば、入力値をサニタイズし、暗号化された環境変数を使う)
- 使用していないシークレットとトークンを無効化する
- 使用していない依存関係を削除する
- 可能な限りシークレットを使用しない
- 開発チームは完璧になれないため、「継続的改善のアプローチ」を活用する
- セキュリティの責任を共有する
GitHubは開発者とセキュリティ専門家に対し、より優れたツールと手順を使って協力するよう明確なメッセージを送っている。これにより、誤解を減らし、現在機能不全に陥っているソフトウェアサプライチェーンの修復に役立つはずだ。
これらの発表は、SolarWindsやKaseyaのような大規模なサイバー攻撃の温床となってきたソフトウェアサプライチェーンの安全確保に向け、今年に入って行われたいくつかの主要な取り組みに続くものであり、正しい方向を示しているようだ。
関連記事:





