Dev48
ЯЗЫК
  • О нас
  • Услуги
  • Индустрии
  • Технологии
  • Статьи
  • Контакты
Забронировать звонок
    Главная/Статьи/Pochemu lightwell obedinyaet bekporty zavisimostey s rabotoy s apstrimom
Dev48
info@dev48.org+375 29 320-40-96WhatsApp@isky_by

© 2026 · All rights reserved.

Почему Lightwell объединяет бэкпорты зависимостей с работой с апстримом

Источник: Red Hat•8 ноября 2026 г. в 00:39

Почему Lightwell объединяет бэкпорты зависимостей с работой с апстримом

Узнайте, как Lightwell совмещает бэкпорты зависимостей с сотрудничеством с апстримом для защиты корпоративных зависимостей с открытым исходным кодом без необходимости проведения рискованных обновлений.

Корпоративные приложения редко выходят из строя из-за пользовательской бизнес-логики; чаще всего проблемы связаны с изменениями в лежащих в их основе зависимостях с открытым исходным кодом. Когда в сторонней библиотеке обнаруживается уязвимость высокой степени критичности, организации сталкиваются с трудным выбором: спешно проводить мажорное обновление версии и рисковать сбоями в production-среде или оставаться уязвимыми в ожидании циклов валидации. Разрешение этого противоречия требует обращения к апстриму — оригинальному сообществу разработчиков программного обеспечения, где создается и поддерживается проект.

Исправление безопасности должно дойти до той версии зависимости, которую использует предприятие. Если уязвимость также затрагивает исходный проект с открытым исходным кодом, устранение проблемы включает в себя совместную работу с его мейнтейнерами над исправлением общей кодовой базы.

Представьте подтвержденную уязвимость в зависимости, для которой ваше production-приложение использует закрепленную версию (конкретную версию ПО, которая намеренно продолжает использоваться). Переход на последний мажорный релиз не всегда возможен в кратчайшие сроки — это может нарушить критически важные API, вызвать дорогостоящие циклы регрессионного тестирования или нарушить требования нормативных сертификатов. Обновление также требует обширного тестирования на совместимость.

Lightwell — это совместная инициатива IBM и Red Hat, которая предоставляет исправления безопасности и средства минимизации рисков для подходящих сторонних зависимостей с открытым исходным кодом по модели подписки. Она разработана для того, чтобы помочь организациям справляться с уязвимыми зависимостями, когда обычное обновление версии создает риски для совместимости, сертификации или работоспособности системы.

Когда в апстриме уже есть исправление

Предположим, что в этой ситуации более свежий релиз в апстриме уже исправил затронутое поведение. Закрепленный релиз остается уязвимым. Исправление в общем проекте не автоматически доходит до приложения, созданного на базе более старой версии. Если новый релиз отвечает требованиям совместимости и развертывания приложения, обновление может быть правильным выбором.

Когда обновление не может сразу соответствовать этим требованиям, альтернативным вариантом для рассмотрения становится бэкпорт (исправление, адаптированное для более старого релиза ПО). Он нацелен на устранение проблемного поведения в старом коде, предоставляя разработчику приложения меньший по объему объем изменений для тестирования по сравнению с релизом, содержащим посторонние изменения. Разумеется, приложение все равно нуждается в тестировании — небольшое изменение также может повлиять на поведение системы.

Идентификация артефактов помогает связать это решение со сборкой. Артефакт (упакованное программное обеспечение, используемое при сборке) может сохранять базовую версию апстрима, одновременно идентифицируя добавленные исправления безопасности. Документация по суффиксам версий Lightwell иллюстрирует это на примере 5.3.17.rhlw-00001: базовая версия 5.3.17 с первым уровнем патчей Lightwell. Проверка только базовой версии может привести к пропуску состояния патчей сборки.

Мы бы проверили точный пропатченный артефакт в отношении зависимости приложения и протестировали затронутое поведение. Текущий код в апстриме уже содержит исправление, поэтому мейнтейнерам не нужно заново открывать старую ветку или повторно объединять то же исправление. Но что меняется, когда текущий код в апстриме также нуждается в новом исправлении?

Когда исправление требует проверки в апстриме

Теперь изменим один факт. Тому же гипотетическому приложению требуется устранение проблемы, и текущий код исходного проекта также содержит уязвимость. Подготовка изменения для более старого релиза и предложение исправления для текущего кода — это взаимосвязанные задачи. Для них могут потребоваться разные реализации, поскольку код изменился между релизами. Бэкпорт, который работает в приложении, сам по себе не определяет, что именно должно войти в следующий релиз проекта.

Это решение принимается с участием мейнтейнера апстрима (человека, ответственного за проверку и поддержку кода исходного проекта). Опубликованный жизненный цикл поставки патчей Lightwell описывает отправку патчей в исходный проект и работу с его сообществом в направлении слияния (включения изменения в код проекта). Отправка запускает обсуждение кода, его последствий для безопасности и предлагаемого изменения. Мейнтейнер обладает знаниями о проекте, которых может не быть в отчете о приложении клиента.

Полезный отчет для апстрима определяет затронутые версии, воспроизводит проблемное поведение и объясняет последствия для безопасности. Мейнтейнеры оценивают эти данные в соответствии с моделью угроз проекта (проблемами безопасности и предположениями, на решение которых рассчитан проект). Оперативная срочность клиента может отличаться от оценки степени критичности в апстриме — объяснение этих различий помогает обеим сторонам определить, какое исправление и куда должно быть направлено. Мы бы сделали это различие очевидным до обсуждения срочности.

Мэтью Миллер (Matthew Miller) — заслуженный инженер Red Hat, бывший лидер проекта Fedora и руководитель направления стратегии апстрима в Lightwell. Он объясняет цель этого вклада: «Мы хотим, чтобы создаваемые нами исправления делали весь мир безопаснее, а это может произойти только благодаря работе с мейнтейнерами и сообществами апстрима». Для организаций, использующих ПО, сотрудничество с апстримом также является страховым полисом против технического долга. Когда исправление принимается публичным проектом, будущие обновления сообщества сохраняют эту логику безопасности, предотвращая изоляцию вашей организации на отдельном, не поддерживаемом частном форке.

Цель передачи подходящего исправления в апстрим состоит в том, чтобы избежать бесконечного поддержания отдельной версии кода. Форк (отдельно поддерживаемая версия кода проекта) влечет за собой постоянные обязанности. Когда последующие обновления затрагивают измененную область, кто-то должен проверить, применимо ли отдельное исправление по-прежнему. Включение исправления в общий код может уменьшить это расхождение. Принятие в апстрим не устраняет все обязанности по обслуживанию даунстрима: старые подходящие версии все еще могут требовать бэкпортов, поскольку их код отличается от текущего релиза.

Таким образом, работа продолжается и после отправки патча. Постоянное взаимодействие включает в себя обсуждения с мейнтейнерами и практическую помощь там, где это помогает продвинуть исправление вперед. Мейнтейнеру могут потребоваться разъяснения, изменения в патче или время на его проверку. Продолжение взаимодействия дает людям, выполняющим эту работу, возможность совместно разрешать вопросы. Помощь зависит от проекта и самого исправления; решение о принятии предложенного изменения по-прежнему принимает мейнтейнер.

CVE-2026-92877, идентификатор уязвимостей и воздействий (CVE), иллюстрирует разницу между исправлением в апстриме и публичным раскрытием информации об уязвимости. Согласно опубликованным данным, Хузаифа Сидпурвала (Huzaifa Sidhpurwala) из Lightwell обнаружил уязвимость внешней XML-сущности (XXE) в JAXB-RI, эталонной реализации Eclipse для Jakarta XML Binding, предназначенной для сопоставления XML-документов с объектами Java. В затронутых условиях обработки ненадежный XML мог заставить приложение читать локальные файлы. В записи содержится ссылка на изменение по укреплению безопасности в апстриме, объединенное 8 сентября 2026 года; CVE была опубликована 12 октября 2026 года.

Для руководителя службы безопасности или главного инженера приложения отправленный вышестоящий патч оставляет задачи по проверке и обслуживанию, которые необходимо отслеживать. Для инженера, который вносит исправление в вышестоящий проект, проверка мейнтейнером может потребовать изменений в этом патче. Нам хотелось бы знать, что остается предметом обсуждения и кто помогает это разрешить. Опыт работы с сообществами может помочь такому взаимодействию, в том числе с незнакомыми проектами. Это не дает Lightwell контроля над их решениями по проверке или графиками релизов.

Отчет, отправленный патч, принятое изменение и выпущенная версия описывают разные состояния. Конфиденциальная координация также может означать, что работа продвигается до появления публичной записи. Ни одно из этих состояний не гарантирует, что в вашем приложении развернуто исправление. Артефакт заказчика и исправление проекта должны оставаться видимыми одновременно, с четким отчетом о том, до какого этапа дошел каждый из них.

Свяжите устранение уязвимостей у клиента с общим обслуживанием

Отслеживание средства устранения, доступного для развернутой версии, наряду со статусом исправления в вышестоящем проекте объединяет эти два сценария. Если в вышестоящем проекте исправление уже есть, приложению все равно может потребоваться бэкпорт. Если вышестоящему проекту также требуется новое исправление, проект имеет работу по проверке наряду с работой приложения по устранению уязвимости. В любом случае, изменение в общей кодовой базе и артефакт, подходящий для развернутой версии, отвечают на связанные вопросы об одной и той же зависимости.

Политика поддержки Lightwell Network делает эту связь предметной в рамках своей сферы действия. В ней описываются протестированные подписанные патчи для указанных текущих и более старых версий библиотек, отправка исправлений безопасности в текущие вышестоящие проекты, а также поддержка исправлений до тех пор, пока ожидается их принятие вышестоящим проектом. Это дает читателю основание для запросов как о доступном контенте, так и о продолжении обслуживания. Это не гарантирует, что конкретное предложение было принято, и не определяет дату его слияния с кодом.

Мы считаем особенно полезным изучать ответственность за обслуживание в процессе проверки. Вашей команде приложения необходимо знать, что она может получить и протестировать прямо сейчас. Ей также необходимо понимать, находится ли исправление уже в текущем вышестоящем коде или мейнтейнеры все еще его обсуждают. Обязательства поставщика по внесению вкладов помогают объяснить выполняемую им работу; статус конкретного исправления говорит о том, на каком этапе находится эта работа.

Lightwell Network — это доступный в настоящее время вариант подписки Lightwell для самообслуживания, обеспечивающий доступ к доступным, подходящим подписанным библиотекам, средствам устранения уязвимостей и пропатченным артефактам через защищенные репозитории Red Hat. Она не включает приоритизацию уязвимостей для конкретного клиента. Для приложения из нашего примера первым практическим вопросом является наличие применимого контента для его зависимости и версии.

Lightwell Clearinghouse в целом доступен для имеющих право организаций для запросов по уязвимостям и пакетам для конкретных клиентов в рамках утвержденной сферы действия. Он включает преимущества Network, проверку уязвимостей и координацию раскрытия информации. Если ваша зависимость требует проверки для конкретного клиента, уточните у Red Hat, подходит ли для этой цели участие в Clearinghouse.

Взаимодействие с вышестоящими проектами решает проблему цепочки поставок, но корпоративное управление по-прежнему определяет график развертывания. Когда доступно применимое средство устранения, вашей команде все равно нужно собрать, протестировать и выпустить измененное приложение. Политика поддержки Lightwell Network исключает отладку клиентских приложений и техническую помощь в применении патчей. Руководитель службы безопасности или главный инженер организации-подписчика по-прежнему должен назначить ответственных за тестирование приложения и принятие решения о релизе. Разработчик приложения, отвечающий за эту зависимость, должен проверить, как измененная библиотека ведет себя в приложении.

Тем временем участие Red Hat в вышестоящих проектах направлено на то, чтобы перенести исправление в общее обслуживание, где это уместно. Доступное для клиента средство устранения и изменение в вышестоящем проекте могут развиваться с разной скоростью; понимание обоих моментов делает следующее решение более ясным.

Что это значит для вашего приложения

Начните с точной зависимости и версии, которые использует ваше приложение. Проверьте, доступно ли применимое средство устранения от Lightwell и присутствует ли исправление уже в текущем вышестоящем коде или оно все еще находится на рассмотрении. Протестируйте пропатченный артефакт в своем приложении и назначьте ответственного за принятие решения о релизе.

Устранение уязвимостей для конкретных версий решает сиюминутную задачу приложения. Устойчивое взаимодействие с вышестоящими проектами помогает сделать надлежащее исправление частью совместной разработки и обслуживания. Понимание обоих аспектов дает вашей команде более четкую основу для принятия решения о том, что развернуть сегодня, а что отслеживать далее.

Изучите Lightwell, чтобы оценить путь устранения уязвимостей для ваших зависимостей.

← Все статьи

О чём эта статья

Ещё в разделе «Разработка ПО»

Все →
11 лучших практик для email-всплывающих окон с реальными примерами
Klaviyo

11 лучших практик для email-всплывающих окон с реальными примерами

Почему пользователи уходят с 13 лучших платформ для email-маркетинга
Activecampaign

Почему пользователи уходят с 13 лучших платформ для email-маркетинга

Прогнозирование спроса с помощью ИИ в электронной коммерции
Shipstation

Прогнозирование спроса с помощью ИИ в электронной коммерции

Является ли накопленная амортизация активом в вашем балансовом отчете? (2026)
Shopify

Является ли накопленная амортизация активом в вашем балансовом отчете? (2026)

Как создать карту позиционирования бренда (2026)
Shopify

Как создать карту позиционирования бренда (2026)

5-минутная демоверсия: Как управлять приложениями в масштабе с помощью Red Hat OpenShift
Red Hat

5-минутная демоверсия: Как управлять приложениями в масштабе с помощью Red Hat OpenShift

Ещё от Red Hat

5-минутная демоверсия: Как управлять приложениями в масштабе с помощью Red Hat OpenShift
Red Hat

5-минутная демоверсия: Как управлять приложениями в масштабе с помощью Red Hat OpenShift

Friday Five — 6 ноября 2026 г.
Red Hat

Friday Five — 6 ноября 2026 г.

Преодоление разрыва в исправлении уязвимостей открытого кода: представляем два новых урока по Lightwell
Red Hat

Преодоление разрыва в исправлении уязвимостей открытого кода: представляем два новых урока по Lightwell

Анонс Fedora 45
Red Hat

Анонс Fedora 45

Friday Five — 30 октября 2026 г.
Red Hat

Friday Five — 30 октября 2026 г.

Ответственное раскрытие уязвимостей в эпоху Vulnpocalypse
Red Hat

Ответственное раскрытие уязвимостей в эпоху Vulnpocalypse