~/VibeHandbook
$39

18 · 01

AIが生成するコードがデフォルトで安全でない理由

AIはあなたが与えたプロンプトに最適化する。そしてあなたのプロンプトはほぼ必ず「動くようにして」と言っていて、「安全にして」とは決して言っていない。だからAIは、動く機能までの最短経路を生み出す。最短経路はたいてい安全でない経路だ——文字列連結で組み立てたクエリ、権限チェックのないエンドポイント、学習したサンプルがそうだったというだけの理由でそのまま貼り付けられたシークレット。

さらに悪いことに、AIはインターネット全体から学習している——その中には、それ自体が安全でなかった、10年分のチュートリアルや放置されたリポジトリも含まれる。安全なコードは書くのが難しく、投稿されることも稀なので、安全でないコードのほうが学習データの中ではよりありふれている。「ログインフォーム」を頼めば、統計的にはインターネット上の平均的なログインフォームが返ってくる可能性が高く、そしてインターネット上の平均的なログインフォームには問題がある。

AIはまた、脅威の感覚をまったく持たない。ファイルアップロード機能を作る人間なら、ふと不安がよぎる——誰かが厄介なものをアップロードしたらどうしよう? AIは何も感じない。それが鉄壁だろうと穴だらけだろうと、同じ自信でハンドラを書く。ためらいもなければ、「うーん、この部分はちょっと不安だな」もない。その不安は、あなた自身が供給しなければならない。

ここから得られる教訓は「AIのコードは危険だから使うな」ではない。「動く」と「安全だ」は別の2つの問いだということ、そしてAIに2つ目を答えさせようと強制しない限り、AIは1つ目しか答えないということだ。

オフラインでも読みたい?

PDF + EPUB + ダウンロード可能なプロンプトライブラリ + バージョンアップデートを入手しよう。

$ PDFを入手 — $39