前回は、IPAが発表した調査結果から見る、AIの利用を巡るサイバーセキュリティの実態について取り上げました。
ご興味のある方は、ぜひご覧ください。
今回は、「AIの書いたコードに潜むセキュリティ」について見ていきます。
開発現場から聞こえる「異変」とは?
Webセキュリティの第一人者、徳丸浩氏が2025年、X(旧Twitter)に以下の投稿を行いました(※1)。
最近脆弱性診断をやっていて、変なXSS対策を目にするのですが、ひょっとして生成AIの悪影響かなという気がします。ChatGPTは、XSSを指摘すると、やたらDOMPurifyを使いたがるのです。下記の例だと、エスケープではなく、タグを除去する結果となります。模範的な対策ではありません。
AIツールの普及が進む中、「AIが書いたコードだから安全なはず」という思い込みが開発現場でもでてきている用に感じます。ところが実態は逆で、AIが生成するコードの中に古典的なWebセキュリティの脆弱性が「再生産」されるケースが増えていることがあります。IPA(情報処理推進機構)も2026年1月に発表した「情報セキュリティ10大脅威2026」で「AIの利用をめぐるサイバーリスク」を初めて3位に選出しており(※2)、この問題はもはや一部の現場エンジニアだけの話ではありません。
(※1) https://x.com/ockeghem/status/1886742303605399723
(※2) https://www.ipa.go.jp/security/10threats/10threats2026.html
「AIが書いたコードは安全」は誤解実験で見えた脆弱性の現実
「AIが書いたコードは安全」という考え方が危険なことを、専門家の実験を通じて見ていきましょう。
1:フレームワークで変わるAIの安全性(Vue.jsとReactの実験結果)
2023年の投稿ですが、徳丸氏はChatGPTにWebアプリのコード生成を依頼する実験を実施しました。Reactで書いてもらったケースでは、適切なエスケープ処理が施された安全なコードが出力されました。ところが同じプロンプトをVue.jsに変えて依頼したところ、入力値をそのままHTMLに出力するXSS(クロスサイトスクリプティング)脆弱性を含むコードが生成されたというのです(※3)。
XSSとは、悪意ある第三者が利用者のブラウザ上で不正なスクリプトを実行させる攻撃手法で、個人情報の窃取やなりすまし被害につながる代表的な脆弱性です。使うフレームワークや指示の仕方のわずかな違いで、AIが出すコードの「安全度」はまったく変わってし舞うということですね。
(※3) https://x.com/ockeghem/status/1628286972035997697
SQLインジェクションも見落とすAIの「バラつき」問題
徳丸氏は2024年末の記者説明会でも「生成AIで作成したプログラムには脆弱性を含むコードが一定割合存在する。外部からは生成AIのせいとは判明しづらいため、問題の発覚が遅れるリスクがある」と警告しています(※4)。
SQLインジェクション(データベースへの不正命令を注入する攻撃)を含むコードの修正を複数のAIモデルに依頼した実験では、モデルによって修正の正確さに明確なばらつきが生じることが確認されており、「AIが直してくれた=安全」とは言い切れない現実があります。
(※4) https://enterprisezine.jp/news/detail/21042
2026年、AIコードが招く「新しいサイバーリスク」の実態
では、実際の開発現場ではどのような問題が起きているのでしょうか。2026年に入り、AI活用の広がりとともに新たなリスクの形が浮かび上がってきました。
「Vibe Coding」が生む、セキュリティ意識の空白
AI生成コードをベースにコーディングをAI主体で行うスタイルは「Vibe Coding(バイブコーディング)」と呼ばれ、2026年の開発現場で急増しています。デバッグモードが有効なままだったり、アクセス制御の設定が抜け落ちていたりするコードが気づかれないまま稼働するケースも増加しているようです。
特に経験の浅いエンジニアや、納期に追われるプロジェクトでは、AI生成コードが「動く」というだけでセキュリティ観点が省略されがちです。AIが学習したデータには古い脆弱なコードも含まれており、そのパターンがそのまま出力に反映されるリスクも指摘されています。
AIはあくまで「アシスタント」であり、セキュリティの最終責任はエンジニア自身にあります。「AIが書いたから大丈夫」ではなく「AIが書いたからこそ、確認が必要」という意識の転換が、今の開発現場には求められています。
学びを深めるために、徳丸本と徳丸試験のすすめ
本記事で取り上げたXSSやSQLインジェクションは、Webセキュリティの入門として必ず押さえておきたい脆弱性です。これらは徳丸浩氏の著書『体系的に学ぶ 安全なWebアプリケーションの作り方』の第4章「Webアプリケーションの機能別に見るセキュリティバグ」などで体系的かつわかりやすく解説されています。AIコーディングが普及する今こそ、「AIの出力が正しいかどうかを見抜く力」を持つことが、エンジニアに求められる新しいスキルです。
まずは関連する章で知識を整理し、「徳丸試験」で理解度を確認してみましょう。AIが再生産する脆弱性への対策力を磨くには、体系的な学習が最も近道です。
【徳丸本】
体系的に学ぶ 安全なWebアプリケーションの作り方 第2版 脆弱性が生まれる原理と対策の実践
徳丸浩のWebセキュリティ教室

