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
HarvestXがイチゴの完全自動栽培ロボットシステムの研究開発施設「HarvestX Lab」開設
ロボティクス
2021-06-22 16:02
銀河英雄伝説で考えるセキュリティ–帝国と同盟のゲートウェイ「イゼルローン」の存在
IT関連
2024-03-30 06:29
クラウドの選択、マルチクラウドへの対応–業界による違いを探る
IT関連
2022-03-29 13:59
Publickeyが関連記事の動的生成をPHPとJavaScriptとMovableTypeで実装した方法とは?
編集後記
2023-09-01 10:02
佐野学園、人事総務の業務改革で申請処理を大幅削減
IT関連
2021-06-03 12:33
「高まるデジタルへの期待にテクノロジーで応える」–デル国際市場担当社長が会見
IT関連
2022-10-14 08:03
電動キックスクーターシェアのLimeがアプリ不要の乗車機能を展開、予約料金も撤廃
モビリティ
2021-03-26 11:08
マイクロソフト、NuanceのAIを備えたデジタルコンタクトセンターを発表
IT関連
2022-07-21 15:24
NEC、イノベーション共創の新拠点着工–R&Dから事業化まで一気通貫で実現
IT関連
2023-06-04 09:52
日立とニッセイ情報、ブロックチェーンによるデータ連携システムを共同検証
IT関連
2022-12-22 15:15
グーグルが7インチディスプレイの新型Nest Hub発表、Soliレーダーが睡眠トラッキング用途で復活
ハードウェア
2021-03-18 19:05
コニカミノルタ、自治体業務をデジタル化する「Govchois」開発–ものづくりの知見を活用
IT関連
2021-05-20 00:24
情報電子化の次のステップ、「企業情報DX」を推進–オープンテキスト・反町社長
IT関連
2023-01-13 06:22
Alphabet決算、グーグルのクラウド事業が46%増収–収益の柱の広告も好調
IT関連
2021-04-28 20:25