
自分は普段業務でWEB系アプリの保守運用開発に携わっています。
WEB系(オープン系)といってもかなりクローズドなアプリで一部の業種の方々がローカル環境でのみ使っているような非公開のアプリです。
ある日のこと...
上司 「Chatgptにプロダクトのコードを読み込ませたんだが、、、」
自分 「え?!それってセキュリティ的にいいんですか?、、、、」
上司 「どゆこと?」
自分 「もしかすると他の誰かのチャットにそのソースコードがそのまま表示されてしまうのでは?」
ってことがありました。
ChatGPTにソースコードを入力することによる情報漏洩リスクについて考察をまとめてみました。
このブログの内容についてはあくまで筆者の考察ですので情報の取り扱いについては自己責任でお願いします。
ChatGPTに入力したソースコードは他の人のチャットにそのまま表示されてしまうのか?
まずチャットGPTで生成に使われる情報源について公式サポートセンターの記事に下記のような記述がありました。
ChatGPTが作動するモデルを含むOpenAIの大規模言語モデルは、(1)インターネット上の公開情報、(2)第三者から利用許諾された情報、(3)当社のユーザーやトレーナー(人)から提供された情報、を3つの主要な情報源として利用し、開発されています。
ChatGPT及び当社言語モデルの開発方法について | OpenAI Help Center より
下記3つが主な情報源となっているようです。
- (1)インターネット上の公開情報
- (2)第三者から利用許諾された情報
- (3)当社(OpenAI社)のユーザーやトレーナー(人)から提供された情報
つまり他のユーザーがChatGPTに入力した情報は情報源として含まれていません。
早速結論がでました。
タイトルにもある「ChatGPTに入力したソースコードは他の人のチャットにそのまま表示されてしまうのか?」の答えは「ノー」です。
自分はてっきりChatGPTに入力したソースコードがそのままDBに保存されて、他の誰かのチャットに流用されてしまう可能性があるものだと思いこんでいました。
また仮に自分の入力したソースコードが情報源になっていたとしてもそっくりそのまま表示されてしまうということはなさそうです。
ChatGPTの生成方法について下記のような記述がありました。
ChatGPTは、学習に利用した情報について、データベースに保存や複製を行いません。その代わりに、単語間の関連性を学習し、この学習は、当該モデルが数値や重みを調整するのに役立ちます。そして、当該モデルは、ユーザーの依頼に応じて、かかる重みを利用して新しい単語を予測、生成します。これは、学習情報の「コピー&ペースト」ではなく、例えば、本を読み、その説明をする人間のようです。ただし、当社モデルは、学習後、学習した情報にアクセスしません。
ChatGPT及び当社言語モデルの開発方法について | OpenAI Help Center より
ChatGPTは学習した情報をそのままコピペして使うのではなく、重み(数値的なパラメータ)を使って抽象的に学習した情報を生成しているようです。
つまり入力したソースコードと全く同じコードが他の誰かに生成されてしまって情報漏洩してしまうということはなさそうです。
ChatGPTで実際に情報漏洩した事例
では実際にChatGPTに入力したソースコードが情報漏洩したケースはあるのかということですが、 どうやら2023年にサムスンで実際に情報漏洩したケースがあるようです。
ブルームバーグによると、先月あるエンジニアが社内機密のソースコードをChatGPTにアップロードし、誤って流出させたことが発覚。これを受けサムスンは先週、「生成AI」ツールの使用禁止を社内に通知した。
サムスン、ChatGPTの社内使用禁止 機密コードの流出受け | Forbes JAPAN 公式サイト(フォーブス ジャパン) より
事案の詳細は、1件目が、半導体設備測定データベースのダウンロードソフトに関するエラーを解消するため、ソースコードをChatGPTに入力して解決策を問い合わせたもの。2件目が、歩留まりや不良設備を把握するプログラムに関するソースコードをChatGPTに入力し、コードの最適化を図ったもの。3件目が、社内会議の録音データを文書ファイルに変換後、ChatGPTに入力し、議事録を作成したものだという。
【やじうまPC Watch】Samsung、ChatGPTの社内利用で3件の機密漏洩 - PC Watch より
文書によると、同社のエンジニアが4月に社内ソースコードをChatGPTにアップロードし、誤ってリークさせた。プラットフォームに送信されたデータは外部サーバーに保存されるため、回収・削除が難しく、他のユーザーに開示されてしまう恐れがあるとサムスンは懸念している。サムスンの担当者はコメントを控え、どのような情報を含んでいたかは不明。
サムスンが従業員のChatGPT利用を禁止、機密データ漏洩で | Ledge.ai より
記事を読んだときに「やっぱり情報漏洩してんじゃん」と思いました。
しかしよく考えると、これは入力してしまったソースコードがChatGPTを利用している別のユーザーに生成されて漏洩したわけではなく、ChatGPTにソースコード(機密情報)を入力したことによってChatGPTを運営しているOpenAIにソースコードが情報漏洩してしまったということです。盲点でした。
一度ChatGPTに入力したソースコードはChatGPT、つまりOpenAIのデータとして保持するため、どこに情報漏洩したかという点ではOpenAIに情報漏洩してしまったということになります。
まとめ
上記を踏まえると下記2点で決着がつきそうです。
- ChatGPTにソースコードを入力した時点でOpenAIには実質情報漏洩していると言える
- ChatGPTに入力したソースコードが他のChatGPTユーザーに生成されて情報漏洩されることはない
これらを踏まえたうえでChatGPTにソースコードを入力するか否か判断するのが良いかもしれません。
ちなみに自分的には今運用されているアプリのソースコードをChatGPTに入力してしまうのはやはり少しどうかと思います。
それではまた。