検索
特集/連載

なぜ「コード生成AI」を信じてはいけない? 便利さに潜む“5つのリスク”AI時代の安全なコーディングとは【前編】

AIコーディングツールの導入により、開発現場の生産性は飛躍的に向上している。一方で、見過ごせないセキュリティリスクも浮かび上がっている。AIによるコード生成に潜む代表的なリスクを5つ解説する。

Share
Tweet
LINE
Hatena

 GitHubの「GitHub Copilot」やAmazon Web Services(AWS)の「Amazon Q Developer」といった、人工知能(AI)技術を活用したコーディング支援ツール(以下、AIコーディングツール)の登場により、開発現場の生産性は大幅に向上している。

 一方、AIコーディングツールの導入が進む中で、「生成したソースコードに脆弱(ぜいじゃく)性が含まれるのではないか」「セキュリティの可視性や統制をどう保つべきか」といった懸念が浮上している。

 本稿は、AIコーディングツールを使用する上でのセキュリティリスクについて整理し、脆弱性の混入を防ぐための対策を解説する。

「コード生成AI」を信じてはいけない5つの理由とは?

 AIコーディングツールが担う役割は、ソースコードの自動生成や、複雑なアルゴリズムの提案、馴染みのないコードベース(ソースコード群)の解説まで幅広く、開発者の生産性を飛躍的に向上させている。

 2025年2月には、AIベンダーOpenAIの創設メンバーで元リサーチサイエンティストのアンドレイ・カルパシー氏が「バイブコーディング」(vibe coding)について言及。「その場の雰囲気(vibe)に身を任せ、ソースコードの存在を意識せずに開発を進める新しい手法が現実になりつつある」と指摘した。

 一方でこうした発言に対し、セキュリティ専門家からは懸念の声も上がっている。AIコーディングツールの普及は、セキュリティ対策が未熟なソフトウェアの増加を引き起こす可能性があるからだ。

 特に懸念されるリスクとして、以下の5点が挙げられる。

1.パブリックドメイン由来のソースコードの学習

 AIモデルの学習に使用するコードベースには、インターネット上で公開されているソースコードが含まれる。その中には脆弱性が指摘されているものも少なくない。適切なガードレール(安全策)を設けないと、AIツールが脆弱なソースコードをそのまま再現してしまう恐れがある。政策研究機関CSETが2024年11月に発表したレポートによれば、生成AIが提案したソースコードのうち、少なくとも48%に何かしらの脆弱性が含まれていたという。

2.セキュリティ要件を考慮しないソースコード生成

 AIツールは「安全なソースコードとは何か」を理解しているわけではない。あくまで学習データのパターンに沿ったものを正しいと判断して出力しているため、結果としてセキュリティ対策に欠けたソースコードが生成されることがある。これは、開発者が掲示板からコピー&ペーストしたソースコードをそのまま使うような行為に近い。

 開発者がプロンプト(AIモデルへの指示文)でセキュリティ要件を明示していない場合、最も基本的なセキュリティ制御すら欠けたソースコードが出力される可能性もある。

3.脆弱な依存関係の混入

 AIコーディングツールは、脆弱性を含むライブラリや、既に非推奨となっている依存関係を取り込んでしまうことがある。これを見逃すと、サプライチェーン全体に影響を及ぼす深刻なリスクとなりかねない。

4.「AIが生成したソースコード」への過信

 開発者がAIコーディングツールを過信してしまうのもリスクの一つだ。セキュリティベンダーSnykの調査によると、約8割の開発者および実務者が「AIツールが生成したソースコードの方が、人間が書いたソースコードよりも安全だ」と考えているという。これは極めて危険な兆候だと言える。

 出力されたソースコードの品質は、大規模言語モデル(LLM)の学習データとプロンプトに依存する。LLMにはナレッジカットオフ(情報の最終更新日)が存在するため、最新の脆弱性パターンや攻撃手法を認識していない可能性がある。

5.他社の知的財産(IP)やコードベースの不正使用

 AIコーディングツールは、知的財産(IP)やデータプライバシーの観点でリスクをはらむ。例えば、ライセンス付きのオープンソースコードを、適切なライセンス表示や条件の順守なしに利用することで、知的財産権の侵害が発生する可能性がある。一部のツールは、こうしたソースコードの再利用を防ぐためのフィルター機能を搭載しているが、著作権のあるソースコードが誤って提示されるリスクを完全に排除することはできない。

 開発者がAIツールに対して自社の機密情報や独自アルゴリズムを入力した場合も、それらがツール側に記録され、将来的にAIモデルの再学習に使われることで、情報漏えいのリスクが生じる。

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る