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

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

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

研修・セミナー・カンファレンス
ニューヨーク大学のHammond Pearce氏(左)とカルガリー大学のBenjamin Tan氏(右)
  • ニューヨーク大学のHammond Pearce氏(左)とカルガリー大学のBenjamin Tan氏(右)
  • みんな大好き「Stackoverflow」
  • 典型的なやらかし:これが調査の発端
  • Blachat USA 2022:GitHub Copilotは安全か
  • Copilotの検証環境
  • 変数協会を越えて書き込みが発生
  • ハッシュ処理にMD5を利用

 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 )》

編集部おすすめの記事

特集

研修・セミナー・カンファレンス アクセスランキング

  1. ハッカーの OSINT 活用法 ~ 日本ハッカー協会 杉浦氏講演

    ハッカーの OSINT 活用法 ~ 日本ハッカー協会 杉浦氏講演

  2. FFRI 鵜飼裕司の Black Hat USA 2018 注目 Briefings(1)日本はグローバルセキュリティ業界のインナーサークルにいない

    FFRI 鵜飼裕司の Black Hat USA 2018 注目 Briefings(1)日本はグローバルセキュリティ業界のインナーサークルにいない

  3. 総務省 SBOM 対応ノスゝメ

    総務省 SBOM 対応ノスゝメ

  4. 企業のネットワーク管理者必見!Internet Week 2017 セキュリティセッション紹介 第1回「インシデント対応ハンズオン2017」について語る

  5. 自動車サイバーセキュリティコンテスト「Automotive CTF Japan」新たに開催

  6. 安価で導入しやすい AWS や Azure の WAF、その一方でユーザーが抱える運用課題とは? ~ サイバーセキュリティクラウド

アクセスランキングをもっと見る

「経理」「営業」「企画」「プログラミング」「デザイン」と並ぶ、事業で成功するためのビジネスセンスが「セキュリティ」
「経理」「営業」「企画」「プログラミング」「デザイン」と並ぶ、事業で成功するためのビジネスセンスが「セキュリティ」

ページ右上「ユーザー登録」から会員登録すれば会員限定記事を閲覧できます。毎週月曜の朝、先週一週間のセキュリティ動向を総括しふりかえるメルマガをお届け。(写真:ScanNetSecurity 名誉編集長 りく)

×