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

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. ゆめタウン運営イズミへのランサムウェア攻撃、VPN 装置から侵入

    ゆめタウン運営イズミへのランサムウェア攻撃、VPN 装置から侵入

  2. 範を示す ~ MITRE がサイバー攻撃被害公表

    範を示す ~ MITRE がサイバー攻撃被害公表

  3. 東急のネットワークに不正アクセス、連結子会社のファイルサーバでデータ読み出される

    東急のネットワークに不正アクセス、連結子会社のファイルサーバでデータ読み出される

  4. 検診車で実施した胸部レントゲン検診が対象、川口市の集団検診業務委託先へランサムウェア攻撃

    検診車で実施した胸部レントゲン検診が対象、川口市の集団検診業務委託先へランサムウェア攻撃

  5. 認証とID管理にガバナンスを ~ NTTデータ先端技術「VANADIS」で実現する「IGA(Identity Governance and Administration)」とは

    認証とID管理にガバナンスを ~ NTTデータ先端技術「VANADIS」で実現する「IGA(Identity Governance and Administration)」とはPR

  6. 脆弱性管理クラウド「yamory」SBOM 機能に関する特許取得

    脆弱性管理クラウド「yamory」SBOM 機能に関する特許取得

  7. 個人情報漏えいの疑いも ~ 八尾市立斎場職員が加重収賄罪ほかの容疑で逮捕

    個人情報漏えいの疑いも ~ 八尾市立斎場職員が加重収賄罪ほかの容疑で逮捕

  8. NRIセキュア 研修コンテンツ「セキュアEggs」基礎編オンデマンド提供、30日間アクセス可

    NRIセキュア 研修コンテンツ「セキュアEggs」基礎編オンデマンド提供、30日間アクセス可

  9. DHCP のオプション 121 を利用した VPN のカプセル化回避の問題、VPN を使用していない状態に

    DHCP のオプション 121 を利用した VPN のカプセル化回避の問題、VPN を使用していない状態に

  10. runc におけるコンテナ内部からホスト OS への侵害が可能となるファイルディスクリプタ情報漏えいの脆弱性(Scan Tech Report)

    runc におけるコンテナ内部からホスト OS への侵害が可能となるファイルディスクリプタ情報漏えいの脆弱性(Scan Tech Report)

ランキングをもっと見る