Libxml2 — одна из самых известных библиотек для парсинга XML, существующая уже более 25 лет. За это время проект приобрел огромную популярность и стал неотъемлемой частью множества open source решений, а также коммерческого и государственного программного обеспечения. Несмотря на свои успехи, Libxml2 столкнулась с характерными проблемами экосистемы свободного программного обеспечения, особенно в области поддержки безопасности и взаимодействия с корпоративным сектором. В 2025 году произошло событие, которое привлекло внимание сообщества разработчиков и безопасности — инициатива либерального поддерживающего проекта, Майка Веллнхофера, отказаться от традиционной практики внедрения эмбарго на публикацию информации об уязвимостях. По сути, политика Libxml2 изменяется так, что любые вопросы безопасности будут рассматриваться как обычные баги, а информация о них будет освобождаться в момент их обнаружения без задержек.
Изначально Libxml2 была создана Даниэлем Вейльярдом в рамках проекта GNOME и распространялась по крайне разрешительной лицензии MIT. Это позволило ей быстро завоевать доверие со стороны разработчиков и крупного бизнеса. Несмотря на это, за годы существования возникали сложности с поддержкой. Главный поддерживающий проект долгое время не мог уделять ему должного внимания, и ключевые участники, такие как Веллнхофер, приходили и уходили, работая в основном на волонтерских началах либо по спонсорской поддержке крупных компаний, например, Google. Ключевой проблемой стала нагрузка на поддерживающих, связанную с обработкой сообщений о баги, особенно в сфере безопасности.
Зачастую специалисты по безопасности становились источником постоянных запросов, требующих ускоренных исправлений, присвоения CVE и соблюдения графика рассекречивания уязвимостей. Однако поддерживающие Libxml2 не получали достаточной мотивации либо ресурсов, чтобы «работать бесплатно» ради интересов исследователей и коммерческих организаций, которые использовали библиотеку повсеместно, но не вкладывали существенных усилий в сопровождение. В свете этого Майк Веллнхофер обнародовал новую политику, по которой он отказывается от «эмбарго безопасности». Он считает, что режим, в котором уязвимости скрывались и исправлялись в тайне на протяжении длительного времени, приносит больше вреда, чем пользы. Во-первых, потому что зачастую эти задержки используются исследователями для собственной выгоды, создавая информационный шум и козырь в резюме.
Во-вторых, из-за сложности и многогранности ошибок бывают ситуации, когда на исправление уязвимости уходит несколько релизов, а эмбарго тормозит этот процесс и мешает постепенному улучшению безопасности. Отказ от эмбарго — идея, вызвавшая широкий резонанс в сообществе. Сторонники считают, что открытость и прозрачность помогают быстрее реагировать на угрозы. Пользователи получают информацию в режиме реального времени и могут оперативно обновляться. Кроме того, снижает нагрузку на поддерживающих, которым не приходится постоянно взаимодействовать с исследователями, настаивающими на соблюдении своих условий и сроков.
Противники указывают на риски, связанные с тем, что открытая публикация уязвимостей без готовых патчей может способствовать быстрым атакам «ноль-дня». В этом контексте проект Libxml2 вызывает опасения, учитывая, что код написан на языке C, который известен своей уязвимостью к ошибкам управления памятью и сложностью влечения за собой ошибок безопасности. Еще одной гранью обсуждения становится роль крупных технологических корпораций, таких как Apple, Google и Microsoft. Несмотря на широкое использование Libxml2 в их продуктах, эти компании зачастую не проявляют заметного участия в развитии и поддержке проекта. Бывают случаи, когда уязвимости локально исправляются в собственных форках, без обратной передачи изменений в сообщество.
Анализ Apple показал, что код их версии Libxml2 содержит множество изменений, часто плохо документированных, что затрудняет их интеграцию в upstream. Это явление создает двойные стандарты и увеличивает технический долг. Данная ситуация является отражением общей проблемы открытых проектов: поддержка, особенно в области безопасности, требует значительных ресурсов, которые не всегда компенсируются. В условиях, когда исследования и сообщения об ошибках используются как средство получения славы или материального вознаграждения без взамен соответствующего вклада в исправления, уволонтеренные разработчики испытывают выгорание и разочарование. Новая политика Libxml2 также стимулирует разговоры о необходимости формализации вопросов поддержки в open source.
Появляются идеи внедрить так называемые файлы MAINTENANCE-TERMS.md, в которых четко оговариваются условия участия, доступности и ответственности разработчиков и мейнтейнеров. Идея заключается в том, чтобы сохранить психологическую безопасность авторов, позволяя им «сказать нет» запросам корпораций без риска быть обвиненными или принужденными продолжать работу в ущерб своему времени и ресурсу. В то же время в сообществе растет обеспокоенность относительно качества и безопасности Libxml2 как «инфраструктурного» компонента. Распространение устаревших или потенциально небезопасных решений в ядрах операционных систем и браузерах ставит под угрозу миллионы пользователей по всему миру.
Важным аспектом является влияние законодательных инициатив, таких как Европейский закон о киберустойчивости (Cyber Resilience Act, CRA). Согласно этому закону, производители программного обеспечения, распространяющегося вместе с цифровыми продуктами, обязаны отслеживать уязвимости и обеспечивать их исправление, а также сотрудничать с разработчиками компонентов. По мнению многих экспертов, такие регулятивные меры могут стать катализатором улучшения ситуации с поддержкой open source проектов, включая Libxml2, поскольку накладывают юридическую ответственность на корпорации за состояние безопасности компонентов, которые они используют. Тем не менее на практике ситуация пока выглядит сложно. Многие корпорации продолжают использовать Libxml2 без значительного вклада в ее сопровождение, а мейнтейнеры вынуждены балансировать между бесплатной работой и выгоранием.
В данном контексте отказ от эмбарго — это своего рода манифест усталости и призыв к переосмыслению модели взаимодействия. Эксперты советуют, что долгосрочным выходом из ситуации может стать переход к более устойчивым моделям финансирования и организации поддержки. Это могут быть модели спонсорства, оплачиваемой работы мейнтейнеров, а также укрепление моделей ответственности всех участников экосистемы. Либо компании должны либо вкладываться в улучшение такого программного обеспечения, либо искать другие решения. Итогом обсуждения политики Libxml2 по безопасности становится понимание того, что текущая модель open source может оказаться неприменимой для масштабных и критически важных проектов без изменений.
Принципы открытости и бесплатного распространения остаются, но вопросы поддержки, ответственности и финансовой мотивации требуют новых подходов и коллективных усилий. Libxml2 демонстрирует не только технические вызовы, но и социальные, юридические и организационные вопросы, которые в ближайшие годы будут все активнее обсуждаться и влиять на развитие свободного программного обеспечения. Переход к открытому раскрытию уязвимостей без эмбарго — это смелый шаг, который может стать прецедентом для других проектов и стимулировать создание более эффективных и справедливых моделей поддержки безопасности.