GitHub、「Copilot Autofix」一般提供–AIでコードの脆弱性を検出・説明して修正提案

今回は「GitHub、「Copilot Autofix」一般提供–AIでコードの脆弱性を検出・説明して修正提案」についてご紹介します。

関連ワード (ソフトウェア等) についても参考にしながら、ぜひ本記事について議論していってくださいね。

本記事は、ZDNet Japan様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。


 GitHubは米国時間 8月14日、「Copilot Autofix」の一般提供を「GitHub Advanced Security(GHAS)」で開始したと発表した。

 ソフトウェアは、以前に比べて短期間で出荷され、新しい機能が早期に数多くリリースされるようになった。安全なコードの開発に多くの努力が向けられても、脆弱(ぜいじゃく)性は本番環境に紛れ込み、侵害の主な理由となり続けているとGitHubは述べる。さらに、多くの開発者は、セキュリティ要件を理解と実装が困難なものと捉えており、優れたセキュリティ上の成果を得るのは容易でなく、さらなる脆弱性が野に放たれるという結果的になっているという。

 「コードスキャニングツールは、脆弱性を検出するが、根本的な問題を解決しない。修正にはセキュリティに関する専門知識と時間が必要で、2つの貴重なリソースが極めて不足している。言い換えれば、問題は脆弱性の検出ではなく、その修正にある」(同社)

 Copilot Autofixは、AIを活用し、コード内の脆弱(ぜいじゃく)性の分析、問題となる理由の説明、迅速な修正を支援するコードの提案を提供する。プルリクエストでコードから新たな脆弱性を排除するとともに、既存の脆弱性に対する修正も生成する。

 SQLインジェクションやクロスサイトスクリプティングといった数十種類にわたるコード脆弱性に対応しており、プルリクエスト内で却下、修正、コミットすることが可能。コードの提案には、「CodeQL」エンジン、「GPT-4o」、ヒューリスティックと「GitHub Copilot API」の組み合わせたものを使用する。CodeQL分析とフローバス周辺のコードの短い断片といったソースを基にすることで、大規模言語モデル(LLM)を使ったプロンプトを構築するという。

 3月にパブリックベータ版が公開されて以来、Copilot Autofixはプルリクエストで使われ、新しいコード内にある脆弱性が本番環境にマージされて顧客に影響を与える前に迅速な修正を支援してきた。5〜7月のデータから、検出から修正完了までの時間を大幅に短縮されていることが明らかになっている。

 Copilot Autofixを使った場合、プルリクエスト時アラートに対して修正を自動的にコミットするまでの時間は、中央値で28分だった。手動で対応した場合の1.5時間に比べて3倍早かった。同様に、クロスサイトスクリプティングの脆弱性では22分で、手動で対応した場合の約3時間に比べて7倍は早く、SQLインジェクションの脆弱性では18分で、手動で対応した場合の3.7時間に比べて12倍早かったという。

 GitHub Copilotは、コード作成を高速化するとともに修正のペースも上げるので、未処理となっている既存の脆弱性の解消を進めることができるGitHubは説明する。このような脆弱性はセキュリティ負債と知られている。

 既存の脆弱性についてCopilot Autofixを使用するには、GHASの「Code scanning」のアラートで「Generate fix」ボタンをクリックする。コードと脆弱性を評価し、レビュー用に説明とコードの提案を表示する。「Create PR with fix」ボタンを押すと、アラートを修正するために必要なコードの変更を含む新しいプルリクエストが作成される。優先的に対応しづらい低・中程度の深刻さを持つアラートであっても積年のセキュリティ負債が数クリックで解消できると同社はアピールする。

 オープンソースソフトウェアに対して責任ある利用者であるとともに貢献者でもあることは非常に重要だとGitHubは考える。そのため、9月から、プルリクエストでのCopilot Autofixの利用を全オープンソースプロジェクトに対して無料で可能にする。同社は、Code scanningや「Secret scanning」「プライベート脆弱性レポート」ツールなどをオープンソースメンテナーが無料で利用できるようにしてきた。

 ソフトウェアセキュリティの責任は開発者にあり続けるが、AIエージェントがその負荷軽減に役立つと同社。経験豊富なセキュリティ人材は不足しているが、Copilot Autofixを使うことで、セキュリティの専門知識を必要な時に活用することができるため、セキュリティはソフトウェア開発と同じ意味を持つようになるという。

COMMENTS


Recommended

TITLE
CATEGORY
DATE
Windows Serverで「Windows Subsystem for Linux 2」が利用可能に。6月のアップデートで
Linux
2022-06-01 18:49
オライリー調査で明らかに–Go、Rust、Ruby、Dartに関心高まる
IT関連
2021-04-11 13:04
リコー、国内グループ13社の経理業務システム基盤をOCIへ移行
IT関連
2022-12-02 09:34
GitHubの使い方を学ぶ「GitHub Skills」が無料公開。GitHubを実際に操作してMarkdown、Pages、Pull Requests、マージのコンフリクト解消などを体験
GitHub
2022-06-09 04:40
大分県庁とワークスモバイルジャパン、県内企業のDX化を推進する包括連携協定を締結
IT関連
2023-04-01 07:58
ランサムウェアの脅威を過大評価か、2021年5月の米企業へのサイバー攻撃に対する身代金を米司法省がほぼ回収
セキュリティ
2021-06-16 01:44
Zoom、オンラインイベントの開催を支援する「Zoom Events」を提供へ
IT関連
2021-05-20 21:20
NVIDIA、米国輸出規制に適合する中国向け半導体を提供開始
IT関連
2022-11-10 10:03
DenoがSlackの新しいプラットフォーム基盤に採用されたことを発表。SlackのBotなどはDenoベースでの開発に
Deno
2022-09-28 17:11
小学館、ライブ配信事業などを行うCandeeを100%子会社化–デジタル領域の強化図る
IT関連
2023-08-23 09:05
注目のPC展開手法「Windows Autopilot」の導入と注意点
IT関連
2022-06-15 10:03
エンジニアのキャリアデザインについて共に対応できることは?–SES分科会
IT関連
2022-12-02 01:28
iPS細胞による免疫細胞臨床応用に向けた研究を進める京都大学発サイアスが21.3億円調達、研究開発体制拡充・米国展開へ
IT関連
2022-03-04 11:35
リモート接続の用途拡大に対応–TeamViewerが事業戦略発表
IT関連
2022-03-19 08:23