Files
transcriber/tasks/items/gate-dependency-vulnerabilities.md
T
av 8739b18a9f tasks: очередь расставлена от базы к деталям
- порядок беклога и роадмапа назначен слоями: проверки, которым можно
  верить → долги входа → владелец записи и контракт API → конвейер под
  тестами → приложение и возможности поверх; у каждого движения записана
  причина;
- заведены восемь задач под пункты «Завершения», которых не закрывала ни
  одна запись, — цель any-audio-source была без задач вовсе;
- у четырёх задач сняты критерии, требовавшие того, что делает задача ниже
  по очереди; исправлены ссылки на несуществующий repo/sqlite и на
  отменённую разведку об очереди.
2026-08-12 20:48:53 +03:00

2.6 KiB

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

  • Тип: chore
  • Категория: Очередь — govulncheck находит две достижимые уязвимости, а гейт о нём не знает: о третьей узнать будет неоткуда.
  • Зачем: 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. Решение, ронять ли гейт на уязвимости без исправления, принимает человек.