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

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. 東芝テックが利用するクラウドサービスに不正アクセス、取引先や従業員の個人情報が閲覧された可能性

    東芝テックが利用するクラウドサービスに不正アクセス、取引先や従業員の個人情報が閲覧された可能性

  2. 東京高速道路のメールアカウントを不正利用、大量のメールを送信

    東京高速道路のメールアカウントを不正利用、大量のメールを送信

  3. バッファロー製無線 LAN ルータに複数の脆弱性

    バッファロー製無線 LAN ルータに複数の脆弱性

  4. 「引っかかるのは当たり前」が前提、フィッシングハンターが提案する対策のポイント ~ JPAAWG 6th General Meeting レポート

    「引っかかるのは当たり前」が前提、フィッシングハンターが提案する対策のポイント ~ JPAAWG 6th General Meeting レポート

  5. セキュリティ対策は株価を上げるのか ~ 株主総利回り(TSR)の平均値は高い傾向

    セキュリティ対策は株価を上げるのか ~ 株主総利回り(TSR)の平均値は高い傾向

  6. Windows DNS の脆弱性情報が公開

    Windows DNS の脆弱性情報が公開

  7. 転職先で営業活動に活用、プルデンシャル生命保険 元社員 顧客情報持ち出し

    転職先で営業活動に活用、プルデンシャル生命保険 元社員 顧客情報持ち出し

  8. フュートレックにランサムウェア攻撃、本番環境への侵入形跡は存在せず

    フュートレックにランサムウェア攻撃、本番環境への侵入形跡は存在せず

  9. インフォマート 公式 Facebook ページに不正ログイン

    インフォマート 公式 Facebook ページに不正ログイン

  10. 山田製作所にランサムウェア攻撃、「LockBit」が展開され複数のサーバのデータが暗号化

    山田製作所にランサムウェア攻撃、「LockBit」が展開され複数のサーバのデータが暗号化

ランキングをもっと見る