GitHub Security Lab、AIを活用した脆弱性トリアージの自動化を実現
GitHub Security LabがAI駆動のフレームワークを導入し、セキュリティアラートのトリアージを自動化。誤検知を削減し、効率と精度を向上させる取り組みを解説。
GitHub Security Lab、AIによる脆弱性トリアージの自動化を導入
GitHub Security Labは、セキュリティアラートのトリアージを自動化するAI駆動のフレームワークを開発しました。この取り組みにより、誤検知(false positives)の削減と効率の向上が実現されています。同チームは、GitHub Security Lab Taskflow Agentを活用し、大規模言語モデル(LLM)を用いてCodeQLが生成したアラートを分析することで、8月以降に約30件の実世界の脆弱性を特定しました。
AIが脆弱性トリアージを強化する仕組み
従来の脆弱性トリアージは、繰り返し作業が多く、人間の監査者には容易に識別できるパターンであっても、静的解析ツールではコード化が難しいことから誤検知が発生しがちでした。LLMは、こうした「曖昧な」パターンの識別に優れており、トリアージワークフローの自動化に最適です。
Taskflow Agentフレームワークは、YAMLベースのタスクフローを使用して、複雑なトリアージプロセスを小さな管理可能なタスクに分割します。各タスクは以下の役割を担います:
- コードスキャン結果の取得と分析
- 一般的な誤検知パターンの監査
- 詳細なバグレポートの生成(コード参照を含む)
- GitHub Issues作成前の検証
このプロセスにより、ハルシネーション(誤った結論)を最小限に抑え、結果の一貫性を確保します。
技術的な実装
タスクフローのアーキテクチャ
タスクフローは以下のステージに分かれています:
- 情報収集 – ワークフロートリガー、権限、サニタイザーなどの関連データを収集し、構造化されたノートに保存。
- 監査ステージ – LLM駆動のチェックを適用し、誤検知(例:無効化されたワークフロー、権限制限)をフィルタリング。
- レポート生成 – 発見内容を標準化されたバグレポートにまとめ、コードスニペットや行参照を含める。
- 検証とIssue作成 – レポートが完全であることを確認した後、GitHub Issuesを作成してさらなるレビューを行う。
主な機能
- モジュラー設計 – タスクは独立しており、コンテキストウィンドウの制限を軽減し、デバッグ性を向上。
- 非同期処理 – 大規模なアラートトリアージに対応するバッチ処理をサポート。
- MCPサーバーとの連携 – 決定論的なタスク(例:API呼び出し)を従来のプログラミングにオフロードし、精度を向上。
- 再利用可能なコンポーネント – プロンプトやタスクは、異なるトリアージワークフロー間で共有可能。
成果と影響
導入以来、GitHub Security Labは以下のアラートトリアージにこれらのタスクフローを活用しています:
- GitHub Actions(例:信頼できないコードのチェックアウト、コードインジェクション)
- JavaScript/TypeScript(例:
js/xssを介したクライアントサイドのクロスサイトスクリプティング)
このシステムは以下の点で効果を発揮しています:
- 誤検知の削減 – 無効化されたワークフローや権限チェックなど、共通の却下パターンを識別。
- 効率の向上 – トリガーイベントやサニタイズなど、繰り返しのチェックを自動化。
- 精度の向上 – 構造化されたプロンプトと検証ステップにより、正確性を確保。
セキュリティチームへの推奨事項
- モジュラーAIワークフローの採用 – トリアージを個別の再利用可能なタスクに分割し、スケーラビリティを向上。
- LLMと従来ツールの組み合わせ – パターン認識にはLLMを使用し、決定論的なタスクは静的解析やAPIにオフロード。
- オープンソースフレームワークの活用 – seclab-taskflow-agentおよびseclab-taskflowsリポジトリはカスタマイズ可能で公開されています。
- AI出力の検証 – 脆弱性に対応する前に、LLMが生成したレポートを必ずレビュー。
- リソース使用量の監視 – タスクフローの実行にはLLMのクォータを大量に消費する可能性があるため、計画的に使用。
今後の展望
GitHub Security Labは、AI支援のトリアージをさらに改良し、コード監査や脆弱性ハンティングに関する実験を続けています。セキュリティチームは、オープンソースのフレームワークを探索し、自社のワークフローに適応することを推奨します。
詳細は、GitHub Security Lab Taskflow Agentリポジトリをご覧ください。