GitHub Copilot 提案コードに含まれていた脆弱性調査結果一覧 | ScanNetSecurity
2024.04.26(金)

GitHub Copilot 提案コードに含まれていた脆弱性調査結果一覧

2022年8月、Blackhat USAで、GitHubのAIペアプログラマーであるCopilotは本当に安全なコードを生成してくれるのか? を検証した研究が発表された。発表者はニューヨーク大学のHammond Pearce氏とカルガリー大学のBenjamin Tan氏。

研修・セミナー・カンファレンス セミナー・イベント
ニューヨーク大学のHammond Pearce氏(左)とカルガリー大学のBenjamin Tan氏(右)
ニューヨーク大学のHammond Pearce氏(左)とカルガリー大学のBenjamin Tan氏(右) 全 7 枚 拡大写真

 2022 年 8 月、Blackhat USA 2022 で、GitHub の AIペアプログラマーである Copilot は本当に安全なコードを生成してくれるのかを検証した研究成果が発表された。発表者はニューヨーク大学の Hammond Pearce 氏とカルガリー大学の Benjamin Tan 氏。

■ AIペアプログラマー Copilot とは?

 ペアプログラミングとは、ひとつのコードを 2 人で開発する手法のことだ。通常、2 人は 1 台の PC を共有する。指示役とコーディング担当と別れて開発を行う。役割は入れ替わることも可能で、いわゆるピアレビューをお互いがしながら効率よくコーディングができるという考え方だ。GitHub が 2021 年に導入した「Copilot」は、AI エージェントがコーディング担当となり、人間プログラマーの指示やコメントに対して、サンプルやテンプレートとなるコードを出力(提案:プロンプトともいう)してくれる。

 Eclipse や VSCode といった開発環境(IDE)も入力した命令、関数、演算子に応じて次にくるであろう予約語や行、変数名などを補ってくれるが、Copilot は、「~をする関数」といったコメントを記述すれば関数やクラスのプロトタイプを提案してくれる点が異なる。より賢くなった入力補完機能ともいえる。

 Copilot は、OpenAI が開発している自然言語処理エンジン GPT3 をベースにしている。GitHub サービス上に展開される膨大なソースコードでチューンされており、入力シーケンスを補完するだけでなく、自然言語で書かれたコメントを解釈して、必要なコードブロックを生成・提案してくる。

■ AI が提案するコードに脆弱性が含まれていたら

 講演は「Stackoverflow(プログラミングに関する質問サイト)を参考にしたことのある人は手を挙げて」というアンケートから始まった。次に「そのコードをコピペしたことがある人」と畳みかける。だれもが経験のあることだが、プログラミングにおいて既存コードを参考にすることは普通で、むしろ賢いやり方でさえある。Copilot も同様に便利な機能であり、プログラマー、開発者の作業効率を大幅に改善してくれる。

 しかし「それは本当にベストなやり方だろうか」と、Pearce 氏は問いかける。

 Pearce 氏は Copilot がリリースされた直後、その機能を試していたという。Python の Flask フレームワークを使い、SQL でデータベースをたたくプログラムを生成させていたとき、あることに気づいた。SQL インジェクションの脆弱性がある、まるで徳丸本の解説に出てくるような典型的ダメダメコードが提案されたのだ。会場では、Copilot が SQL インジェクションを許すコードを提案してくる過程の動画が流された。


《中尾 真二( Shinji Nakao )》

関連記事

この記事の写真

/

特集

PageTop

アクセスランキング

  1. 今日もどこかで情報漏えい 第23回「2024年3月の情報漏えい」なめるなという決意 ここまでやるという矜恃

    今日もどこかで情報漏えい 第23回「2024年3月の情報漏えい」なめるなという決意 ここまでやるという矜恃

  2. 訃報:セキュリティの草分けロス・アンダーソン氏 死去 67 歳、何回分かの生涯に匹敵する業績

    訃報:セキュリティの草分けロス・アンダーソン氏 死去 67 歳、何回分かの生涯に匹敵する業績

  3. 社員のセキュリティ意欲高める施策とは? 罰則は逆効果 ~ プルーフポイント「2024 State of the Phish」日本語版公表

    社員のセキュリティ意欲高める施策とは? 罰則は逆効果 ~ プルーフポイント「2024 State of the Phish」日本語版公表

  4. LINEヤフー委託先への不正アクセス、報告書を受け 2 度目の行政指導

    LINEヤフー委託先への不正アクセス、報告書を受け 2 度目の行政指導

  5. スペシャリスト集結! マネーフォワード・ラック・富士ソフト・電通総研から学ぶ、脆弱性診断内製化の成功法則とは? AeyeScan 導入企業との公開対談

    スペシャリスト集結! マネーフォワード・ラック・富士ソフト・電通総研から学ぶ、脆弱性診断内製化の成功法則とは? AeyeScan 導入企業との公開対談PR

  6. タカラベルモントの海外向けウェブサイトのサーバがフィッシングメール送信の踏み台に

    タカラベルモントの海外向けウェブサイトのサーバがフィッシングメール送信の踏み台に

  7. 情報処理学会、高等学校情報科の全教科書の用語リスト公開

    情報処理学会、高等学校情報科の全教科書の用語リスト公開

  8. 国内カード発行会社のドメイン毎の DMARC 設定率 36.2%「キャッシュレスセキュリティレポート(2023年10-12月版)」公表

    国内カード発行会社のドメイン毎の DMARC 設定率 36.2%「キャッシュレスセキュリティレポート(2023年10-12月版)」公表

  9. Acompany で 4 件の Google フォーム誤設定、最大 164 名の個人情報が閲覧可能に

    Acompany で 4 件の Google フォーム誤設定、最大 164 名の個人情報が閲覧可能に

  10. LINE client for iOS にサーバ証明書の検証不備の脆弱性

    LINE client for iOS にサーバ証明書の検証不備の脆弱性

ランキングをもっと見る