GitHub Security Labを発表:世界のコードをコミュニティ全体で保護
オープンソースソフトウェアの安全性を維持することは、私たち全員の共同責任であり、単独で達成できることではありません。本日、GitHub Universe 2019において、GitHub Security Labを発表しました。「オープンソースのセキュリティはすべての人にとって重要である」という、私たちと同じ信念をもつセキュリティ研究者、メンテナー、企業のすべてが業界全体で連携する取り組みです。
オープンソースソフトウェアの安全性を維持することは、私たち全員の共同責任であり、単独で達成できることではありません。本日、GitHub Universe 2019において、GitHub Security Labを発表しました。「オープンソースのセキュリティはすべての人にとって重要である」という、私たちと同じ信念をもつセキュリティ研究者、メンテナー、企業のすべてが業界全体で連携する取り組みです。
GitHub Universeは、2日間にわたって、4,000万人を超える開発者のすばらしい活躍と、オープンソースコミュニティに対するコントリビューションを讃える場です。この1年間だけで、70を超える国々の300万近い組織から、1,000万人を超える開発者が新たに参加しています。また、本日、GitHub ActionsとGitHub Packagesの正式版リリース、GitHub for mobileベータ版のリリース、通知管理の再設計、世界のコードを今後1,000年にわたり保護するプログラムの創設を発表しました。他にも数多くの機能をリリースしており、きっと気に入っていただけると思います。
GitHubはOctoverse(オクトバース)年次レポートを発表いたしました。
– 世界中の4,000万人以上がGitHub上で連携して構築
– この1年間で、4,400万件以上のリポジトリが作成されました。また、医学における機械学習やディープラーニングに関する学術論文から、あらゆる形や大きさのロボットまで、わずか12か月の間に素晴らしい取り組みが新たにオープンソース化されています。
– 760万件以上の脆弱性アラートにメンテナー、開発者、研究者らが対応
GitHubは先日Semmelを買収したことを発表しました。脆弱性を発見するには、通常、侵入テストを実行するか、手作業でソースコードを検査します。Semmleは、コードをデータとして扱うことでセキュリティ研究者の作業範囲を拡大します。QLという名前のコード解析エンジンは、コンパイラ最適化における最新調査と、データベース実装における洞察を組み合わせて使用します。コードに内在する複雑なデータ構造を把握し、研究者が宣言型でオブジェクト指向のクエリ言語を使用して解析を利用できるようにします。
リレーショナルデータベースにおいてデータに関する非常に高度な問い合わせが簡略化されるのと同じように、Semmleでは、研究者は大規模なコードベースに含まれるセキュリティ脆弱性を非常に簡単かつ迅速に特定することができます。多くの脆弱性には、その根本的な原因と同じタイプのコーディングミスが存在しています。Semmleを利用することで、コーディングミスのバリエーションをすべて見つけることができるため、同様な脆弱性を除去できます。Semmleはこのアプローチを取ることで多くの問題を飛躍的に少ない誤検出で見つけることができます。
米国時間2019年9月18日、GitHubはSemmleを買収したことを発表しました。これは、オープンソースサプライチェーンの保護における大きな一歩になります。Semmleの革新的なセマンティックコード解析エンジンを使用することで、大規模コードベースに含まれるコードのパターンを特定し、脆弱性とその亜種を検索するクエリを作成できます。
トークンや認証情報をGitHubリポジトリに意図せず公開してしまったり、第三者が意図せずに公開してしまった情報を偶然見つけてしまったという経験はありませんか?GitHubでは約1年前に、トークンスキャニングを導入し、プッシュされたコミットをスキャンし、意図せず公開された認証情報の悪用を防止できるようにしました。セキュリティ上の脅威からお客様を守るという当社使命のもと、GitHubはAtlassian、Dropbox、Discord、Proctorio、Pulumiの5社と、各社のトークンフォーマットのスキャンについて新たに提携しました。JiraやDiscordなどの製品のトークンを誤ってチェックインしてしまった場合、チェックインから数秒以内に、トークンが一致している可能性がある旨の通知がプロバイダーに送信されるようになりました。これにより、プロバイダーは悪用される前にトークンを無効化できます。
GitHub Actionsを使うことで、開発ワークフローを自動化できます。GitHub Actionsでは、ワークフローや処理内容はリポジトリ内のコードとして記述されるため、作成したワークフローを共有したり、再利用するだけでなく、開発プロセスを含めてforkすることも可能になります。昨年のGitHub Actionsのリリース以来多くの反響があり、その結果、GitHub ActionsにCI/CD機能を実装するという結論にいたりました。
GitHub Enterprise Cloudは、SSH証明書をサポートするようになりました。これにより、企業や組織は所属するメンバーがリポジトリにアクセスする方法をより高度にコントロールできます。SSH証明書では、あるSSHキー(認証局)で別のSSHキーに署名でき、キーの所有者である開発者の情報も含まれます。管理者はSSH認証局(CA)の公開鍵をアップロードして、メンバーがGitの認証に使用する証明書の発行を開始できます。証明書は、企業または組織に属するリポジトリへのアクセスのみに使用できます。また、管理者は、リポジトリへのアクセス時に証明書の使用を必須にできます。
モバイルアプリケーションから大規模な金融機関のインフラストラクチャーまで、ソフトウェアの構築方法は急速に進化しており、セキュリティは開発者が最初から考慮するものとなりました。開発のペースが速まると、セキュリティ侵害のリスクが大きくなります。セキュリティに気を使っている大企業でさえ、公開されているソースコードにパスワードを残したり、お客様の個人データを漏洩したり、明らかに脆弱性があるのに重要なアプリケーションを本稼働させたり、といったことは珍しくありません。多くの企業が新しいソフトウェアをいち早くリリースしようと懸命になり、ソフトウェアの安全性を保つことに苦労しています。
日本語と中国語(簡体字)のヘルプサイトhelp.github.comが公開されました。新たに翻訳されたヘルプサイトには、GitHub.com、GitHub Enterprise、GitHub Desktop、およびGitHub Pagesのドキュメントがあります。