intermediate
Dependency vulnerabilities
Управляйте package risk через lockfiles, audit triage, minimal dependency surface, provenance, updates и runtime containment.
Node-приложения наследуют транзитивный риск npm-зависимостей — гигиена supply chain снижает поверхность атаки.
Практики:
- Lockfile в репозитории для воспроизводимых установок
- `npm audit` / OSV / Snyk в CI — triage по эксплуатируемости и достижимости, не по счётчику
- Меньше зависимостей; поддерживаемые пакеты с малым транзитивным деревом
- Контроль major-апдейтов; Dependabot с политикой
- `npm ci` в CI, не изменяемый `npm install`
Runtime: не `npm install` от root в prod; read-only FS; ограничение egress.
На интервью: triage critical advisory в транзитиве; риск devDependency vs prod bundle.
Типовые ошибки: `audit fix --force` ломает сборку; игнор advisory на «неиспользуемом» пути без проверки; нет дисциплины lockfile.
Компромисс — между простотой, производительностью, безопасностью и эксплуатацией: назовите, что оптимизировали и какую цену приняли.
Чеклист:
- Lockfile обязателен в CI.
- SLA по severity для уязвимостей.
- Регулярные обновления зависимостей.
- SBOM или инвентарь релизов.