CodecovのCI用資格情報が流出した問題の対応

2021/4/15 にcodecovからこんなメールが届きました。
![codecovemaill.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/141823/bad1e610-9353-bc5a-78e2-3eeeb2264296.png)

>On Thursday, April 1st, we learned that someone had gained unauthorized access to our Bash Uploader script >and modified it without our permission. The actor gained access because of an error in Codecov’s Docker image >creation process that allowed the actor to extract the credential required to modify our Bash Uploader >script.
>
>Unfortunately, we can confirm that you were impacted by this security event.
>
>We strongly recommend taking action by reading our security notice about this event to understand how you are >impacted and next steps you should take.

つまり、CodecovのDockerイメージ作成プロセスでBashアップローダースクリプトの変更に必要なクレデンシャルを抽出できるようになってしまっていて、あなたはまさに影響を受けます。　とのこと・・・

以下に公式でアナウンスされています。

https://about.codecov.io/security-update/?utm_medium=email&utm_source=marketo&ajs_uid=3348728&ajs_event=Clicked%20Email&mkt_tok=MzMyLUxWWC03NDEAAAF8dJnSJWdGxeOT5Q-om9AkmjErs7X6fZDOZ8XsLLqS-gnM9o8AOpBEtUqXuocS8aBVtGpdoWXo6EORNMMRF9IakeEVNhFqu4iI6klnV4WZ


こちらも英語ですが要約すると

- 2021年1月31日以降、Bash Uploader scriptに継続的に不正アクセスがあり、CI環境の情報をどこかに送信されていたことが分かったよ
- Bash Upploaderをローカルから使ってた場合は多分大丈夫だけど、それ以外だとクレデンシャルとか抜かれた可能性が高いよ
- GitHub Actions、CircleCI Orb、Codecov Bitrise Step、とかがこのBash Uploaderっての使ってるからつまり前述のCI環境使ってる人は直ちに対応してね
- 具体的な影響はCIランナーで使っていたクレデンシャル、トークン、キーやこれらと同じものを使ってアクセスできるサービスとかデータストアとかアプリケーションコードとかだよ。あと、codecovを使ってるgitのオリジンリポジトリのURLもバレたよ

とのことです。

影響されるユーザーは**上記のCIプロセスの環境変数なるすべての資格情報、トークン、キーをすぐに再ロールせよ**とのことです。

私も以下の記事にてCodecovを該当レポジトリに使用していますので、そちらの対応を本記事に記載しておきます。

https://qiita.com/tokkun5552/items/2eb6793501c152dabf33

## TOKENの再生成方法

codecovのページへログインし、設定を変更するリポジトリを表示します。
`Settings` - `Repository Upload Token` の中の **Regenerate** をクリックし、トークンを再生成します。
再生成後はトークンをコピーしておきます。
![evidence_001.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/141823/34634160-5a59-ab42-996f-af36e09caed4.jpeg)

対象のGitHubリポジトリに行き`Settings` - `Secrets` で今まで設定していた`Repository secrets`を削除します。
![evidence_003.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/141823/b782d655-1953-cec2-c0f0-d1da978c0f4d.jpeg)

同画面で`New Repository secret`をクリックし、`Name`に`CODECOV_TOKEN`、`Value`にコピーしておいたトークンを貼り付けます。
※こちらの環境変数は設定している`GitHub Actions`で指定している環境変数を指定してください。
![evidence_004.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/141823/674202ce-43fc-433a-51ea-58e225760d36.jpeg)

## 設定変更後の確認
設定変更は完了したはずですので、試しにcodecovにアップロードしてみます。
私は無事アップロード出来ていました。
![evidence_006.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/141823/cbb72efc-03ea-0466-623e-a946ab2f9051.jpeg)

codecov側でも正しく反映されていました。
![evidence_007.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/141823/9d4aa150-a553-c620-334a-5dbe4e4ff72f.jpeg)

これで対応は完了です。

#### 参考

- [Bash Uploader Security Update - codecov](https://about.codecov.io/security-update/?utm_medium=email&utm_source=marketo&ajs_uid=3348728&ajs_event=Clicked%20Email&mkt_tok=MzMyLUxWWC03NDEAAAF8dJnSJWdGxeOT5Q-om9AkmjErs7X6fZDOZ8XsLLqS-gnM9o8AOpBEtUqXuocS8aBVtGpdoWXo6EORNMMRF9IakeEVNhFqu4iI6klnV4WZ)
- [【Flutter】GitHubActionsでテストと静的解析を自動化する - Qiita](https://qiita.com/tokkun5552/items/2eb6793501c152dabf33)