Files
transcriber/tasks/items/gate-dependency-vulnerabilities.md
T

2.5 KiB

🧹 Ловить уязвимости в зависимостях шагом гейта

  • Тип: chore
  • Категория: Очередь
  • Зачем: govulncheck находит две достижимые уязвимости в клиентах Yandex, а ни гейт, ни список «чего в гейте нет» о нём не знают: узнать о третьей будет неоткуда.

Обе найдены ревью задачи pocketbase-storage 2026-08-12 и достижимы из кода распознавателя: GO-2026-6061 в google.golang.org/grpc (исправлено в v1.82.1) и GO-2026-5764 в aws-sdk-go-v2aws/protocol/eventstream (в v1.7.8) и service/s3 (в v1.97.3). Ни одну из них эта задача не вносила: git diff origin/master -- go.mod их версий не касался.

Затрагивает

  • версии google.golang.org/grpc, aws-sdk-go-v2/service/s3 и aws-sdk-go-v2/aws/protocol/eventstream в go.mod;
  • набор шагов task gate в Taskfile.yml;
  • семантика гейта в CLAUDE.md — раздел «Гейт», список «что красит безусловно» либо «чего в гейте намеренно нет».

Критерии приёмки

  • Обе объявленные уязвимости из кода недостижимы. Оракул — govulncheck ./... печатает «No vulnerabilities found» либо оставляет только недостижимые.
  • Новая достижимая уязвимость роняет гейт. Оракул — прогон task gate на дереве с намеренно откаченной версией grpc: шаг краснеет с именем уязвимости.
  • Место шага названо в CLAUDE.md: либо в перечне красящих безусловно, либо в «чего в гейте нет» с указанием, кто тогда обязан его гонять. Оракул — task gate, шаг docs.py check.

Рамки

Обновление версий трогает клиентов Yandex — прогон на реальных ключах запрещён, подставляй internal/adapter/recognizer/memory.go. Решение, ронять ли гейт на уязвимости без исправления, принимает человек.