GitHubは先頃，漏えいした，あるいは安全でないと判断されたSSHキーの無効化を開始した。この問題を明らかにした調査を行ったのは，システムエンジニアのBen Cartwright-Cox氏である。InfoQは氏に話を聞いた。

Cartwright-Cox氏は，他ユーザのSSH公開鍵を見ることのできる，“あまり知られていないGitHubの機能”を活用した。これはSSH公開鍵を共有する上では優れた方法だが，Cartwright-Cox氏によると，すべての人の公開鍵を収集するようなことも簡単にできてしまう。実際にCartwright-Cox氏自身，2015年の初めにEvent APIを通じてGitHubをスキャンして1,376,262程の鍵を収集した上で，その有効性の分析を行っている。

解析を通じて氏が収集した重要な知見には，主に次のようなものがある。

アカウントへのSSHキーの設定なしにリポジトリにコミットしているユーザは，全体の30%に過ぎない。

最も多く利用されているのはRSA鍵で，全体の97%である。その他のキーは大部分がDSAで，ECDSAキーを利用するユーザは少ない。

因数分解が可能であると以前から判明していた，256および512ビットのみを使用しているキーが９つあった。

多くのキーに2008年5月のOpenSSHバグによる脆弱性が認められた。これはシステムにおいて，生成されるキーの数がセットあたり32kに制限されるものであり，ランダム性を大きく損なうことが判明している。この最後のグループのキーとしてCartwright-Cox氏が見つけたのは，SpotifyとYandexの公開リポジトリ，Cryptoライブラリ，Django，Pythonのコア，Couchbaseなどだ。氏によると，これらすべてのアカウントには，その“障壁の低さ”故の漏えいの危険性が推測される。

Cartwright-Cox氏の公表からGitHubがアクションを実施するまで，数ヶ月後を要した。最終的には5月5日にDebianの鍵が，6月1日に脆弱で低品質の鍵が，いずれも無効にされた。

InfoQはこの話題をさらに詳しく知るべく，Ben Cartwright-Cox氏と話をした。

全体的な監査所見として，どの程度の問題があったのでしょう？ 最終的には，アカウントにリスクがあると実際に認められたユーザの数は，非常に少なかったように思うのですが。

今回の調査の大きな発見は，多数の大規模プロジェクトが，検出が難しくて不明確な問題を抱えている，あるいはその可能性がある，ということです。影響を受けたアカウント数に比較して，影響を受けたユーザの数が非常に多いことが特徴です。 私の知る限り，私の記事の結論に関して調査を開始した企業が，少なくとも２社あります。彼らがそこで何を発見するかによっては，私たちよりも先に誰かがこの問題を見つけていたのか，その存在が分かるはずです。

今回の話題から学んだことのひとつは，セキュリティを保証することの難しさです。この事実によって，企業がユーザに対して何らかの保護を行うことの重要性は，あなたの言葉どおり，ますます重要性を帯びてきます。これについて，詳しく説明して頂けますか？

GitHubが脆弱で小さな鍵の削除に乗り出したのは，素晴らしいことだと思います。ほとんどの企業ならば，気にも留めないでしょう。今回の教訓は，コンピュータが暗号鍵を提供するという理由だけで，それがさまざまな攻撃から自身を守るものであるとは言えない，ということです。

最終的なGitHubの対応には納得していますか？企業やその他の組織に対しては，ユーザの支援や適切なセキュリティ獲得のために，どのような役割を積極的に負担してほしいと思いますか？

彼らはもっと早く行動できたはずですし，バグ報償金のページで，私の調査が“賞”(言及してくれれば結構です，お金が欲しいのではありません)に値するものだ，と認めることもできたと思います。それ以外の点においては，彼らの応答は素晴らしいものでした。

Cartwright-Cox氏はこの記事のフォローアップ記事を発表して，GitHubのSSH鍵の品質の更なるレビューを行っている。