要点
GitHubはDependabotアラートをCopilot、Claude、CodexなどのAIコーディングエージェントに割り当てて脆弱性を分析し、修正案を含むドラフトプルリクエストを自動生成できる新機能を発表した。
タイトル: DependabotアラートをAIエージェントに割り当てて修正できるようになりました
一部の依存関係の脆弱性は、バージョンアップだけでは不十分で、プロジェクト全体にわたるコード変更が必要です。DependabotアラートをCopilot、Claude、CodexなどのAIコーディングエージェントに割り当て、脆弱性を分析させ、修正案を含むドラフトのプルリクエストを作成できるようになりました。
仕組み
Dependabotアラートの詳細ページから「Assign to Agent」を選択し、Copilot、Claude、Codexなどの希望するコーディングエージェントを選択します。割り当てられたエージェントは以下の処理を実行します:
- アラートを分析します。これにはアドバイザリの詳細と、リポジトリにおける依存関係の使用状況が含まれます。
- 提案された修正を含むドラフトのプルリクエストを作成します。
- 更新によって発生したテストの失敗を解決しようと試みます。
同じアラートに複数のエージェントを割り当てることができます。各エージェントは独立して動作し、それぞれ独自のドラフトプルリクエストを作成するため、異なるアプローチを比較することが可能です。
コーディングエージェントで複雑な依存関係更新に対処
Dependabotセキュリティアップデートは、脆弱な依存関係を最も近いパッチ済みバージョンにアップグレードするプルリクエストを自動的に作成します。多くのアラートでは、このプルリクエストをマージするだけで完了します。
しかし、一部の依存関係の更新はそれほど単純ではありません。メジャーバージョンへのアップグレードでは、破壊的なAPI変更、非推奨となったメソッド呼び出し、プロジェクト全体のコード修正が必要な互換性のない型シグネチャが導入される場合があります。このような場合にコーディングエージェントが役立ちます。Dependabotがバージョンアップを提案し、コーディングエージェントがその先の作業を引き継ぐことができます:
- 破壊的変更の修正: 依存関係の更新によってビルドやテストが失敗した場合、エージェントはその失敗を分析し、根本原因を特定して、解決のためのコード変更を提案できます。
- パッケージのダウングレード: 依存関係が侵害されたりマルウェアを含んでおり、パッチ済みバージョンが利用できない場合、エージェントは最後に確認された安全なバージョンへのダウングレードを提案できます。
- 複雑なプルリクエストの作成: Dependabotのルールベースエンジンの範囲外となる複雑な更新シナリオにおいて、エージェントは脆弱性に対処するプルリクエストを生成できます。
両ツールは連携して動作します。Dependabotが依存関係を自動的に最新に保ち、コーディングエージェントがより深い分析を必要とする修正の対応を支援します。
エージェントの出力は必ず確認してください
AIが生成した修正が常に正しいとは限りません。コーディングエージェントは、不完全なパッチを生成したり、エッジケースを見逃したり、新たな問題を引き起こす変更を提案したりする可能性があります。マージする前には、必ずプルリクエストを確認し、テストが通過することを検証し、修正内容が適切であることを確認してください。
この機能を利用できるユーザー
Dependabotアラートをコーディングエージェントに割り当てるには、GitHub Code Securityおよびコーディングエージェントへのアクセス権を含むCopilotプランが必要です。この機能はgithub.comで利用できます。
今すぐ試す
リポジトリ内の任意のDependabotアラートを開き、「Assign to Agent」を選択して開始してください。
- Dependabotアラートの管理とアラートの割り当てについては、ドキュメントで詳しく学べます。
- GitHubコミュニティでディスカッションに参加してください。
この投稿「DependabotアラートをAIエージェントに割り当てて修正できるようになりました」は、The GitHub Blogに最初に掲載されました。