概要

GitHub Security Labは、AIを活用したセキュリティ研究を民主化することを目的とした「Taskflow Agent」をオープンソースとして公開した。このフレームワークは、セキュリティの専門知識を自然言語でエンコードし、コミュニティ間で共有・スケールアウトできる仕組みを提供する。従来の「クローズドソースのブラックボックス」的なアプローチから脱却し、脆弱性の発見と修正をより速く・透明に進めることを目指している。

Taskflow AgentはPyPIで公開される2つのPythonパッケージで構成される。seclab-taskflow-agentがコアの実行エンジン、seclab-taskflowsがGitHubチームによるサンプルのタスクフロー群だ。既存のセキュリティツールであるCodeQLとの連携にはModel Context Protocol(MCP)インターフェイスを活用しており、研究者が使い慣れたツールをそのまま組み合わせられる設計になっている。

タスクフローの仕組み

タスクフローはYAMLフォーマットのファイルで定義され、AIエージェントが順番に実行する一連のタスクを記述する。各タスクフローは3つの主要な構成要素を持つ。

  • Personalities(ペルソナ): AIの振る舞いを規定するプロファイル(例: action_expert
  • Toolboxes(ツールボックス): MCPサーバーを通じてツールやコードへのアクセスを提供する機能群
  • Tasks(タスク): プロンプトと使用するツールを指定した個々の作業単位

デモとして提供されているタスクフローは、セキュリティアドバイザリ(GHSA)を解析して脆弱なコードパターンを特定する「バリアント分析」を実演する。また、プロンプトのトークン消費を抑えるため「ソースファイルの小さな断片だけを解析する」よう指示するなど、プロンプト設計の細かなノウハウも実装に込められている。

コミュニティ協働モデルとセキュリティ設計

フレームワークはPythonのパッケージエコシステムを活用した協働モデルを採用している。開発者は独自のタスクフロースイートを独立したPyPIパッケージとして公開でき、package_name.directory.filename形式でパッケージ間からペルソナやツールボックスを再利用できる。これによりセキュリティ研究の知見が共有・蓄積される仕組みが整う。

セキュリティ面では、破壊的な操作を行う前にツールボックスが確認を要求する仕組みを設けることでプロンプトインジェクションへの対策を講じている。また、memcacheを仲介としたタスクコンテキストの分離やAPIレート制限に対応したトークンクォータ管理も実装されている。

今後の展望

GitHub Security Labはこのフレームワークをすでに社内で活用しており、「GitHub Secure Open Source Fund」の参加者とも共有してきた実績がある。公開の目的は「完成度より迅速な実験を優先し、セキュリティ研究者が新しいルールをすぐ試せる環境を提供すること」であり、AI支援による脆弱性研究を孤立した個人作業からコミュニティ主導の協働モデルへと転換する取り組みとして注目される。