ディープダイブAIコーディングアシスタントが生み出す脆弱性をナビゲートする

2023年12月11日発行
by Laura Verheyde
ケーススタディ

ディープダイブAIコーディングアシスタントが生み出す脆弱性をナビゲートする

2023年12月11日発行
by Laura Verheyde
リソースを見る
リソースを見る

どこを見渡しても、ほとんどすべての分野でAIテクノロジーへの注目が集まっている。ソフトウェア開発における迅速な機能作成への回答として称賛されることもあるが、スピードの向上には代償が伴う。ツール自体のコンテキスト認識の欠如や、生産性を高め、困難な開発シナリオへの回答を生成するためにAIに依存する開発者の低レベルのセキュリティ・スキルのおかげで、コードベースに深刻なセキュリティ・バグが混入する可能性があるのだ。 

ラージ・ランゲージ・モデル(LLM)技術は、支援ツールの劇的な変化を象徴しており、安全に使用されれば、多くのソフトウェア・エンジニアが切望するペア・プログラミングの仲間になる可能性がある。しかし、AI開発ツールの野放図な使用は有害な影響を及ぼす可能性があることはすぐに立証されており、スタンフォード大学のある2023年の研究では、AIアシスタントに依存すると、出力が安全であるという確信が高まるだけでなく、全体的にバグが多く、より安全でないコードになる可能性が高いことが明らかになった。

LLM技術を完璧なものにするための競争が進むにつれて、ツールは改善され続けると考えるのは妥当だが、バイデン政権による新しい大統領令やEUによる人工知能法などの勧告の数々は、いずれにせよ、その使用を厄介な道にしている。開発者は、AIツールの出力に関するコードレベルのセキュリティ・スキル、認識、批判的思考を磨くことで、先手を打つことができ、ひいては、より高い水準のエンジニアになることができる。

AIコーディングアシスタントはどのように脆弱性を導入するのか? 私たちの新しいパブリックミッションをプレイして自分の目で確かめてください!

例ChatterGPT' におけるクロスサイトスクリプティング (XSS)

私たちの新しい公開ミッションは、人気のあるLLMのおなじみのインターフェイスを明らかにし、2023年11月下旬に生成された実際のコード・スニペットを利用しています。ユーザーはこのスニペットを解釈し、意図した目的に使用された場合の潜在的なセキュリティの落とし穴を調査することができる。

pのHTML要素の内容を変更するJavaScript関数を書けますか?その関数を介して内容が渡されます」というプロンプトに基づき、AIアシスタントは忠実にコードブロックを作成するが、すべては見かけ通りではない。

チャレンジはもうお済みですか?もしまだなら、先を読む前に今すぐ挑戦してみよう。

......さて、これで完成したわけだが、問題のコードはクロスサイト・スクリプティング(XSS)に対して脆弱であることがわかるだろう。 

XSSは、ウェブブラウザのコア機能を操作することで可能になります。信頼できない入力がページの出力としてレンダリングされ、実行可能で安全なコードと誤って解釈されることで発生します。攻撃者は、悪意のあるスニペット(HTMLタグ、JavaScriptなど)を入力パラメータの中に置くことができ、それがブラウザに戻されると、データとして表示される代わりに実行されます。

ソフトウェア開発におけるAIコーディングアシスタントの安全な利用

現役の開発チームを対象とした最近の調査では、ほぼ全員(96%)がワークフローでAIアシスタントを使い始めており、80%がセキュリティ・ポリシーを回避してまでAIアシスタントをツールキットに組み込んでいることが明らかになった。さらに、半数以上が、ジェネレーティブAIツールは一般的に安全でないコードを作成することを認めているが、これは明らかに採用を遅らせない。

この新しい時代のソフトウェア開発プロセスでは、これらのツールの使用を抑制したり禁止したりすることは、うまくいきそうにない。その代わりに、組織は、セキュリティやコード品質を犠牲にすることなく、開発チームが効率性と生産性の向上を活用できるようにしなければならない。そのためには、セキュアコーディングのベストプラクティスに関する精密なトレーニングを行い、クリティカルシンキングのスキルを伸ばす機会を提供し、特にAIアシスタントが出力するコードの潜在的な脅威を評価する際には、セキュリティ第一の考え方で行動できるようにする必要がある。 

さらに読む

XSS全般については、包括的なガイドをご覧ください。

安全なコードの書き方やリスクの軽減についてもっと知りたいですか?XSSインジェクション・チャレンジを無料でお試しください。

コーディングガイドラインをもっと無料で入手したい場合は、セキュアコーディングのベストプラクティスを常に把握するのに役立つSecure Code Coachをチェックしてください。

もっと知りたいですか?最新のホワイトペーパーをダウンロードしてください。
リソースを見る
リソースを見る

ミッションChatterGPT' におけるクロスサイトスクリプティング (XSS)

AIコーディングアシスタントはどのように脆弱性を導入するのか?私たちの新しい公開ミッションをプレイして、あなた自身の目で確かめてください!このミッションでは、2023年11月下旬に生成された実際のコード・スニペットを使用して、人気のあるLLMの使い慣れたインターフェースを明らかにします。ユーザーはこのスニペットを解釈し、意図された目的に使用された場合の潜在的なセキュリティの落とし穴を調査することができます。

ミッションに挑戦
著者

ローラ・ベルヘイデ

Laura Verheyde はSecure Code Warrior のソフトウェア開発者で、脆弱性のリサーチとMissions および Coding labs のコンテンツ作成に注力している。

もっと知りたい?

セキュアコーディングに関する最新の知見をブログでご紹介しています。

当社の豊富なリソースライブラリは、安全なコーディングアップスキルに対する人間的なアプローチを強化することを目的としています。

ブログを見る
もっと知りたい?

開発者主導のセキュリティに関する最新の研究成果を入手する

ホワイトペーパーからウェビナーまで、開発者主導のセキュアコーディングを始めるために役立つリソースが満載のリソースライブラリです。今すぐご覧ください。

リソース・ハブ

ディープダイブAIコーディングアシスタントが生み出す脆弱性をナビゲートする

2023年12月11日発行
Laura Verheyde 著

どこを見渡しても、ほとんどすべての分野でAIテクノロジーへの注目が集まっている。ソフトウェア開発における迅速な機能作成への回答として称賛されることもあるが、スピードの向上には代償が伴う。ツール自体のコンテキスト認識の欠如や、生産性を高め、困難な開発シナリオへの回答を生成するためにAIに依存する開発者の低レベルのセキュリティ・スキルのおかげで、コードベースに深刻なセキュリティ・バグが混入する可能性があるのだ。 

ラージ・ランゲージ・モデル(LLM)技術は、支援ツールの劇的な変化を象徴しており、安全に使用されれば、多くのソフトウェア・エンジニアが切望するペア・プログラミングの仲間になる可能性がある。しかし、AI開発ツールの野放図な使用は有害な影響を及ぼす可能性があることはすぐに立証されており、スタンフォード大学のある2023年の研究では、AIアシスタントに依存すると、出力が安全であるという確信が高まるだけでなく、全体的にバグが多く、より安全でないコードになる可能性が高いことが明らかになった。

LLM技術を完璧なものにするための競争が進むにつれて、ツールは改善され続けると考えるのは妥当だが、バイデン政権による新しい大統領令やEUによる人工知能法などの勧告の数々は、いずれにせよ、その使用を厄介な道にしている。開発者は、AIツールの出力に関するコードレベルのセキュリティ・スキル、認識、批判的思考を磨くことで、先手を打つことができ、ひいては、より高い水準のエンジニアになることができる。

AIコーディングアシスタントはどのように脆弱性を導入するのか? 私たちの新しいパブリックミッションをプレイして自分の目で確かめてください!

例ChatterGPT' におけるクロスサイトスクリプティング (XSS)

私たちの新しい公開ミッションは、人気のあるLLMのおなじみのインターフェイスを明らかにし、2023年11月下旬に生成された実際のコード・スニペットを利用しています。ユーザーはこのスニペットを解釈し、意図した目的に使用された場合の潜在的なセキュリティの落とし穴を調査することができる。

pのHTML要素の内容を変更するJavaScript関数を書けますか?その関数を介して内容が渡されます」というプロンプトに基づき、AIアシスタントは忠実にコードブロックを作成するが、すべては見かけ通りではない。

チャレンジはもうお済みですか?もしまだなら、先を読む前に今すぐ挑戦してみよう。

......さて、これで完成したわけだが、問題のコードはクロスサイト・スクリプティング(XSS)に対して脆弱であることがわかるだろう。 

XSSは、ウェブブラウザのコア機能を操作することで可能になります。信頼できない入力がページの出力としてレンダリングされ、実行可能で安全なコードと誤って解釈されることで発生します。攻撃者は、悪意のあるスニペット(HTMLタグ、JavaScriptなど)を入力パラメータの中に置くことができ、それがブラウザに戻されると、データとして表示される代わりに実行されます。

ソフトウェア開発におけるAIコーディングアシスタントの安全な利用

現役の開発チームを対象とした最近の調査では、ほぼ全員(96%)がワークフローでAIアシスタントを使い始めており、80%がセキュリティ・ポリシーを回避してまでAIアシスタントをツールキットに組み込んでいることが明らかになった。さらに、半数以上が、ジェネレーティブAIツールは一般的に安全でないコードを作成することを認めているが、これは明らかに採用を遅らせない。

この新しい時代のソフトウェア開発プロセスでは、これらのツールの使用を抑制したり禁止したりすることは、うまくいきそうにない。その代わりに、組織は、セキュリティやコード品質を犠牲にすることなく、開発チームが効率性と生産性の向上を活用できるようにしなければならない。そのためには、セキュアコーディングのベストプラクティスに関する精密なトレーニングを行い、クリティカルシンキングのスキルを伸ばす機会を提供し、特にAIアシスタントが出力するコードの潜在的な脅威を評価する際には、セキュリティ第一の考え方で行動できるようにする必要がある。 

さらに読む

XSS全般については、包括的なガイドをご覧ください。

安全なコードの書き方やリスクの軽減についてもっと知りたいですか?XSSインジェクション・チャレンジを無料でお試しください。

コーディングガイドラインをもっと無料で入手したい場合は、セキュアコーディングのベストプラクティスを常に把握するのに役立つSecure Code Coachをチェックしてください。

もっと知りたいですか?最新のホワイトペーパーをダウンロードしてください。

弊社製品や関連するセキュアコーディングのトピックに関する情報をお送りする許可をお願いします。当社は、お客様の個人情報を細心の注意を払って取り扱い、マーケティング目的で他社に販売することは決してありません。

送信
フォームを送信するには、「Analytics」のCookieを有効にしてください。完了したら、再度無効にしてください。