# 🧹 Проверять уязвимости в зависимостях приложения - **Тип:** chore - **Категория:** Очередь — Заведена урожаем ревью и встала в конец машинально: место в плане стройки назначает человек. - **Зачем:** Зависимости приложения пришли задачей spa-skeleton, а сканера у них нет: govulncheck смотрит только модули Go. Ни проверки, ни объявленного исключения — непроверенная поверхность, о которой никто не решал Набор проверок судит уязвимости в зависимостях Go — шаг `vulns`, и судит он достижимость из кода. У зависимостей приложения такого шага нет: `govulncheck` о них не знает вовсе, а перечень «чего в гейте намеренно нет» их не называет. То есть это не объявленный долг, а пробел. Находка ревью задачи `spa-skeleton` 2026-08-15; ручной прогон сканера на сегодняшнем дереве нашёл ноль уязвимостей, поэтому спешки нет — есть отсутствие правила. ## Затрагивает - `Taskfile.yml` — шаг набора проверок: свой либо расширение `front`; - `CLAUDE.md`, раздел «Гейт» — состав шагов, словарь кодов исхода и перечень сетезависимых шагов; - `docs/conventions/go-linters.md`, «Хранилище, документы, секреты, зависимости» — строка о том, чем механизирована проверка; - `web/package.json`, `web/package-lock.json` — источник, по которому судит сканер. ## Критерии приёмки - Уязвимость в зависимости приложения роняет набор проверок. Оракул — временно закрепить пакет с известной уязвимостью и увидеть красный шаг. - Отказ сети и реестра на этом шаге приходит кодом окружения, а красная находка — кодом дрейфа. Оракул — прогон с пустым кэшем без сети даёт код 3, находка даёт код 1. - Шаг не удлиняет обычный прогон заметно. Оракул — замер времени `task gate` до и после. - Решение записано там, где его будут искать: либо шаг назван в составе гейта, либо исключение названо в перечне «чего в гейте намеренно нет» с причиной. Оракул — чтение `CLAUDE.md`, раздел «Гейт». ## Рамки Разбирать сами уязвимости и обновлять зависимости эта задача не берётся — она заводит проверку. Выбор между «сканировать» и «объявить исключение» уже сделан решением владельца от 2026-08-15 в пользу проверки; если сканер окажется шумным на зависимостях сборки, сузить его до тех, что уезжают в браузер, — правка этой же задачи, а не повод отказаться от проверки.