Перейти к содержимому
Экосистема AI Vibe

Разборы

Четыре шлюза до merge: DevSecOps для агентов, а не только для микросервисов

Редакция 20 сентября 2026 г.

Четыре шлюза до merge: DevSecOps для агентов, а не только для микросервисов

Секрет в diff. Инъекция в yaml с описанием MCP-инструмента. Критичный CVE в транзитивной зависимости агентного фреймворка. Три поломки, один pull request. Для соло на GitHub Actions ставка не в «enterprise или ничего», а в порядке шлюзов: перехват секретов, ревью диффа со сканом промптов, проверка зависимостей, быстрый статический анализ. Схему «From Secret Scanning to Agentic Code Analysis» для enterprise AI agents в Actions разложил Compound Labs на Dev.to в гайде: банковский оркестратор, SAP через MCP, угрозы уровня OWASP LLM01.

Собираете агента в Cursor и пушите workflow в тот же репозиторий? Код агента и промпты должны проходить те же автоматические проверки, что и сервисный код. Иначе скорость vibe-coding превращается только в скорость утечки.

Агент трогает SAP и PII: CI «для сервиса» не закрывает риск

Core Banking Payment Orchestrator Agent в референс-сценарии разруливает асинхронные споры по транзакциям, ходит в SAP через MCP tools и бьёт в финансовые эндпоинты с персональными данными. В проблематике отдельно стоят утечки credentials (включая MCP authentication tokens), prompt injection, тяжёлые транзитивные зависимости LangChain, LlamaIndex, AutoGen и соблазн выключить медленный SAST ради релиза.

Для ру-соло без security-команды сцена банальная. Один .env в коммите. Один «улучшенный» промпт в .yaml с инструкцией обойти ограничения. Агент в Actions уже крутится с теми же ключами, что локальный Cursor. Задача конвейера: отсечь такие ходы до merge, а не разбирать их в проде.

Четыре стадии: что роняет status check

Конвейер называется «From Secret Scanning to Agentic Code Analysis». В GitHub Actions четыре стадии.

Стадия Название Суть
1 Commit & Secret Interception Gitleaks и TruffleHog по diff, истории, сообщениям коммитов и конфигам; high-entropy строки и паттерны ключей (облако, API foundation-моделей, private keys)
2 Dual AI Code Review & Prompt Security Audit LLM-ревью diff PR под read-only GitHub token; скан .txt/.yaml/.json на injection и least privilege в описаниях tools (Giskard, PyRIT heuristics)
3 Veracode Agent-Based SCA Агент на runner: manifests, SBOM, CVE и лицензии; policy enforcement
4 Veracode Pipeline SAST Pipeline Scan, SARIF в GitHub Code Scanning; для многих баз указано менее 90 секунд на один Pipeline Scan

Нашёл секрет на стадии 1: job secret-scan падает с non-zero exit, downstream не стартует. После успешного первого шага три job идут параллельно: ai-review-and-prompt-scan, veracode-agent-sca, veracode-pipeline-sast. SCA и SAST не стоят в очереди друг за другом.

На стадии 4 flaws с CVSS ≥ 7.0 (примеры CWE-89, CWE-78) дают fail status check до исправления. Речь об агентах, которые генерируют и код, и конфиги инструментов, а не о «посмотрим после мержа».

Стадия 2: promptfoo, Giskard и ревью PR отдельно

В .github/workflows/agentic-devsecops.yml второй этап не сводится к одному коммерческому SAST.

  • Prompt / injection: promptfoo eval с конфигом tests/promptfoo-security.yaml, установка promptfoo и giskard, отсылка к OWASP LLM01 в шаге.
  • Ревью кода PR: action coderabbitai/ai-pr-reviewer@v1 на pull_request с GITHUB_TOKEN и OPENAI_API_KEY.

LLM-ревью diff и prompt-scan живут в одном job, но это разные шаги. Промпт-манифесты и схемы tools версионируются рядом с кодом и попадают в тот же PR-контур, что Python/TypeScript от агента.

Три жёстких правила для Actions

Три «non-negotiable» принципа для настройки Actions:

  1. Промпты и схемы: та же автоматизированная регрессия и безопасность, что у кода (не «текстовый файл вне CI»).
  2. Быстрые шлюзы в PR: ориентир менее 3 минут на feedback; тяжёлый DAST после merge, не вместо быстрых проверок.
  3. Zero unhandled highs: merge запрещён при high CVE/SAST (CVSS ≥ 7.0) без оформленного exception.

Veracode и SourceClear-токены в примере тянут enterprise-слой; готовой OSS-замены SCA/SAST для малых команд автор не описывает. Для vibe-coding переносимы паттерн четырёх шлюзов, secret scan до всего остального, prompt manifests как код и быстрый SAST в PR. Чем заменить Veracode на личном репо, решаете вы; порядок «секреты → параллельные проверки» можно копировать уже сейчас.

Источники