заведена задача про сканер уязвимостей в зависимостях приложения

This commit is contained in:
av
2026-08-15 19:02:36 +03:00
parent 8c18abc24e
commit 63a13404df
2 changed files with 46 additions and 0 deletions
@@ -0,0 +1,45 @@
# 🧹 Проверять уязвимости в зависимостях приложения
- **Тип:** 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 в пользу проверки; если сканер окажется шумным
на зависимостях сборки, сузить его до тех, что уезжают в браузер, — правка этой
же задачи, а не повод отказаться от проверки.