Open5

GitHub が SSH ホスト鍵(RSA)を変更したとのこと

hankei6kmhankei6km

何があったのか?

github.com の SSH ホスト秘密鍵(RSA)が一時的にパブリックリポジトリで露出状態になっていたらしい。よって、鍵を更新したとのこと。

This week, we discovered that GitHub.com’s RSA SSH private key was briefly exposed in a public GitHub repository. We immediately acted to contain the exposure and began investigating to understand the root cause and impact. We have now completed the key replacement, and users will see the change propagate over the next thirty minutes. Some users may have noticed that the new key was briefly present beginning around 02:30 UTC during preparations for this change.

hankei6kmhankei6km

何かまずいの?

鍵を公開してしまった(盗まれたわけではないらしい)ということなので、侵入されてヤバイ情報が漏れたというわけではなさそう。あと、漏れた鍵が悪用されているとは考えにくいとのこと(たぶん)。

Please note that this issue was not the result of a compromise of any GitHub systems or customer information. Instead, the exposure was the result of what we believe to be an inadvertent publishing of private information. We have no reason to believe that the exposed key was abused and took this action out of an abundance of caution.

(ホスト鍵を中間者攻撃などで使われる可能性もなくはないけど、すでに鍵は新しくなっているので、後述するようにユーザー側で更新すれば影響は抑えられる)

hankei6kmhankei6km

ユーザー側での対応は?

ユーザー側としては下記の場合は対応は不要らしい。

  • RSA 方式以外(ECDSA or Ed25519)のホスト鍵を保存している場合
  • (記事には明記されてないけど)そもそも SSH 接続していない場合

RSA 方式のホスト鍵を保存している場合は、下記の項目にあるように鍵を更新する必要がある。

また GitHub Actions で actions/checkout のオプションで ssh-key を使ってるとエラーが表示される場合があるらしい。

これは最新版で対応されている(たぶんこのPR)、アクションのバージョン指定で @v3 などを使っていれば対応される。もっと細かい指定でバージョンを固定している場合は、手動での更新が必要とのこと。

hankei6kmhankei6km

個人的なメモ

これは、上記とはあまり関係のない個人的なメモ

少し前になんとなく[1]「GitHub での HTTPS vs SSH」的なことを検索していたのだけど、HTTPS だとこういうとき SSH よりかは失効させやすいのかな?と思ってみたり。

あと、(鍵の露出に気が付いた経緯は不明だけど)シークレットのスキャンは大事だなと。ということで、新しく作成するリポジトリでは自動で有効化されるようにした。

"Automatically enable for new public repositories"の項目にチェックを付けているスクリーンショット

脚注
  1. Codespaces などのクラウド系 IDE や VSCode の拡張機能使っていると「SSH で接続することが減ってきたなぁ」と思ったりしたので。 ↩︎