Agent 与自动化工作流
SecLab Taskflow Agent:声明式 YAML 驱动的多智能体安全工作流框架
GitHubSecurityLab/seclab-taskflow-agent · GitHub Security Lab Taskflow Agent
ELI5:它是什么,解决什么问题
GitHub Security Lab 推出的 MCP 多智能体框架,通过 GitHub Workflow 风格的 YAML 语法声明式定义智能体工作流,无需编写代码即可用 CLI 编排多个 Agent 与工具协作完成任务。基于 OpenAI Agents SDK 构建,使用 Pydantic 做语法校验、Jinja2 做模板渲染;智能体由 personalities 定义、接收 taskflow 任务、调用 toolbox 中的工具。支持 Chat Completions 与 Responses 两种 OpenAI API,可切换 openai_agents、copilot_sdk、anthropic_sdk 三种后端,支持 stdio/SSE/streamable HTTP 的 MCP 连接、任务级检查点与断点续跑、运行清单输出、离线 lint 与 JSON Schema 导出。主要面向智能体安全研究、漏洞排查、代码审计、CodeQL 辅助代码审查与代码扫描告警分诊,也可跨多个模型跑同一提示词并让裁判任务择优,用于模型对比评测。
核心能力与快速开始
★ 238 · Python
- 能做什么
- 以 YAML(类 GitHub Workflow 语法)声明式编排多智能体任务流,CLI 驱动无需写代码;Agent 由 personalities、taskflow、toolbox 组合定义,可相互协作完成一系列任务。基于 OpenAI Agents SDK,Pydantic v2 做语法模型校验,Jinja2 做模板渲染。支持 Chat Completions 与 Responses 两类 OpenAI API,可按全局或按模型配置 api_type、endpoint、token 环境变量。runner 可通过统一接口驱动三种后端:openai_agents(默认,支持多 personality 交接、temperature、parallel_tool_calls、多种 MCP 传输)、copilot_sdk(支持流式、reasoning_effort、按工具权限门控)、anthropic_sdk(原生 Messages API、流式、MCP 工具调用、可配置 reasoning effort)。支持 MCP over stdio、SSE、streamable HTTP;任务级自动检查点与 --resume 断点续跑,失败任务最多重试 3 次并递增退避;每次运行生成不含 endpoint 与 token 的运行清单(任务状态、所用模型、耗时、命名输出),并可按会话 ID 打印;支持 --lint 离线校验任务流及其引用的所有文档、模型名、模板语法与未知字段,可作 CI 门禁,--schema 可导出各类语法文档的 JSON Schema;提供 TASKFLOW_ENV_DENYLIST 防止环境变量泄露给 MCP 子进程;支持 --debug 输出完整堆栈。仓库内含 CodeQL MCP Server,用模板化 CodeQL 查询为模型驱动的代码分析提供定向上下文。
- 适用场景
- 官方说明主要用于智能体安全研究中的迭代反馈循环工作流与漏洞排查,在 GitHub Security Lab 中主要作为代码审计工具使用,也用于自动化代码扫描告警分诊;可结合 CodeQL MCP Server 让 Agent 借助 CodeQL 数据库审查 C 代码(仓库提供 CVE-2023-2283 示例任务流与演示视频);也可作为探索各类智能体工作流的通用工具。此外支持让同一提示词在多个模型上并行执行、捕获各模型回答并由裁判任务择优,用于模型横向对比与评测。
- 项目形态
- 开发框架
- 部署方式
- 两种方式:从源码部署(使用 hatch 构建,git clone 后建虚拟环境、pip install hatch、hatch build,再 hatch run main 运行);或使用容器镜像(通过 docker/run.sh 使用,公共镜像发布在 GitHub Container Registry)。镜像基于公开发布版,自定义 taskflow、personalities、prompts 需通过 MY_DATA、MY_PERSONALITIES、MY_TASKFLOWS、MY_PROMPTS、MY_TOOLBOXES 等环境变量挂载。README 明确提示 Agent Docker 镜像不是安全边界,仅为部署便利。
- 主要依赖
- Python >= 3.10 或 Docker。需提供具备 GitHub Copilot 使用权限账号的 GitHub token,通过环境变量 AI_API_TOKEN 传入;部分 MCP 服务还需名为 GH_TOKEN 的环境变量访问 GitHub API。其余配置取决于所选用的 MCP 服务器。仓库建议不要将密钥存盘,但可通过项目根目录 .env 持久化非敏感环境变量。
- 使用限制
- 各后端能力受限且不一致:copilot_sdk 不遵循 YAML 的 api_type 字段,也不支持多 personality 交接、temperature 和 parallel_tool_calls,使用不支持字段的任务流会在加载时以 BackendCapabilityError 报错;anthropic_sdk 不支持交接,面向 CAPI 的 Anthropic 端点设计并使用 Authorization: Bearer 认证。MCP 子进程默认继承父进程环境,需靠 TASKFLOW_ENV_DENYLIST 显式排除敏感变量。Docker 镜像不作为安全边界。材料未说明模型调用的具体成本与配额限制。
- 许可证
- MIT
- 最近推送
- 2026-09-19 10:39
资料检查:2026-09-26 07:00 · 卡片整理:2026-09-29 09:00
卡片由 AI 根据仓库资料整理,未进行安装或运行验证 · 本次更新未完成,保留上次成功内容
职业应用
程序员
使用声明式 YAML 定义多智能体安全工作流,用于代码审计、漏洞排查、CodeQL 辅助代码审查与代码扫描告警分诊;也可跨多个模型跑同一提示词并由裁判任务择优,用于模型对比评测。
查看内容依据
At GitHub Security Lab, we primarily use this framework as a code auditing tool, but it can also serve as a more generic swiss army knife for exploring Agentic workflows. For example, we also use this framework for automated code scanning alert triage.
由 AI 根据来源材料整理,未进行安装或运行验证
讨论 0
登录后参与讨论,阅读资讯无需注册。
还没有评论,来分享第一个看法。