1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

個人開発エンジニア応援 - 個人開発の成果や知見を共有しよう!-

【個人開発】情報漏洩を防止するChatGPTのCLIツールをプロトタイプした話

Posted at

ChatGPTはプログラミングを含んだ様々な質問に答えてくれる便利なツールです。

一方で、特別な設定をしなければ、ChatGPTに送信した内容は学習データとして利用されるため、情報漏洩のリスクを孕んだツールでもあります。

例えば、社外秘をChatGPTに入力してしまい、その内容をChatGPTに学習されてしまうと、他の人がChatGPTを利用した際に社外秘が生成されてしまうといったことが起こり得ます。

そのため、業務でChatGPTを使う時は「入力内容が社外秘であるか?」といったことを気にする必要があり、結構イライラします。

今回はこの「ChatGPTを介した情報漏洩リスク」を自動で防ぐツールとして「privacy gpt cli」を作成しました。

Screen Shot 2023-09-23 at 18.23.12.png

仕組み

以下の通り仕組みはかなりシンプルであり、標準入力を受け取った段階でブラックリストに含まれる社外秘を含んでいるかチェックして、社外秘を含んでいた場合はOpen AIのAPIに送信しないというものです。

  1. ターミナルから標準入力を受け取る
  2. 入力チェック
    1. ブラックリストに存在するワードが標準入力に含まれていた場合、Open AIのAPIに送信せずにブラックリストに含まれたワードが入力された旨をユーザに返す
    2. ブラックリストに存在するワードが含まれていない場合、Open AIのAPIにユーザの入力を送信する
  3. 1に戻る

使い方

使い方はシンプルで、ツールを起動後は質問文を入力してEnterを押し、最後にgoという送信キーワードを入力してEnterを押すだけです。

そうするとOpen AI APIへ質問が送信され、レスポンスが表示されます。

Screen Shot 2023-09-23 at 18.22.43.png

またブラックリストとして登録した「xxx corp」というワードを入力してみると、送信前にリジェクトされていることがわかります

Screen Shot 2023-09-23 at 18.23.12.png

展望

また今回のバージョンはあくまでプロトタイプ的な簡単なものなので、今後は以下の改善を加えて使いやすくしていきたいと思います。

  • 事前設定するプロンプトをカスタマイズできるようにする
  • gptのモデルを環境変数で指定できるようにする(現在はgpt3-turbo)
  • レスポンスを非同期で受け取れるようにして、1文字ずつレスポンスを表示できるようにする
  • 会話を保存できるようにする

以上

参考

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?