会員登録すると
学習することができます。
会員登録する(無料)
学習することができます。
登録済みの方はこちら
ログイン
学ぶ目的
秘密情報とは
APIキー、データベースのパスワード、署名用の鍵。それだけで他人があなたになりすませる値です。
経路は2つある
-
AIに渡してしまう: エラーを相談するときに
.envやログをそのまま貼る。使っているサービスによっては、入力が保存されたり、学習に使われたりします - コードに残してしまう: AIが「動かすために」キーを直接コードに書く。それをそのままコミットする
消しても残る
.env を間違えてコミットし、次のコミットで git rm で消したとします。手元で確かめると、こうなりました。
git show HEAD~1:.env
# API_KEY=sk-test-0000
ファイルは消えても、履歴には残っています。公開リポジトリなら、消す前に誰かが取得しているかもしれません。
漏らしたら「消す」ではなく「無効にする」
漏れた秘密情報の対処は、そのキーを無効にして、新しいキーを発行する(ローテーション)ことです。履歴の書き換えはその後の片付けです。順番を間違えると、片付けている間もキーは使えるままです。
日頃の守り方
- 秘密情報は
.envなどに分け、.gitignoreに入れる - AIに相談するときは、値を
xxxxに置き換えてから貼る - AIが書いたコードに、キーらしい長い文字列が無いか見る
- GitHub の秘密情報スキャンのような、コミット時に気づける仕組みを使う
このレクチャーで学ぶこと
- 秘密情報がAIとコードに漏れる2つの経路
- git rm しても履歴に残ること(実機確認)
- 漏らしたら最初にやるのは無効化
質問
まだ質問は投稿されていません。
質問投稿
ログイン後に質問の投稿ができます。