APIキーやアクセスキーが漏れると、そのキーに与えた権限の範囲で、誰でもサービスを操作できてしまいます。データの持ち出し、不正なサーバーの起動による高額請求、生成AIのAPIの不正利用などの被害が起きています。漏れたらすぐにキーを無効化して作り直します。
漏れる主な経路
- ソースコードに直接書いて、公開リポジトリに上げた(GitHubからの漏洩)
- Webページやアプリの中に埋め込んだ(利用者から見える)
- チャットやチケットに貼り付けた
- 開発者のPCがウイルスに感染した(インフォスティーラー)
漏れたときの対応
- キーを無効化(削除)し、新しいキーを発行
- キーで行われた操作をログで確認(データの閲覧・作られたリソース)
- 不正に作られたリソースを削除し、利用料を確認
- コードの履歴からもキーを削除(履歴に残る点に注意)
予防
- キーはコードに書かず、シークレット管理の仕組みや環境変数で扱う
- キーの権限を最小に、有効期限・利用元の制限
- 可能なら、長期のキーではなく一時的な認証情報を使う
- 利用料のアラート
出典:GitHub Docs「シークレットスキャン」、総務省「クラウドサービス利用・提供における適切な設定のためのガイドライン」