この記事の情報は古い、または正確ではない可能性があります。本件に関する情報は公式からの報告を参照してください。
CircleCIのセキュリティインシデントについて
こちらで1月4日(日本時間 1月5日)にキュリティインシデントが発生したとの報告がありました。
CircleCIに保存しているシークレットのローテーションが推奨されたので、これを実施しました。
主な対象はこちらで列挙されているものです。
(対応中に上記の日本語記事にも記載されました)
個人でやったこと
1. OAuthトークン
まずはCircleCIへのログインに使用するOAuthトークンです。
こちらは記載の通りに更新しました。
5. ユーザーAPIトークン
VS Codeの拡張機能を使っているので、このユーザAPIトークンも更新しました。
プロジェクトでやったこと
3. プロジェクトの環境変数
アプリケーションやクラウドプラットフォームに関する接続情報などがあったので、これを更新しました。
ローテーションのために2つのキーが用意されているケースは簡単なのですが、パスワードなどはユーザの作成から必要なものもあったので手間がかかりました。開発環境など、ちょっと止まっても大丈夫な環境であればそのまま変更でいいのですが、本番環境はそうはいきませんからね。
4. コンテキスト変数
組織単位で設定しているものです。
こちらもプロジェクトの環境変数と同じように更新していきます。
6. プロジェクト SSH キー
GitHubからチェックアウトするためのキーが設定されていたので、これを更新しました。
まとめ
さらっと書きましたが準備があったわけでもなく、サービスを止めないように気を配りつつ作業したので実際はなかなか大変な作業でした。とはいえ被害にあってからだともっと大変なので、可能な限り早く対応することが大切ですね。
近年は多くの外部サービスを利用するようになってきているので、こうした事例は避けられないものでしょう。外部の変化に素早く対応できるような環境を作ることが大事になると思います。