Skip to content

Управление зависимостями

Новый раздел

Этот раздел добавлен как дополнение к исходной структуре — управление зависимостями влияет на безопасность и стабильность.

Принципы

  1. Минимум зависимостей — каждая зависимость — это риск и ответственность
  2. Автоматическое обновление — Dependabot/Renovate для патч-версий
  3. Аудит безопасности — автоматический на каждом PR
  4. Lock-файлы в репозиторииgo.sum, package-lock.json, Podfile.lock

Добавление новой зависимости

Перед добавлением новой библиотеки проверь:

  • [ ] Проблему нельзя решить стандартной библиотекой?
  • [ ] Библиотека активно поддерживается (коммиты за последние 6 месяцев)?
  • [ ] Лицензия совместима (MIT, Apache 2.0, BSD)?
  • [ ] Нет известных критических уязвимостей?
  • [ ] Количество транзитивных зависимостей разумно?

WARNING

Добавление зависимости с GPL/LGPL лицензией требует согласования с Tech Lead.

Обновление зависимостей

Тип обновленияПроцесс
Patch (x.y.Z)Авто-мерж через Dependabot, если CI зелёный
Minor (x.Y.0)Ревью + CI
Major (X.0.0)Ревью + тестирование + оценка breaking changes

Ритм обновлений

  • Еженедельно: автоматические patch-обновления
  • Ежемесячно: ревью minor-обновлений
  • Ежеквартально: аудит major-версий и устаревших зависимостей

Запрещённые лицензии

  • GPL v2/v3 (без согласования)
  • AGPL
  • SSPL
  • Unlicensed / No license

Управление уязвимостями

При обнаружении уязвимости в зависимости:

SeveritySLA на исправление
Critical (CVSS ≥ 9.0)24 часа
High (CVSS 7.0–8.9)3 рабочих дня
Medium (CVSS 4.0–6.9)2 недели
Low (CVSS < 4.0)Следующий спринт