ブログ

AIコーディングツールとセキュリティ意識の高い開発者が、いかにして安全に協力し合えるか

October 18, 2024
マティアス・マドゥ博士

AIが生成するコードには脆弱性や欠陥が多く含まれる可能性がありますが、セキュリティ意識の高い開発者が活用すれば、AIコーディングツールは依然として有用な助けとなります。

2023年は、人工知能の最新形態である生成AIが爆発的な人気を博し、大きな盛り上がりを見せました。しかし、この変革的な技術はまだ始まったばかりです。多くの専門家は、2024年にはさらなる飛躍を遂げると予測しています。

生成AIの能力が最初に示された例の一つが多言語でのコーディングであったことを考えれば、最近の調査で最大93%の開発チームがワークフローにAIツールを取り入れているという結果が出たのも不思議ではありません。しかし、AIが生成するコードには悪用可能な脆弱性が含まれることが多く、チームはその負の側面を最近になってようやく経験し始めています。

実際、現時点のAIコーディングツールには、脆弱なコードを確実に認識する能力はなく、新しいコードを生成する際にそうしたエラーを回避することも困難です。メリーランド大学、カリフォルニア大学バークレー校、Googleなどが実施した包括的な調査では、4つのグループに属する11種類のAIモデルを対象に、AIが生成したコード内の脆弱性を検出するタスクが課されました。しかし、誤検知率の高さと脆弱性検出精度の低さから、研究者らはAIがその役割を担う準備はまだできていないと結論付けました。さらに、安全なコードの例を大量に学習させる調整を行っても高い確率で失敗したことから、今後もその役割を果たすことは難しいかもしれません。

ケベック大学が実施した別の調査では、研究者がChatGPTに対し、さまざまな言語で21種類のプログラムやアプリケーションを生成するよう依頼しました。AIが作成したアプリケーションはすべて意図した通りに動作しましたが、サイバーセキュリティの観点から安全と言えるものはわずか5つでした。残りのアプリケーションには危険な脆弱性が含まれており、導入した組織が攻撃を受けるリスクがありました。

人間とAIのチームで、力を合わせよう!

AI開発を研究する人々にとって、私自身を含め、同様の結果を得た多くの研究結果は驚くべきことではありません。生成AIは大規模言語モデル(LLM)を活用して新しいコンテンツを作成しますが、これは基本的に、人間が蓄積してきた膨大な知識のデータベースです。AIはこれを素早く検索・解析して回答やコンテンツを生成します。問題は、この大規模言語モデルには、人間が作り出したあらゆるものの「良い面」と「悪い面」の両方が含まれていることです。

コードに関しても、その結果として多くの脆弱性や悪しき慣習が大規模言語モデルに取り込まれています。あらゆるOWASPの脆弱性が、何千もの他の脆弱性と同様に、モデルの中に潜んでいます。人間が過去にミスをして脆弱なアプリケーションをコーディングしたことがあれば、それがAIの学習データに含まれている可能性が高く、AIが複雑な新しいアプリケーションを生成する際にそれを利用してしまう可能性も十分にあります。

では、解決策は何でしょうか?AIコーディングがもたらすスピードの利点を享受しつつ、安全なコードを生成することは可能なのでしょうか?答えは「イエス」です。ただし、人間とAIがそれぞれの得意分野で協力し合う場合に限られます。

AIは驚異的な能力を持っていますが、文脈を真に理解しているわけではありません。例えば、オンラインストアのインフラ構築を依頼しても、AIはあなたが何を売ろうとしているのか、どの訪問者にどの商品を提示すべきか、あるいはバックエンドのサプライチェーンの複雑さを理解していません。ビジネス上の課題を解決するためのプログラムを書くという本来の目的を考慮したコード作成は、人間の開発者の方がはるかに適しています。特に経験豊富な開発者は、こうした問題解決に長けています。しかし、そんな優れたプログラマーであっても、複雑な実装の細部については確認が必要な場合があります。

例えば、最近のStack Overflow開発者調査では、回答者の63%が、構築中のアプリケーションやプログラムの実装方法を調べるために、毎日少なくとも30分以上を費やしていると回答しました。人間が創造的なプロセスから、より単純な作業や調査中心のプロセスへと切り替える「認知的スイッチング」は、本来生産的であるはずの時間を毎日大きく削っています。

そこでAIツールの出番です。人間の開発者がオンラインストアのような全体的なプログラムやアプリケーションの構築に取り組み、実装の特定の箇所で行き詰まったとき、AIツールが力を発揮します。例えば、製品データベースとサプライチェーンアプリケーションを接続するコードの作成は、AIツールを使えば非常に迅速に行えます。この作業には、プロジェクト全体の文脈や目的をAIが理解している必要はありません。また、コードの基礎的で重要な部分のみを任せるのであれば、脆弱性が混入するリスクも大幅に抑えられます。

信頼せよ、しかし検証せよ

人間の開発者とAIツールを組み合わせ、それぞれの強みを活かすことは、コーディングを加速させつつ、AIが生成するコードの脆弱性というリスクを抑えるための有効な戦略です。AIにコード作成の小さな要素を任せるのはリスクが低いですが、それでも脆弱性が現れる可能性はあります。

だからこそ、開発者がセキュリティトレーニングを受けることが不可欠なのです。人間がプロジェクト全体の文脈とセキュリティのベストプラクティスを理解していれば、AIに書かせたコードが正しいか、脆弱性やビジネスロジックの欠陥がないかを迅速に検証できます。AIが生成したコードの作成方法を自分で調べる必要がなく、人間はセキュリティの確認と修正に集中できるため、大幅な時間短縮につながります。

AIツールは非常に強力で、開発プロセスを大幅に加速させることができます。しかし、安全なコードを確実に書く能力はなく、最近の研究ではその目標を達成することは永遠に不可能かもしれないと示唆されています。それでも、スキルが高く、セキュリティ意識を持った開発者と組み合わせることで、ソフトウェア開発において非常に有用なツールとなり得ます。

タグライン

AI主導の開発をリリース前にガバナンスする

AIを活用したリスク測定、コミット時のセキュアコーディングポリシーの強制、そしてSDLC全体を通じたセキュアなデリバリーの加速を実現します。

デモを予約する
リソースライブラリ

他のブログ記事を見る

セキュアコーディング、AIガバナンス、ソフトウェアリスク管理に関する専門的なコンテンツをご覧ください。

すべて表示
導入事例
フィルターラベル
これはdivブロック内のテキストです。

Supercharged Security Awareness: How Tournaments are Inspiring Developers at Erste Group

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.

詳細はこちら
導入事例
フィルターラベル
これはdivブロック内のテキストです。

Security as culture: How Blue Prism cultivates world-class secure developers

Learn how Blue Prism, the global leader in intelligent automation for the enterprise, used Secure Code Warrior's agile learning platform to create a security-first culture with their developers, achieve their business goals, and ship secure code at speed

詳細はこちら
導入事例
フィルターラベル
これはdivブロック内のテキストです。

セキュリティ文化の統一:Sageはいかにしてチャンピオンプログラムを構築したか

Sageがどのようにして柔軟かつ関係性を重視したアプローチでセキュリティを強化し、200名以上のセキュリティチャンピオンを育成して、目に見えるリスク低減を実現したのかをご紹介します。

詳細はこちら
ブログ
フィルターラベル
これはdivブロック内のテキストです。

2026年サイバーセキュリティ意識向上月間:企業防衛に不可欠なAIセキュリティの理解

主要なAI企業の多くが、安全対策が追いつくまでの間、AI開発を世界的に減速させるよう公に呼びかける事態となっています。しかし現実には、深刻なセキュリティ問題はすでに顕在化しています。AI導入に伴う金銭的コストやリスクが増大し続ける中、多くのセキュリティリーダーや経営陣は差し迫った状況に追い込まれています。

詳細はこちら
ブログ
フィルターラベル
これはdivブロック内のテキストです。

イネーブラー8:プログラムのブランディング

セキュアコーディングプログラムを成功させるには、優れたコンテンツ以上のものが必要です。イネーブラー8では、ブランディングによって参加を「憧れのステータスを得る体験」へと変える方法を解説します。

詳細はこちら
ブログ
フィルターラベル
これはdivブロック内のテキストです。

すべての従業員が今、AIサイバーセキュリティの最前線に立っている

エンタープライズテクノロジーの状況は、手遅れになるまで誰も予測できなかったほどの速さで変化しています。私たちは今、人間が書いたコードと基本的なコパイロット支援の時代から、エージェント型開発ライフサイクル(ADLC)の時代へと正式に足を踏み入れました。自律型AIエージェントは、複数の機能にわたってかつてない効率性をもたらす一方で、全く新しい種類のセキュリティリスクや規制リスクも引き起こしています。

詳細はこちら

AIを活用した開発をリリース前にセキュアに

開発者のリスクを可視化し、ポリシーを適用することで、ソフトウェア開発ライフサイクル全体における脆弱性を未然に防ぎます。

デモを予約する
該当する項目が見つかりません。