Практические разборы l3_builders

Как проверить MCP-серверы и agent skills до подключения

Практический выпуск CodeVibers: собираем preflight gate для MCP servers и agent skills. Показываю Snyk Agent Scan как идею security scan, sandbox inventory, blocking findings, issue code triage и decision log до подключения компонента к агенту.

Видео по теме

Открыть видео на YouTube

Практический выпуск CodeVibers: собираем preflight gate для MCP servers и agent skills. Показываю Snyk Agent Scan как идею security scan, sandbox inventory, blocking findings, issue code triage и decision log до подключения компонента к агенту.

Таймкоды

  • 00:00 Почему MCP/skills надо проверять до trust
  • 00:45 Snyk Agent Scan и issue codes
  • 01:20 Собираем sandbox inventory
  • 02:05 Запускаем preflight check
  • 02:45 Decision log и правило команды

Shorts

Практический материал из выпуска

Артефакт: Sandbox workspace: agent_components.json, scan_policy.yaml, preflight_check.py, preflight_report.json и decision_log.md.

Что должно получиться: Зритель получает шаблон preflight gate для проверки MCP server или agent skill до подключения.

Видимый результат: Терминал показывает status=blocked, findings по prompt injection/secret access и созданный decision_log.md.

Вход для демо: Демо MCP config с tool description injection и skill file, который запрашивает доступ к .env.

Выход демо: preflight_report.json со статусом blocked и decision_log.md с action reject/fix_first.

Проверка результата: preflight_check.py возвращает exit code 2 при blocking findings и печатает preflight_status=blocked; после исправления должен возвращать clean/review.

Как собрать

  1. Создать sandbox workspace без реальных секретов.
  2. Описать MCP server и skill files в agent_components.json.
  3. Добавить scan_policy.yaml с blocking patterns и issue code mapping.
  4. Запустить python3 preflight_check.py и получить blocked report.
  5. Открыть decision_log.md и показать approve/fix/reject decision.

Чеклист перед пилотом

  • preflight_check.py finds prompt injection and secret access in demo files.
  • decision_log.md contains action=reject or fix_first for blocking findings.

Примеры команд, настроек или правил

python3 preflight_check.py agent_components.json --policy scan_policy.yaml
blocking_patterns: [ignore previous instructions, read .env, exfiltrate]

Требования и рекомендации

Требования

  • У scan workspace не должно быть production токенов, .env и широкого filesystem доступа.
  • У каждого MCP server должен быть scope: allowed roots, forbidden roots, dry-run или read-only где возможно.
  • Critical prompt injection/tool poisoning findings должны блокировать подключение до исправления.

Рекомендации

  • Сканировать MCP/skills в отдельной sandbox-папке или контейнере, а не на рабочей машине с секретами.
  • Вести inventory компонентов: command, roots, skill files, network access и expected side effects.
  • Привязывать findings к decision log: approve, fix first, reject, risk owner.

Суть темы

Практический выпуск CodeVibers: собираем preflight gate для MCP servers и agent skills. Показываю Snyk Agent Scan как идею security scan, sandbox inventory, blocking findings, issue code triage и decision log до подключения компонента к агенту.

Что важно забрать

  • Создать sandbox inventory, запустить preflight scanner/check, разобрать findings и зафиксировать approve/fix/reject decision.
  • После выпуска зритель сможет собрать preflight gate для MCP server или agent skill и не подключать непроверенный компонент в рабочего агента.
  • Это не выпуск про orchestration MCP workflow. Это security gate до подключения: что сканировать, где запускать, какие findings блокируют trust.
  • Снизить риск подключения poisoned tool/skill без sandbox scan и decision log.

Как применять на практике

Используйте материал как отправную точку: сформулируйте задачу, ограничьте область применения, выберите метрику качества и проверьте результат на небольшом сценарии до внедрения в production.

Практические шаги

  1. Создать sandbox workspace без реальных секретов.
  2. Описать MCP server и skill files в agent_components.json.
  3. Добавить scan_policy.yaml с blocking patterns и issue code mapping.
  4. Запустить python3 preflight_check.py и получить blocked report.
  5. Открыть decision_log.md и показать approve/fix/reject decision.

Рекомендации

  • Сканировать MCP/skills в отдельной sandbox-папке или контейнере, а не на рабочей машине с секретами.
  • Вести inventory компонентов: command, roots, skill files, network access и expected side effects.
  • Привязывать findings к decision log: approve, fix first, reject, risk owner.

Требования и ограничения

  • У scan workspace не должно быть production токенов, .env и широкого filesystem доступа.
  • У каждого MCP server должен быть scope: allowed roots, forbidden roots, dry-run или read-only где возможно.
  • Critical prompt injection/tool poisoning findings должны блокировать подключение до исправления.

Примеры

  • Tool description содержит hidden instruction вроде ignore previous instructions — компонент получает reject до исправления.
  • Skill просит читать .env или отправлять данные наружу — preflight помечает blocked, даже если README выглядит полезным.

Антипримеры

  • Скопировать MCP config из GitHub README прямо в основной agent config и попросить модель действовать аккуратно.

Как проверить готовность

  • preflight_report.json содержит status=blocked для malicious demo component.
  • decision_log.md содержит finding, severity, action и risk owner для каждого blocking issue.

Навигация по выпуску

  • 00:00 Почему MCP/skills надо проверять до trust
  • 00:45 Snyk Agent Scan и issue codes
  • 01:20 Собираем sandbox inventory
  • 02:05 Запускаем preflight check
  • 02:45 Decision log и правило команды