本文へ移動
Develop Tools
← 使い方ガイドへ戻る

AI・ChatGPTにコードを送る前にマスキングすべき情報

AIに相談するコードには、処理と無関係な機密情報が混ざっていることがあります。送信前に必要な範囲だけを残し、元の情報を推測しにくい架空値に置き換えます。

コードの切り出し、秘密情報の削除、マスキング、目視確認という流れ
コードの切り出し、秘密情報の削除、マスキング、目視確認という流れ

最初に探すべき情報

最優先で確認するのは、APIキー、アクセストークン、Cookie、秘密鍵、パスワード、接続文字列です。一部を伏せるだけでは安全とは限らないため、コードから完全に取り除きます。

次に、顧客名、メールアドレス、社内ドメイン、IPアドレス、ホスト名、案件名、ファイルパスを確認します。コメント、例外メッセージ、テストデータにも残りやすい項目です。

  • 環境変数の値と設定ファイル
  • HTTPヘッダー、URLのクエリ文字列、ログ出力
  • SQLやJSONに埋め込まれた実データ
  • スクリーンショットや添付ファイルの名前

安全に準備する手順

  1. 問題を再現できる最小限のコードだけを作業用テキストへコピーします。
  2. 認証情報と個人情報を先に削除し、必要なら該当するキーを失効・再発行します。
  3. コード形式に合うツールで、識別子、文字列、数値、コメントをマスキングします。
  4. 元の固有名詞を結果内で検索し、情報が残っていないことと構文が保たれていることを確認します。

マスキングだけでは不十分な例

質問文に会社名や本番URLを書いたり、画面キャプチャに通知が映ったりすると、コードをマスキングしても情報が残ります。入力欄全体と添付物を一つの共有物として確認してください。

秘密情報を誤送信した場合は、会話の削除だけで終わらせず、認証情報の失効、アクセス履歴の確認、管理者への連絡など、所属組織の手順に従います。

Develop Toolsの処理はブラウザ内で行われます。ただし、認証情報はツールに入力する前に削除するのが最も安全です。

具体例:API呼び出しコードをAIへ相談する

たとえば認証エラーを相談するコードには、Authorizationヘッダー、APIのホスト名、顧客ID、ログ出力されたメールアドレスが同時に含まれることがあります。エラー行だけでなく、定数、設定値、コメント、例外メッセージまで確認します。

置換後は「同じ値が同じダミー値になっているか」を見ます。顧客IDが複数行に現れる場合に別々の値へ変わると、処理の対応関係が分からなくなるためです。

  1. 相談に必要なクラスや関数だけを新しいテキストへコピーします。
  2. APIキー、トークン、URL、IPアドレス、氏名、メールアドレスを検索します。
  3. 識別子と文字列をマスキングし、構文と同値関係が残っているか確認します。
  4. 完成したコードをもう一度「secret」「token」「password」「社名」などで検索してから共有します。

秘密情報が一度でも外部へ送信された場合は、削除だけでなくAPIキーやトークンの失効・再発行も必要です。

よくある質問

変数名だけを変更すれば安全ですか?
安全とは限りません。文字列、コメント、URL、例外メッセージ、SQL、テストデータにも組織名や認証情報が残るため、コード全体を確認してください。
マスキング後のコードはそのまま実行できますか?
構造確認には使えますが、実行可能性は保証されません。相談に必要な再現条件が残っているかを目視で確認し、元コードは別に保管してください。

ブラウザで試す

入力内容はブラウザ内で処理されます。元データを残したうえで、結果を確認してから保存・共有してください。

対応言語からマスキングツールを選ぶ