заведена задача про сканер уязвимостей в зависимостях приложения
This commit is contained in:
@@ -100,4 +100,5 @@
|
||||
- [🐞 Закрыть анониму адрес подтверждения почты](items/close-verification-endpoint.md) — Адрес подтверждения почты хранилища открыт без сессии: зная адрес вошедшего, аноним вызывает у сервиса отправку письма — сегодня безвредно, потому что почтового отправителя нет.
|
||||
- [🔬 Судьба рубежа расшифровки, у которого не осталось работы](items/transcribed-stage-without-work.md) — Шаг завершения после убранной доставки только двигает колонку, а рубеж при этом подпадает под сторож застревания: готовая расшифровка платит отдельный захват и час сторожа.
|
||||
- [🔬 Пределы длительности, приходящей из метаданных](items/duration-bounds-from-metadata.md) — Длительность приходит от ffprobe числом и не проверяется ничем: приведение к целому переполняется, а испорченная гистограмма чинится только перезапуском.
|
||||
- [🧹 Проверять уязвимости в зависимостях приложения](items/npm-deps-vulnerability-scan.md) — Зависимости приложения пришли задачей spa-skeleton, а сканера у них нет: govulncheck смотрит только модули Go. Ни проверки, ни объявленного исключения — непроверенная поверхность, о которой никто не решал
|
||||
- [🔬 Квота по общему размеру загруженного на пользователя](items/per-user-size-quota.md) — Паспорт и security.md запрещают отказы по квоте пользователю, а заметка владельца просит квоту по умолчанию 5 ГБ — открытое противоречие с границей домена, которое владелец решил не разбирать сейчас.
|
||||
|
||||
@@ -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 в пользу проверки; если сканер окажется шумным
|
||||
на зависимостях сборки, сузить его до тех, что уезжают в браузер, — правка этой
|
||||
же задачи, а не повод отказаться от проверки.
|
||||
Reference in New Issue
Block a user