May 20th, 2026

Supply chain hardening: три P0-уязвимости устранены

Что изменилось

  • Три P0-находки из аудита T091 закрыты: unpinned dependencies в критических пакетах, отсутствие SBOM в релизном pipeline, небезопасная обработка временных файлов при сборке
  • SBOM в формате CycloneDX генерируется при каждом релизе и прикладывается к GitHub Release assets как sbom.cdx.json
  • Lockfile commitments: все production-зависимости теперь точечно пинятся без диапазонных операторов ^ или ~
  • Временные файлы сборки изолированы в /tmp/rox-build-* с гарантированной автоочисткой через trap-handler
  • Automated license scan в CI: GPL/AGPL зависимости блокируют сборку с explicit allowlist
  • 3 HIGH-находки (C-H2, C-H3 packaging) задокументированы с risk-acceptance и отложены в отдельные задачи со сроками

Где попробовать

Страница GitHub Releases теперь включает файл sbom.cdx.json для каждой версии. Верифицируйте его через CycloneDX CLI:

cyclonedx-cli validate --input-file sbom.cdx.json --fail-on-errors

Все зависимости в package.json теперь без ^ — lockfile-совместимый дистрибутив воспроизводится детерминированно.

Контекст аудита: полный supply chain аудит выявил 9 находок: 3 P0 (закрыты этим изменением), 3 HIGH (задокументированы с risk-acceptance и датами), 3 MEDIUM (в backlog). Каждая P0-находка имеет документированный root cause, patch commit и regression test. CI-скан теперь предотвращает повторное возникновение аналогичных классов проблем автоматически.

Что дальше: 3 HIGH-находки (C-H2, C-H3 packaging) имеют задокументированные risk-acceptance письма и конкретные сроки устранения. Их закрытие запланировано совместно с работами по Windows Authenticode и macOS notarization. Dependency Renovate настроен на еженедельные auto-update PRs с обязательным ручным review для мажорных версий критических пакетов. Trufflehog scan запускается как pre-push hook — любой leaked secret блокирует push до удаления из истории через BFG.

Связанное

Дорожная карта: Безопасность и Compliance, Упаковка и Релиз.