Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

ЛентыКонтактыКонфиденциальность© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
seclab-taskflow-agent — Многоагентный фреймворк с поддержкой MCP для декларативных агентных рабочих процессов на основе YAML, используемый для аудита кода с помощью ИИ, триажа уязвимостей и исследований в области безопасности с интеграцией CodeQL. | Kitploit
Инструменты/GitHubGitHub/githubsecuritylab/seclab-taskflow-agent
Статический анализСканеры уязвимостейСтатический анализ кода (SAST)Анализ уязвимостейАнализ КодаСкриптинг и автоматизацияТестирование на ПроникновениеУтилиты и фреймворки
Машинное Обучение
Обучение и Образование
Обратная Разработка с Помощью ИИ
Безопасность ИИ
GitHubgithubsecuritylab/seclab-taskflow-agent

seclab-taskflow-agent

Многоагентный фреймворк с поддержкой MCP для декларативных агентных рабочих процессов на основе YAML, используемый для аудита кода с помощью ИИ, триажа уязвимостей и исследований в области безопасности с интеграцией CodeQL.

Репозиторий
26334710 дней назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

GitHub Security Lab Taskflow Agent

Security Lab Taskflow Agent — это MCP-совместимый мультиагентный фреймворк для декларативных агентных рабочих процессов на основе YAML.

Построенный на базе OpenAI Agents SDK, он использует Pydantic для валидации грамматики и Jinja2 для рендеринга шаблонов.

Основные концепции

Taskflow Agent использует грамматику на основе YAML в стиле GitHub Workflow для выполнения последовательности задач с помощью набора агентов.

Его основное ценностное предложение — это CLI-инструмент, позволяющий пользователям быстро определять и скриптовать агентные рабочие процессы без необходимости писать какой-либо код.

Агенты определяются через персоналии, которые получают задачу для выполнения, имея набор инструментов.

Агенты могут взаимодействовать для выполнения последовательностей задач через так называемые таскфлоу.

Подробный обзор грамматики таскфлоу можно найти здесь, а примеры таскфлоу — здесь.

Архитектура

┌─────────────────────────────────────────────────────┐
│                   CLI (cli.py)                      │
│  Typer-based entry point: -p, -t, -l, -g, -m, --resume, --lint│
└─────────────────────┬───────────────────────────────┘
                      │
┌─────────────────────▼───────────────────────────────┐
│              Runner (runner.py)                     │
│  Taskflow execution loop, model resolution,         │
│  template rendering, session checkpointing          │
└─────────────────────┬───────────────────────────────┘
                      │
┌─────────────────────▼───────────────────────────────┐
│          MCP Lifecycle (mcp_lifecycle.py)           │
│  Server connection, cleanup, process management     │
└─────────────────────┬───────────────────────────────┘
                      │
┌─────────────────────▼───────────────────────────────┐
│            Agent (agent.py)                         │
│  TaskAgent wrapper, hooks, OpenAI Agents SDK bridge │
└─────────────────────────────────────────────────────┘

Supporting modules:
  models.py          — Pydantic v2 grammar models (validation)
  session.py         — Task-level checkpoint / resume
  available_tools.py — YAML resource loader with caching
  template_utils.py  — Jinja2 template environment
  mcp_utils.py       — MCP client parameter resolution
  mcp_transport.py   — MCP transport implementations (stdio, streamable)
  mcp_prompt.py      — System prompt construction
  prompt_parser.py   — Legacy prompt argument parser
  capi.py            — AI API endpoint and token management
  path_utils.py      — Platform-aware data/log directories

Типы API

Агент поддерживает как Chat Completions, так и Responses API OpenAI. Тип API можно настроить глобально или для каждой модели в файле model_config:

seclab-taskflow-agent:
  version: "1.0"
  filetype: model_config
api_type: chat_completions        # default for all models
models:
  gpt_default: gpt-4.1
  gpt_responses: gpt-5.1
model_settings:
  gpt_responses:
    api_type: responses           # override for this model
    endpoint: https://api.githubcopilot.com
    token: CAPI_TOKEN             # env var name containing the API key

Для каждой модели model_settings может включать:

  • api_type — "chat_completions" (по умолчанию) или "responses"
  • endpoint — переопределение базового URL API для этой модели
  • token — имя переменной окружения, содержащей API-ключ

Бэкенды

Runner может управлять тремя SDK через общий интерфейс:

  • openai_agents (по умолчанию) — OpenAI Agents Python SDK. Поддерживает передачу управления между несколькими персоналиями, оба api_type — chat_completions и responses, temperature, parallel_tool_calls, exclude_from_context, а также MCP через stdio, SSE и streamable HTTP.
  • copilot_sdk — GitHub Copilot Python SDK. Поддерживает потоковую передачу, reasoning_effort, MCP через stdio/SSE/HTTP и управление разрешениями для каждого инструмента. SDK самостоятельно выбирает проводной протокол для каждой модели, поэтому поле api_type в YAML не учитывается; передача управления между несколькими персоналиями, temperature и parallel_tool_calls также недоступны. Taskflow, использующие неподдерживаемые поля, завершаются ошибкой при загрузке с BackendCapabilityError, указывающей проблемное поле.
  • anthropic_sdk — Anthropic Python SDK, работающий с нативным Messages API (/v1/messages). Поддерживает потоковую передачу, вызов инструментов через MCP и адаптивное мышление с настраиваемым reasoning.effort (low, medium, high, max). Передача управления не поддерживается. Предназначен для использования с Anthropic-эндпоинтом CAPI; аутентификация использует Authorization: Bearer (не x-api-key).

Приоритет выбора (от высшего к низшему):

  1. backend: для конкретной задачи в собственном блоке model_settings задачи (переопределяет значение уровня модели для этой одной задачи; см. _resolve_task_model()).
  2. backend: для конкретной модели в model_settings конфигурации модели (позволяет смешивать бэкенды в одном taskflow).
  3. Поле backend: на верхнем уровне документа конфигурации модели (глобальное значение по умолчанию).
  4. Переменная окружения SECLAB_TASKFLOW_BACKEND.
  5. openai_agents.
seclab-taskflow-agent:
  version: "1.0"
  filetype: model_config
models:
  code_analysis: claude-opus-4.7
  general_tasks: gpt-5.4-mini
model_settings:
  code_analysis:
    api_type: messages
    backend: anthropic_sdk
    reasoning:
      effort: high
  general_tasks:
    api_type: responses
    backend: openai_agents

Восстановление сессии

Запуски Taskflow автоматически сохраняются на уровне задач. Если задача завершается ошибкой после исчерпания повторных попыток, сессия сохраняется и может быть возобновлена:

** 🤖💾 Session saved: abc123def456
** 🤖💡 Resume with: --resume abc123def456

Возобновить с последней успешной контрольной точки:

python -m seclab_taskflow_agent --resume abc123def456

Контрольная точка сессии сохраняет значение --model-config, переданное через CLI (если оно было), поэтому при возобновлении по умолчанию используется та же конфигурация модели. Чтобы переопределить конфигурацию модели при возобновлении, явно передайте --model-config / -m:

python -m seclab_taskflow_agent --resume abc123def456 -m examples.model_configs.responses_api

Неудачные задачи автоматически повторяются до 3 раз с увеличивающейся задержкой, прежде чем сессия будет сохранена. Контрольные точки сессии хранятся в каталоге данных приложения, зависящем от платформы.

Манифест запуска

Каждый запуск создаёт машиночитаемый манифест, обобщающий произошедшее: статус каждой задачи (ok / failed / skipped), модели, с которыми работала каждая задача, время выполнения и именованные outputs, созданные каждой задачей (включая записи fan-in по каждой модели для многомодельных задач). Он не содержит эндпоинтов или токенов.

Манифест записывается в каталог артефактов, привязанный к запуску, когда запуск завершается или завершается с ошибкой, и может быть выведен для любой сессии по ID:

python -m seclab_taskflow_agent --manifest abc123def456

Вывод ошибок

Скачать инструмент