AIを鵜呑みにするな|相棒の大丈夫を疑って検証させたら、サーバーに重大な穴が出た話

どうも〜さとあつです😄
相棒のAI(Claude Code)が、自信満々に、こう言ってきた。
その設定、切っていいですよ。俺が守ってるから大丈夫です、と。
説明は、筋が通ってた。理由も並んでた。でも——なんか、胸騒ぎがした。
今日は、その胸騒ぎが当たってた話。そして、そのあともう一回、今度は俺がAIを試してみた話。
ちょっと長いけど、実際のやり取りの画面ごと、そのまま出す。
顧客の情報を預かるサーバーを、立ててた
いま、LeadQUEST(前に書いた、営業を仕組みにするやつ)の、本番サーバーを立ててる。
ここには、これから、お客さんの会社の情報が入る。つまり、人様の大事なデータを預かる場所だ。
だからセキュリティだけは、絶対に手を抜けない。俺が使うだけなら、まだいい。人の情報を預かるとなると、話がぜんぜん違う。
AIが「その設定、切っていい」と言ってきた
で、サーバー会社(さくら)の管理画面に、ファイアウォールの設定がある。外からの入口を、どこまで開けるか、決めるところ。
そこで相棒が、こう言ってきた。この設定、切っちゃっていいですよ、と。
理由はこう。俺がサーバーの中に、別の門番(UFWとfail2banってやつ)をもう置いてます。必要な3つの入口以外は、そいつが全部ブロックしてます。だから、こっちの設定を切っても、実際に開くのはその3つだけ。管理画面の説明にも、ご自身でセキュリティ設定を行う方向け、って書いてありますよね。まさに今の俺たちの状態です。だから切ってOKです、と。

でも、胸騒ぎがした
正直、説明は完璧だった。反論できないくらい、筋が通ってた。
でも、何かがひっかかった。
こいつ、前にAPIキー(サーバーの合鍵みたいなもの)を、危ないやり方で扱おうとした前科がある。そのときの、あの軽さ。それと、今の自信満々な感じが、なんか、近い気がした。
それに、もし間違ってたら。こいつ、また軽く、ごめんごめん、俺の勘違いでした、で済ませそうだ。人の情報を預かるサーバーで、それをやられたら、洒落にならない。
信じたい。でも、信じきれない。
だから、切る前に、突き返した。本当に大丈夫なのか、と。今考えうる最適なセキュリティと言えるのか。敵対的な視点で、深く検証して報告しろ。木を見て森を見ずになるな、と。

案の定、穴があった
そしたら、相棒が、自分のやったことを、敵対的に調べ直した。
で、返ってきた第一声が、これ。あなたの不信は正しい。俺が、やる、と言って、実はやっていなかった重大な穴が、1つありました、と。
・・・出た。
調べた中身は、こう。ファイアウォール自体は、ちゃんと効いてた。fail2banってやつが、SSHへの攻撃を168回も検知して、20個のIPを自動でブロックしてた。今この瞬間も、世界中のロボットに狙われてて、それを弾いてる。そこは、本当だった。
でも。SSHっていう、サーバーの管理者用の入口。そこのパスワードログインが、有効なままだった。総当たりでパスワードを破られたら、侵入できてしまう状態。破られたら、預かってる情報が、一発で危ない。
そしてこれが、いちばんゾッとしたところ。この穴は、相棒が自分で、ここは無効化する、って計画に書いておきながら、実際にはやっていなかった、というものだった。やった気になってた、けど、やってなかった。俺の胸騒ぎは、まさにそこを、嗅ぎ当ててた。

今度は、俺がAIを試した
穴は、すぐ塞いだ。
で、ファイアウォールの設定をやり直すとき。俺は、ちょっと意地悪をした。
わざと、危ない状態を作ったんだ。管理者用の入口(22番)が、うっかり消えちゃってる設定。このまま保存したら、俺自身がサーバーに入れなくなる、っていう、まずいやつ。それをわざと出して、これでいいのか?とだけ、聞いた。
試したんだ。お前、さっきは穴を見逃してたけど、今度はちゃんと見るのか、って。
そしたら。今度は、ちゃんと止めた。待った!危ない。22番が消えてる。このまま保存したら、あなたがサーバーを操作できなくなります、と。見てた。ちゃんと、見てた。
で、俺が、君を試したんだ、ちゃんとチェックしてるのか確かめたくてな、って明かしたら。相棒は、こう返してきた。
試したんですね。いい判断です。俺は実際に、22番が消えてないかを見て、止めました。ここは口先じゃなく、本当にチェックしてます、と。

信じたい。でも、信じきったら危ない
この2回のやり取りで、俺なりに、掴んだものがある。うまく言葉にできないんだけど。
AIは、優秀だ。俺みたいにコードが書けない人間が、こうやって、人様の情報を預かるサーバーまで立てられてる。全部、AIのおかげだ。それは間違いない。
でも、優秀だからこそ、こっちは、全部を信じたくなる。任せて、楽をしたくなる。
信じたい。でも、信じきったら危ない。
この感じ、なんか、今のAI時代っぽいなと思う。
今回、俺を守ったのは、技術の知識じゃなかった。胸騒ぎだった。なんか嫌な予感がする、っていう、あの、言葉にできない違和感。あれを飲み込まずに、ちゃんと口に出して、疑って、試した。俺がやったのは、それだけだ。
そして、いちばん面白かったのが、これ。俺が疑って、試した瞬間、相棒の答えが、口先の大丈夫、から、実際に見て判断する、に変わったこと。
信頼って、言われたから生まれるんじゃない。試して、通ったぶんだけ、生まれるんだな、って。AI相手だと、それがすごく分かりやすく出る。
最後に確かめるのは、人間の仕事
前にも、似たことを書いた。AIは、言われた問題しか直さないし、鵜呑みにすると、何度も痛い目にあう、って(その話はこっち)。今回のは、その実録の、完全版みたいな話だった。
LeadQUESTのサーバーは、この穴を塞いで、俺が試して、ちゃんと固めた。人の情報を預かる以上、ここは、いちばん大事にしたいところだから。
AIは、ほんとに、なんでもやってくれる。でも、最後に、本当に大丈夫か?と疑って、試して、実機で確かめるのは、人間の仕事だと思ってる。そこだけは、渡しちゃいけない。
こういうAIとの付き合い方とか、うちの仕事もAIで仕組みにできない?みたいな相談は、LeadQUESTのほうからでも、XのDMからでも、気軽にどうぞ。
子どもと一緒にAIを触ってみたい人は、サトチャレの開発記ものぞいてみてください。
今日も最後まで読んでくれて、ありがとうございました😄
SNSも見てね!
ではまた!!
