脆弱性17件をAIと直して、7件は残しました
AIが見つけるのも直すのも速くなった月に、残した理由のほうを書きます。
CTO/COO 熊谷大樹が書きました
2026-11-12 / 技術
今月、AIが脆弱性を見つけて直す話が続けて出ました。11月4日にOpenAIが、Linuxカーネルで1,724件の脆弱性を再現したと発表しました。うち948件は、一般ユーザーがrootを取れるものです。かかったAPI費用は121万ドル。数百件の報告と修正案を送った、とあります。翌日にはGoogleが、脆弱性を見つけて直すエージェント「CodeMender」の機能追加を発表しました。
見つける・直すは、機械の速さの仕事になりつつあります。うちでも先月、小さく同じことをやりました。そちらの数字を書きます。
10月26日:17件を、7件にしました
自社サイトが使っているパッケージの脆弱性を、AI(Claude Code)と一緒に監査しました。npm audit の結果は17件。
critical high moderate 合計 対応前 2 8 7 17 対応後 0 1 6 7
いちばん大きかったのは、Next.js が 13.0.6 だったことです。サポートが終わった版で、今年8月に公表された画像最適化の経路のリモートコード実行が、塞がれないまま残っていました。これを 15.5.28 に上げました。メール送信のライブラリも上げ、使っていないのに入っていたパッケージを3つ消しました。ついでに、お問い合わせの受け口に入ってくる文字をエスケープし、セキュリティ用のヘッダーも足しました。
AIがやったのは、調べる・書き換える・ビルドして確かめる、です。全ページが開くか、画像が出るか、フォームが送れるかまで、AIが確かめました。速かった。ここは、今月のニュースと同じ向きです。
残した7件は、全部ビルド時のCSSツールでした
7件は残しました。中身は tailwind と postcss まわりの、CSSを処理する道具です。「CSSのコメントに細工をされると任意のファイルを読まれる」といった内容ですが、このサイトのCSSを書いているのは自分たちだけで、外から入ってくる経路がありません。しかも動くのはビルドのときだけで、公開サーバーでは動きません。
直すには、Next を 16 に、Tailwind を 4 に上げる必要があります。AIの提案は、それでした。13から15に上げた直後に16まで行くのは、やめました。監査が「high」と言う表と、うちで実害があるかの表は、別の表です。どちらの表で決めるかは、人が決めることにしています。
11月12日:もう一度数えたら、11件でした
今日、同じコマンドをもう一度流しました。この2週間、パッケージには何も触っていません。
10/26 に残した 7件 のうち 一覧から消えた 3件(判定が見直された) 残っている 4件 新しく増えた 7件 今日の合計 11件 → 1コマンドで直せたのが1件 → 10件
こちらが何もしなくても、一覧は入れ替わります。新しく出た7件のうち1件はその場で直せました。残り6件は開発中にだけ使う検査ツールのもので、直すにはやはり Next 16 が要ります。残している4件は、10月26日と同じ4件です。
OpenAIの発表には、モデルが良くなったら前に監査したコードをもう一度スキャンするように、と書いてあります。規模は違いますが、言っていることは同じです。「全部直しました」は、書いた翌週に嘘になります。
学んだこと
見つけるのと直すのは、速くなりました。残ったのは2つです。どれを直さないかを決めること。そして、また数えること。
CodeMenderも、ファイルへの書き込みとコマンドの実行は人が確認する作りだそうです。1,724件を再現したOpenAIも、報告はカーネル開発者の助言に沿って優先順位を付けています。機械が速くなるほど、止める線をどこに引くかが、人の仕事として残ります。
だから「直しました」ではなく、いつ数えて、何を残して、なぜかを書いています。次に数えるときには、また数字が変わっているはずです。
この話の続きは、サイトの中にあります
開発の進め方を見る →前後の記事
ほかの記事
AIが下書きし、佐久間が確かめました
AIが
2026-11-02 / 仕事
熊谷大樹が書きました
読むのは
2026-10-26 / 仕事
こういう直し方を、お手伝いしています。
相談してみる →

