Безопасные зависимости и сборки веб-проекта
Разберём зависимости и выпуск на лаборатории «Контур выпуска». Собственный маленький проект преобразует локальные данные в HTML без внешних пакетов. Рядом находятся авторские модели вымышленных зависимостей: они помогают изучить доверие к установке, сборке и публикации. Модели не являются настоящим npm lockfile, валидированным SBOM или криптографической аттестацией.
Нужны базовые знания JavaScript, JSON, package.json и стадий веб-проекта. Документация npm сверена для 12.2.0 11 октября 2026 года. Точная совместимая среда Node выбирается и фиксируется перед будущим выполнением. Примеры, npm, установки, аудит, сборки, тесты, CI, входы и публикация не выполнялись. Не устанавливайте вымышленные lab-пакеты.
Скачать полный архив состояний. Каждая lesson-NN самостоятельна и содержит собственный проект, модели и основной результат урока.
Уроки
- Граф зависимостей и границы доверия — Построить карту того, какой пакет участвует в установке, сборке и результате.
- Lockfile, версии и целостность архива — Сопоставить пожелание package.json с конкретным деревом и отпечатками.
- Скрипты установки и разрешения npm v12 — Описать проверяемую политику выполнения lifecycle-скриптов.
- Разбор обновления до установки пакетов — Сохранить предметное решение о новом пакете и изменении дерева.
- Уязвимости и достижимость кода — Отделить найденную запись advisory от реального пути воздействия.
- SBOM и состав выпуска — Связать перечень компонентов с конкретным артефактом и стадией.
- Изоляция установки и сборки в CI — Разделить получение зависимостей и доступ к полномочиям выпуска.
- Trusted publishing и краткоживущие полномочия — Описать узкое отношение доверия между CI и реестром без публикации.
- Происхождение сборки и проверка пакета — Различить integrity, подпись, provenance и содержательное ревью.
- Подозрительное обновление и восстановление — Подготовить последовательность изоляции, анализа и безопасного возврата.
Граница результата
Чистый отчёт уязвимостей, совпавшая integrity или подлинное происхождение не заменяют содержательное ревью. Политика install-скриптов не является песочницей для основного npm run. SBOM по lockfile не подтверждает состав развернутого сайта. Trusted publishing относится к публикации npm-пакета и не является деплоем ProfessorWeb на хостинг.