Перейти к содержанию

Безопасные зависимости и сборки веб-проекта

Разберём зависимости и выпуск на лаборатории «Контур выпуска». Собственный маленький проект преобразует локальные данные в HTML без внешних пакетов. Рядом находятся авторские модели вымышленных зависимостей: они помогают изучить доверие к установке, сборке и публикации. Модели не являются настоящим npm lockfile, валидированным SBOM или криптографической аттестацией.

Нужны базовые знания JavaScript, JSON, package.json и стадий веб-проекта. Документация npm сверена для 12.2.0 11 октября 2026 года. Точная совместимая среда Node выбирается и фиксируется перед будущим выполнением. Примеры, npm, установки, аудит, сборки, тесты, CI, входы и публикация не выполнялись. Не устанавливайте вымышленные lab-пакеты.

Скачать полный архив состояний. Каждая lesson-NN самостоятельна и содержит собственный проект, модели и основной результат урока.

Уроки

  1. Граф зависимостей и границы доверия — Построить карту того, какой пакет участвует в установке, сборке и результате.
  2. Lockfile, версии и целостность архива — Сопоставить пожелание package.json с конкретным деревом и отпечатками.
  3. Скрипты установки и разрешения npm v12 — Описать проверяемую политику выполнения lifecycle-скриптов.
  4. Разбор обновления до установки пакетов — Сохранить предметное решение о новом пакете и изменении дерева.
  5. Уязвимости и достижимость кода — Отделить найденную запись advisory от реального пути воздействия.
  6. SBOM и состав выпуска — Связать перечень компонентов с конкретным артефактом и стадией.
  7. Изоляция установки и сборки в CI — Разделить получение зависимостей и доступ к полномочиям выпуска.
  8. Trusted publishing и краткоживущие полномочия — Описать узкое отношение доверия между CI и реестром без публикации.
  9. Происхождение сборки и проверка пакета — Различить integrity, подпись, provenance и содержательное ревью.
  10. Подозрительное обновление и восстановление — Подготовить последовательность изоляции, анализа и безопасного возврата.

Граница результата

Чистый отчёт уязвимостей, совпавшая integrity или подлинное происхождение не заменяют содержательное ревью. Политика install-скриптов не является песочницей для основного npm run. SBOM по lockfile не подтверждает состав развернутого сайта. Trusted publishing относится к публикации npm-пакета и не является деплоем ProfessorWeb на хостинг.