AI生成コードの5つの安全原則
動くコード=安全ではない AIコーディング爆速化でセキュリティ崩壊を防ぐ鉄則5選
AIコーディングエージェントを使えばコード生成は効率化できるものの、生成されたコードは必ずしも安全とは限らない。IBMは、AI支援開発におけるセキュリティ対策として5つの原則を解説する。
生成AIを使えば、コードやテスト、AIエージェント、ワークフローを短時間で生成できる。一方、従来の人手による開発を前提としたセキュリティ対策をそのまま適用すると、AIによる開発速度に追い付けない可能性がある。
IBMのディスティングイッシュトエンジニア、ジェフ・クルム氏は、設計や開発の初期段階に前倒ししてセキュリティを確保する「シフトレフト」の考え方を基に、AI支援開発で押さえるべき5つのセキュリティ原則を解説した。同氏によると、AI時代のシフトレフトでは、単にセキュリティツールを早い工程で実行するだけでは不十分だ。何を、いつ、どのように検証し、AIが生成した成果物への信頼性をどう確保するかまで設計する必要がある。
原則1.AIが生成したコードをそのまま信頼しない
AIが生成したコードには厄介な特徴がある。一見すると正しく動作しているように見えることだ。
コンパイルに成功し、テストを通過したとしても、それだけで安全とは限らない。例えば、AIが顧客情報をデータベースから取得するサービスを生成し、期待通りに動作していたとしても、そのサービスが顧客データ全体にアクセスできる設計になっていれば、過剰な権限を持つ可能性がある。
クルム氏は、AIが生成したコードについて、生成されたこと自体ではなく「結果を信頼できるかどうか」を確認することが重要だと述べる。
クルム氏によると、確認すべきなのは「コードが期待通りの結果を返すか」だけではない。過剰な権限が付与されていないか、機密情報が外部へ流出する可能性はないか、認証に失敗した場合に安全な状態へ移行できるかといった点も検証する必要がある。
クルム氏は、技術的に正常に動いているように見えても、それが安全なシステムであることを意味するわけではないと指摘する。実際の利用環境でも期待した処理をし、かつ安全に振る舞うかどうかまで確認する必要があるという。
原則2.セキュリティ確認を開発の最後に回さない
従来、セキュリティレビューを開発工程の終盤に実施する組織もあった。例えば、実装やテストを終え、コードの変更内容をバージョン管理システムに記録した後でセキュリティレビューを実施する、といった進め方だ。しかしクルム氏によると、AIが数秒でコードを生成する環境では、開発の最後にまとめてセキュリティ確認を実施する方法がボトルネックになりやすい。
クルム氏は、従来のようにセキュリティレビューを開発の最後のチェック項目として扱う方法は、AI支援開発ではさらに機能しにくくなると説明する。問題を早い段階で発見するほど、修正に必要なコストも抑えやすいためだ。
そこで重要になるのが「シフトレフト」だ。セキュリティ確認を開発工程の前段階へ移し、コードを作成している途中から継続して検証する。
具体的には、静的コード解析、ペネトレーションテスト、コードに埋め込まれたシークレットの検出、ポリシーやコンプライアンスの確認などだ。これらをコード生成後にまとめて実施するのではなく、開発プロセスそのものに組み込むことが重要だとクルム氏は強調する。
AIによってコード生成を高速化するのであれば、それに合わせてセキュリティ検証も開発フローの中で実施できる体制が必要になる。
原則3.生成コードだけでなく「依存先」も調べる
AIが生成するのはソースコードだけではない。新しいパッケージやライブラリ、外部サービス、システム連携などを利用するコードを生成する場合もある。
開発者がAIの生成したソースコードだけをレビューすると、その裏側で追加された依存関係を見落とす可能性がある。クルム氏は、AIはコードと同時にさまざまな依存関係も持ち込むと指摘する。新しい依存関係は機能を増やす一方で、それぞれが新たなリスクにもなり得る。
そのため、AIが追加した依存関係についても、生成コードと同じ水準で確認する必要がある。
クルム氏は、確認項目としてパッケージの信頼性、既知の脆弱(ぜいじゃく)性、ライセンス、ソースの完全性、組織内の標準への適合状況などを挙げる。AI支援開発では、依存関係の検証も安全なコード生成の一部として扱う必要があるという。
AIコーディングツールを全社展開する場合、情シスやセキュリティ担当者は「どのAIツールを利用できるか」だけでなく、AIが生成コード内でどの外部ライブラリやサービスを利用してよいのかというルールも検討する必要がある。
原則4.コードではなく「要求が正しいか」も確認する
セキュリティに関する問題は、プログラムの書き方だけに起因しているわけではない。そもそもの要求や前提が間違っている場合もある。
例えば「誰がデータにアクセスできるのか」「どの操作まで許可するのか」「どの情報を保護する必要があるのか」といった条件が曖昧なままAIにコードを生成させれば、技術的には正しくても、企業のセキュリティポリシーに反するシステムができる可能性がある。
クルム氏は、深刻なセキュリティ問題の中には、コーディングの品質ではなく「誤った前提」によって生じるものもあると指摘する。例えば財務データを正しく処理するワークフローをAIが生成しても、本来は閲覧できない利用者にデータを公開する設計なら、安全とは言えない。
この場合、問題はコードの実装方法というより、AIに何を実現させようとしたのかという「意図」にある。クルム氏は、AIが高度なコードを高速に生成できるようになるほど、開発者には生成結果を検証する責任が増すと説明する。確認対象はコード品質だけではなく、AIが「正しい問題を、正しい方法で解決したかどうか」にまで広がるという。
原則5.リリース後も継続して検証する
セキュリティ確認はリリース時に終わるものではない。
AI支援開発ではコードや構成の変更が継続的に発生する。そのためセキュリティ検証も、「開発→テスト→デプロイ→監視→改善」という一連の工程で継続して実施する必要がある。
クルム氏は、AI支援開発が継続的に変化を生み出す以上、セキュリティ検証も継続的に実施しなければならないと強調する。リリース後も含め、開発ライフサイクル全体で安全性を確保する必要があるという。
具体的には、脆弱性の検出、依存関係の監視とパッチ適用、ポリシーの検証と適用、変更内容の確認などが対象になる。
クルム氏は、一度セキュリティチェックに合格したかどうかではなく、その後も安全な状態を維持できているかが重要だと説明する。ソフトウェアが変化し続ける以上、セキュリティもそれに合わせて変化する「継続的な活動」にする必要があるという。
AIエージェント時代は「コード単体」の確認では足りない
この問題は、AIエージェントの活用が進むほど複雑になる。
AIエージェントは複数のサービスやコードリポジトリ、開発パイプライン、設定をまたぎ、複数工程の処理を実行する。その場合、個々のファイルだけをレビューしても、システム全体の安全性を把握できない可能性がある。
クルム氏は、AIがよりエージェント的に動作するようになれば、個々のファイルを見るだけでは十分ではなく、ワークフロー全体を理解する必要があると指摘する。セキュリティ上の難しい問題は、単一の関数の中ではなく、複数のシステムを接続した結果として生じる場合があるためだ。
その対策としてクルム氏は、AIエージェントが何を実行してよいのかを定めるガードレール、実行主体を追跡するためのID、操作可能な範囲を制限するアクセス制御、監視、人による確認を挙げる。
適切な監督や制御がなければ、AIエージェントは生産性を高める手段ではなく、リスクを増幅させる存在になり得るとクルム氏は警告する。
生成AIによって開発できるコードの量が増えれば、機能だけでなくシステムの複雑性も増す。そこでクルム氏は、セキュリティ対策をリリース直前の確認作業や、コンプライアンス対応のための形式的なチェックとして位置付けるのではなく、日常の開発ワークフローに継続的な検証として組み込む必要があると説明する。
クルム氏の説明からは、情報システム部門や開発部門に求められるのは、AI生成コードを最後にまとめてレビューする体制ではないことが分かる。AIがコードを生成する速度に合わせて、要求定義や設計の段階からリリース後まで、安全性を継続的に確認できる仕組みを開発プロセスそのものに組み込むことだ。
本稿は、IBM Technologyが2026年9月14日に公開したHow Developers Secure AI-Generated Code:5 Security Best Practicesを基に作成しました。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
新着ホワイトペーパー PR
-
製品資料
[ゾーホージャパン株式会社] サイバー攻撃からネットワークを守る上で確実に押さえておきたいポイントとは? -
事例
[アルプス システム インテグレーション株式会社] 中小企業でも安心して活用できる「手ごろなSOCサービス」とは? -
製品資料
[株式会社シーイーシー] 脱VMwareに成功した企業は何をどう実践した? 事例に学ぶ戦略立案&実装のコツ -
製品資料
[株式会社オービックビジネスコンサルタント] ランサムウェア攻撃を“二重の防御構造”で防ぐ、クラウド型基幹システムの実力 -
製品資料
[株式会社オービックビジネスコンサルタント] 動画で知るランサムウェア被害企業のリアル、会計データが無事だった理由とは
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
損保ジャパンはなぜ「COBOL」を捨てなかったのか? 脱メインフレームの真相
-
2
鹿島建設のDXを阻む「10年前のAWS」 安全性と自由度を両立したモダナイズ
-
3
なぜ「全社配布Copilot」は使われないのか? 失敗に学ぶAI定着
-
4
慶應義塾が「Notion」を選んだ理由 AI導入の盲点になる“情報のサイロ化”
-
5
「ノートPC派」は損をしている? Dellと考える“自作PC”のメリット
-
6
IT製品の導入に関するアンケート「PC&デバイス」編
-
7
LINEヤフーはなぜ「社内の管理者」すら信用しないインフラを作ったのか
-
8
「AI活用を前提とした業務PCへの移行」に関するアンケート
-
9
「0.3秒のスピード顔認証」の入退室管理が社員に好評 事例に学ぶオフィス改革
-
10
エンジニアの生産性はどう測る? マネジメントに不可欠な可視化の実現方法とは
ホワイトペーパーランキング PR
-
1
不審メールの経路や見せ方に変化? 2026年夏の3事例から見えた動向と対処方法
-
2
DX/AI投資の壁を突破、現代の最高財務責任者が直面する課題と克服のヒント
-
3
「オンプレミス回帰」せざるを得ない“合理的な理由”
-
4
LLMが兵器化? 元FBI高官が鳴らす警鐘とセキュリティツール統合のポイント
-
5
システムの保守がモダン化を阻む? 「変えない判断」から脱却する方法とは
-
6
生成AIを開発に導入しても効果が見えない? 実証実験で分かった成果と課題
-
7
経産省DX指針から読み解く、受発注業務デジタル化ロードマップ
-
8
“あのファイル転送”で暗躍するノーウェアランサム
-
9
Microsoft 365を安全に運用 うっかりミスやサイバー攻撃に備えるデータ保護術
-
10
HDDを使わない「SSDオンリー」が無謀なのはなぜ?
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー