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, Упаковка и Релиз.