お役立ち情報
生成AIが書いたコード、そのままリリースして大丈夫?
AIコーディングエージェント時代のWeb脆弱性診断はVAddyで
Claude Code や Codex などのAIコーディングエージェントの普及により、Webアプリケーションは効率よくスピーディに開発されるようになりました。しかし、生成されたコードをそのままリリースすると大きなインシデントにつながるおそれがあります。
生成されたコードをそのままリリースしてはいけない理由
生成AI(LLM)は学習データのパターンから「次に来そうな言葉」を確率で選びながらコードを組み立てています。膨大な学習データの中には脆弱なコードも含まれているので、それがそのまま出てくるリスクもあるわけです。AIモデルがどれだけ進化しても、この仕組み自体は変わりません。
生成されたWebアプリケーションは、エラーもなく見た目もきれいで、つい安心してしまいます。しかし、見た目の完成度と中身の安全性は、まったく別の話なのです。
確率的なリスクには、決定論的なツールで対応する
コードが安全とは限らない以上、脆弱性がないか診断する必要があります。LLMが確率でコードを書くのなら、診断側は「何度試しても同じ結果になるツール」が向いています。いわゆる決定論的なツールです。
AIコーディングエージェントが書くコードは、言語やフレームワークによって中身がかなり変わります。しかも、一度に大量のコードが書き換わることもよくあります。このようなケースには DAST(動的アプリケーションセキュリティテスト)が有効といえます。(VAddyもDASTです!)
VAddyは、実際に動いているWebアプリケーションにHTTPリクエストを送信し、そのレスポンスから脆弱性の有無を判断する仕組みです。つまり、AIがどんなコードを書いていようと気にすることなく診断ができるのが、DASTであるVAddyの強みです。
必要な範囲を、効率よく診断する
VAddyでは、クロールデータ(スキャンの対象)を機能ごとに分割して作成することを推奨しています。なぜならば、機能を変えたときに関係するクロールデータだけを作り直せば済むからです。また繰り返し実施するスキャンについても、クロールデータを分割しておけば短時間で終わらせることができます。
さらに、VAddyの検査項目は脅威度の高い脆弱性に絞っています。ですので、検知される回数はそう多くありませんが「検知された脆弱性はすべて対策する」という方針で迷いなく進むことができます。さらに検知された脆弱性についての対策方法も表示されるので、その内容をそのままコーディングエージェントに渡せば、修正も効率よく進めることができます。
まとめ AI開発のスピードに負けない、継続可能なセキュリティ対策を
AIの発展により開発は速くなりましたが、それと安全に作るという別の話です。VAddyをうまく開発サイクルに組み込み、リリースのたびに診断(VAddyは契約期間内であれば何度でも診断可能!)しておけば、開発スピードを落とさずことなく必要なセキュリティ対策を継続できます。
VAddyのAdvancedプランであれば、IPA(情報処理推進機構)の「安全なウェブサイトの作り方」という公的なセキュリティ基準に沿った検査項目をカバーすることができ、より堅牢なセキュリティ対策が可能となります。
VAddyの導入にご興味があれば、個別相談会をご用意しています。お気軽にご相談ください。