Кратко
- Подтверждённый инцидент необычайно точен. Релизные архивы XZ Utils 5.6.0 и 5.6.1 содержали бэкдор. Части полезной нагрузки были скрыты в бинарных тестовых файлах, добавленных в исходный репозиторий, а модифицированный генерируемый файл
build-to-host.m4, присутствовавший только в релизных архивах, поставлял триггер, изменявший сборку. Впервоначальном раскрытии Andres Freund от 29 марта 2024 годазадокументированы это расхождение и условия, при которых сборка Debian или RPM могла привести к созданию вредоносногоliblzma. - Радиус поражения ограничили сроки и стадии релизов дистрибутивов, а не доказательства безопасности артефактов. Debian откатила затронутые пакеты в testing, unstable и experimental; Red Hat предупредила пользователей Fedora Rawhide и бета-версии Fedora Linux 40; openSUSE откатила Tumbleweed и MicroOS; выпущенные версии Ubuntu не пострадали. Публичные записи дистрибутивов не подтверждают массовую успешную эксплуатацию, но подтверждают экстренную работу по откатам, пересборкам, переустановкам, проверке учётных данных и расследованиям.
- Ответственность не может заканчиваться на вредоносной учётной записи, создавшей и подписавшей архивы. Проект XZ контролировал полномочия мейнтейнеров и выпуск релизов; хостинговые сервисы контролировали учётные записи репозиториев; дистрибутивы контролировали приём артефактов, комбинации патчей, продвижение пакетов и откат; коммерческие и государственные потребители контролировали инвентаризацию зависимостей и поддержку; координаторы безопасности контролировали каналы раскрытия. У каждой стороны были разные профилактические и ответные возможности.
- Долговременный тест — не в том, проходит ли подпись проверку. Действительная подпись может удостоверять вредоносный артефакт. Более сильный тест: могут ли независимые стороны связать проверенную ревизию исходников с релизным артефактом, воссоздать его или объяснить каждое допустимое отличие, проверить происхождение до продвижения, выявлять аномальные генерируемые или бинарные входные данные и отзывать право выпуска релизов, не полагаясь на одного вымотанного мейнтейнера.
Почему «почти не случившееся» всё равно создаёт запись об ответственности
XZ Utils — проект сжатия данных, а не продукт удалённого доступа. Тем не менее его библиотекаliblzmaнаходится глубоко в программных стеках Linux, и интеграция в дистрибутивах создала путь из библиотеки сжатия в запуск SSH-сервера. Поэтому инцидент нельзя оценивать только как вредоносный коммит или искусно скрытую техническую закладку.
Это был сбой целой цепочки полномочий: кто мог стать мейнтейнером, кто мог выпускать релизы, какие файлы считались генерируемыми и потому нормальными, какому артефакту доверял дистрибутив, как пакет встраивался в более крупную операционную систему и кто мог остановить распространение, когда доказательства изменились.
Втекущей записи проекта о безопасностиуказано, что релизные архивы 5.6.0 и 5.6.1 содержали бэкдор, что эти архивы создала и подписала учётная запись под именем Jia Tan и что инцидент остаётся в стадии расследования. Там также зафиксировано, что оригинальный мейнтейнер контролировал основную инфраструктуруtukaani.org, тогда как вредоносный со-мейнтейнер имел доступ к ресурсам проекта на GitHub, включая прежний поддомен проекта.
Эти факты важны, потому что разделяют контроль точнее, чем общая фраза «проект был скомпрометирован». Основной веб-сайт, Git-репозиторий, организация на GitHub, релизные артефакты, ключи подписи, маршрутизация почты, зеркала пакетов и репозитории дистрибутивов были связанными, но не идентичными поверхностями контроля.
Это также «почти не случившееся» в конкретном смысле. Скомпрометированные апстрим-версии попали в каналы разработки, rolling, testing, experimental или бета-каналы нескольких дистрибутивов, но публичные записи не показывают, что они дошли до широкой стабильной аудитории Linux. Fedora позже описала инцидент как бэкдор, который «почти произошёл», и заявила, что у неё нет доказательств его использования в Fedora. Такая локализация имеет значение: она не позволила потенциальному вреду стать подтверждённым вредом.
Однако «почти» не означает «без издержек». Мейнтейнерам и командам безопасности пришлось восстанавливать релизы и коммиты. Дистрибутивам пришлось выявлять пакеты, останавливать или менять архивные операции, публиковать срочные рекомендации, откатывать версии, пересобирать снапшоты, а в некоторых случаях советовать переустановку систем. Операторам пришлось определять, устанавливались ли уязвимые пакеты вообще, был ли SSH экспонирован, требовалась ли ротация учётных данных и достаточно ли чистой замены пакета.
Реагирование поглотило дефицитное экспертное время именно потому, что релизному артефакту нельзя было доверять как прозрачному производному проверенного репозитория.
Поэтому вопрос об ответственности шире, чем вопрос о том, кто написал вредоносный код. Он звучит так: у кого была практическая возможность предотвратить, обнаружить, ограничить, обратить вспять или проверить каждый переход — от доверия контрибьютору к праву коммитов, от коммита к тегу, от тега к архиву, от архива к пакету дистрибутива и от пакета к работающему сервису? Ответственность следует за этими возможностями. Её нельзя возлагать на волонтёра только потому, что его имя фигурирует в проекте, и нельзя растворять в «сообществе» так, чтобы ни у одного института не осталось измеримой обязанности.
Проверяемая хронология: доверие, релиз, обнаружение и восстановление
Социальная предыстория вредоносных релизов частично реконструирована по публичным записям списков рассылки и репозиториев.Документированная хронология Russ Cox— независимый синтез, а не судебный вывод. Она подтверждает даты публичных вкладов, сообщений, коммитов, релизов и действий дистрибутивов. Она не доказывает, что каждая онлайн-личность принадлежала одному человеку или организации. Это различие необходимо учитывать, используя хронологию как доказательство ответственности.
| Дата | Подтверждённое событие и границы доказательств |
|---|---|
| 2021-10-29 | Учётная запись под именем Jia Tan отправила первоначальный безобидный патч в список разработчиков XZ. Так начинается публичная история вклада; это не устанавливает реальную личность владельца учётной записи, его местонахождение, работодателя или мотивы. |
| Апрель — июнь 2022 года | Публичные сообщения в списке критиковали темпы сопровождения и призывали к делегированию полномочий, пока Jia Tan вносил вклад. Сами сообщения и их время наблюдаемы. Утверждение, что другие персоны были скоординированными фейковыми аккаунтами, — обоснованный вывод, а не подтверждённое установление личности. |
| 2022-06-29 | Оригинальный мейнтейнер публично написал, что Jia Tan уже фактически является со-мейнтейнером и что идёт смена состава мейнтейнеров. Это доказательство делегированных практических полномочий, а не доказательство того, что делегировавший мейнтейнер знал о скрытом вредоносном плане. |
| 2022-12-30 | История репозитория показывает, что Jia Tan напрямую вливал пакеты коммитов — к этому моменту у него уже был доступ к коммитам. |
| 2023-03-18 | Jia Tan создал тег и собрал XZ Utils 5.4.2 — первый релиз этой учётной записи в реконструированной публичной хронологии. Право выпуска релизов, таким образом, ушло далеко за пределы обычного контрибьюторства задолго до версий с бэкдором. |
| Июнь — июль 2023 года | В проект вошли изменения, связанные с GNU indirect functions, а в сборках OSS-Fuzz соответствующая функциональность была отключена. Позднейший анализ показал, что механизм косвенных функций был полезен закладке, но не каждое отдельное изменение независимо доказано вредоносным лишь потому, что позже стало частью цепочки. |
| 2024-02-23 | Бинарные тестовые файлы со скрытым материалом полезной нагрузки были добавлены в репозиторий. В тестовом корпусе библиотеки сжатия такие файлы выглядели правдоподобно: повреждённые и вручную созданные сжатые входные данные там обычное дело. |
| 2024-02-24 | Вышел XZ Utils 5.6.0. Релизный архив содержал дополнительный модифицированный M4-файл, который при выбранных условиях активировал извлечение данных и манипуляцию сборкой. |
| 26 февраля — 5 марта 2024 года | Debian приняла 5.6.0 в unstable, а затем в testing. Это показывает, что обычное продвижение в дистрибутивах могло вести подписанный апстрим-релиз к более широкому использованию до того, как скрытое отличие артефакта было понято. |
| 2024-03-09 | Вышел XZ Utils 5.6.1 с обновлённым вредоносным материалом. Публичный технический анализ связал обновление с наблюдаемым поведением Valgrind и сбоями, однако частные обсуждения вокруг релиза остаются неизвестными. |
| 2024-03-25 | Человек под именем Hans Jansen подалбаг-репорт Debian 1067708с просьбой импортировать 5.6.1 и указанием на исправление в Valgrind. Сам факт подачи подтверждён; скоординированность с другими личностями не установлена. |
| 2024-03-28 | Согласно реконструкции Cox, на эту дату приходится частное сообщение Freund в Debian и в список рассылки по безопасности дистрибутивов. Debian приняла срочный пакет с откатом к 5.4.5. Точное начало расследования Freund менее определено; в его собственном раскрытии сказано, что он наблюдал симптомы в течение предыдущих недель. |
| 2024-03-29 | Freund сделал публичное раскрытие. ВDSA-5649-1 от Debianсообщалось, что ни одна стабильная версия Debian, насколько известно, не затронута, и пользователям testing и unstable предписано обновиться.Срочное предупреждение Red Hatсообщило, что RHEL не затронут, назвало подверженные риску сборочные версии Fedora и призвало немедленно прекратить использование или выполнить откат. |
| 28–30 марта 2024 года | Уведомление openSUSE об инцидентефиксирует, что затронутый XZ присутствовал в Tumbleweed и MicroOS с 7 по 28 марта, что мейнтейнеры 28 марта выполнили откат и что пользователям с доступным из интернета SSH следует рассмотреть чистую установку, поскольку данные об эксплуатации отсутствуют. Debianприостановила обработку архива, пока продолжался анализ. |
| С 29 марта 2024 года | Государственные и отраслевые организации выпустили рекомендации.Консультация CERT-EUописала удалённое выполнение кода до аутентификации, возможное при наличии соответствующего ключа, и рекомендовала откат.Запись CVEдала инциденту общий идентификатор. |
| 2–9 апреля 2024 года | Учётная запись оригинального мейнтейнера на GitHub была восстановлена, инфраструктура проекта вернулась под контролируемый мейнтейнером домен, а Git-репозитории снова стали доступны на GitHub. Это были действия по отзыву полномочий и обеспечению непрерывности — сами по себе они не доказывают, что все исторические исходники и релизы были чистыми. |
| 2024-04-15 | OpenSSF и OpenJS опубликовалипредупреждение о захватах проектов методами социальной инженерии, используя XZ как повод для мейнтейнеров и фондов считать подозрительное давление и попытки захвата риском для всей экосистемы. |
| 2024-05-29 | Проект XZ опубликовал версию 1.0 подробных заметок о ревизии и выпустил новые чистые релизы. Это дало публичный артефакт исправления: документированную ревизию коммитов и новую линию релизов под восстановленными полномочиями. |
| 2025-01-17 | Страница проекта о бэкдоре получила зафиксированное обновление и по-прежнему описывала инцидент как находящийся в стадии расследования. Отсутствие более поздних публичных данных об атрибуции или предъявлении обвинений не должно превращаться в уверенность о том, кто управлял учётными записями. |
| 2026-03-31 | Текущая страница проекта XZуказывает XZ Utils 5.8.3 как стабильный релиз, называет поддерживаемые ветки, предоставляет подписанные архивы исходного кода и допускает сборку из соответствующего Git-тега. Это подтверждает непрерывность проекта на дату отсечения, а не полную институциональную проверку всех релизных механизмов контроля. |
Эта хронология показывает двое очень разных часов. Часы доверия шли более двух лет: вклад, делегированное сопровождение, прямой доступ к коммитам и право релизов. Часы локализации шли дни: расследование аномалии, частная координация, публичное раскрытие, откат, контроль архива и восстановление. Вторые часы сработали впечатляюще. Это не стирает первые. Долговременная подотчётность должна снижать шанс того, что терпеливый захват тихо доберётся до права релизов, сохраняя при этом способность реагировать так же быстро, как сообщество в марте 2024 года.
Технический сбой контроля — разрыв между тегом и архивом
Ключевой технический факт не в том, что генерируемые файлы сами по себе небезопасны. Проекты на Autotools обычно распространяют генерируемые сценарииconfigureи M4-материалы, чтобы пользователям и дистрибутивам не требовались точно совпадающие версии инструментов для начальной сборки. Сбой контроля состоял в том, что генерируемый файл с поведением, значимым для безопасности, мог появиться в релизном архиве без обязательного, независимо проверенного объяснения того, чем он отличается от тегированного репозитория.
Freund обнаружил, что изменённая строкаbuild-to-host.m4отсутствует в апстрим-исходнике этого файла и не используется XZ в Git, но присутствует в дистрибутивных архивах 5.6.0 и 5.6.1. Сценарий извлекал дополнительный материал из файлов, похожих на тестовые сжатые входные данные. Затем он изменял сборкуliblzma, когда совпадали выбранные условия окружения. Эти условия сужали выполнение до среды x86-64 Linux с GCC и GNUldи до контекста сборки пакета Debian или RPM.
Нацеливание одновременно снижало вероятность случайного обнаружения и помещало результат ровно туда, где дистрибутивы превращают апстрим-релиз исходного кода в доверенные бинарные файлы.
Исходный репозиторий не был чистым в обычном смысле. В нём находился замаскированный материал полезной нагрузки в бинарных тестовых файлах и несколько подготовительных изменений. Но в самом репозитории не хватало триггера, существующего только в релизе, который нужен для сборки и внедрения бэкдора. Это различие разбивает распространённое, но слабое заверение: «исходники открыты, значит, кто-то может их проверить». Какие именно исходники? Git-тег, автоматически созданный архив GitHub, поддерживаемый апстримом релизный архив, импортированный дистрибутивом исходный пакет и файлы, реально переданные компилятору, могут различаться.
Проверка одного не подтверждает остальные.
Заметки проекта о ревизии после инцидентаделают расхождение проверяемым. Lasse Collin изучил коммиты репозитория, выявил коммиты, подготовившие или обновившие файлы бэкдора, проверил переводы и сравнил более ранние релизные архивы с Git, задокументировав безобидные исключения, такие как генерируемые переводы и журнал изменений. В ревизии также отмечено, что коммиты не были подписаны и что прямая история коммитов не показывает признаков подделки авторства. Это полезное негативное доказательство, но оно сужает, а не закрывает дело: вредоносному действию не нужна была подделанная личность автора коммита, когда вредоносная учётная запись уже обладала легитимными полномочиями.
Отсюда прямо следует проблема подписи. Скомпрометированные релизные архивы были подписаны той же учётной записью, которая их создала. Криптографическая проверка могла установить, что артефакт соответствует тому, что одобрил этот ключ подписи. Она не могла установить, что артефакт соответствует проверенному тегу, что его генерируемые файлы получены одобренным рецептом сборки или что подписавший действовал честно. Подпись отвечает на вопрос «какой ключ поручился за эти байты?». Она не отвечает на вопросы «должны ли эти байты существовать?» и «воспроизвели ли их две независимые стороны из проверенной нами ревизии исходного кода?»
И это не просто уязвимость SSH внутри XZ. OpenSSH не зависел напрямую отliblzma. В затронутой конструкции, описанной Freund, интеграция с systemd в дистрибутивах приводила к тому, чтоsshdзагружал цепочку, доходившую доliblzma. Внедрённый код использовал раннее поведение динамического компоновщика и перенаправлял криптографическую функцию, связанную с аутентификацией. Это поверхность сбоя композиции зависимостей: апстрим XZ контролировал выпуск библиотеки; дистрибутивы контролировали сборку пакета и связь между компонентами; операторы контролировали, работал ли итоговый SSH-сервис и был ли он доступен извне.
Ни одна сторона не видела всю поверхность атаки, глядя только на свой репозиторий.
Официальная реакция экосистемы сохранила этот нюанс.Первоначальная заметка OpenSSF об инцидентеописала нацеливание на пакеты DEB или RPM на x86-64 с GCC и GNU linker, призвала пользователей перестать использовать 5.6.0 и 5.6.1 и отметила, что поэтапные релизные процессы дистрибутивов удержали число затронутых пользователей относительно небольшим. Урок не в том, что предрелизные каналы необязательны. Урок в том, что стадии продвижения являются границами безопасности, когда они создают время для независимого наблюдения и дают обратимую точку остановки плохого артефакта.
Кто что контролировал
Ответственность становится конкретной, когда контроль разделён по функциям. Приведённое распределение не утверждает равной вины. Оно показывает, что каждая сторона реалистично могла изменить до, во время или после инцидента.
| Сторона | Практический контроль | Профилактическая возможность | Обязанность реагировать и доказывать | Граница ответственности |
|---|---|---|---|---|
| Оригинальный мейнтейнер XZ и управление проектом | Доверие к контрибьюторам, делегирование, часть инфраструктуры, политика проекта и последующее восстановление | Разделить полномочия коммитов и релизов; требовать рецензирования генерируемых файлов и бинарных тестовых данных; сохранять нескольких доверенных мейнтейнеров; документировать производство релизов | Отозвать скомпрометированный доступ, опубликовать затронутые версии, провести ревизию истории, выпустить чистые релизы, объяснить оставшуюся неопределённость | Волонтёр-мейнтейнер не имел ни штата, ни телеметрии, ни рычагов закупок, ни глобальной видимости зависимостей, которыми располагали потреблявшие XZ компании и дистрибутивы |
| Вредоносная учётная запись со-мейнтейнера | Легитимный доступ к коммитам, создание релизов, подписи релизов, ресурсы на GitHub и социальное влияние | Злоумышленник мог просто не злоупотреблять; намеренное скрытие делает это основным противоправным поведением в технической записи | Для закрытия вопроса потребовались бы полное раскрытие и сотрудничество, но в публичной записи такого сотрудничества нет | Реальная личность, спонсор, организационная структура и мотивы, стоящие за учётной записью, остаются неизвестными |
| Хостинг-провайдер репозитория и релизов | Учётные записи, доступ к организации, размещённые страницы, доступность релизных артефактов, логи, блокировка и восстановление | Надёжная защита учётных записей, неизменяемые релизы, аудируемые изменения прав и быстрое реагирование на злоупотребления могут перекрыть некоторые пути | Сохранить доказательства, заблокировать рискованный доступ, восстановить легитимный контроль и предоставить владельцам проекта пригодные аудиторские записи | Хостинговая платформа не может без специфической для проекта ревизии определить, что каждое технически корректное изменение исходников или подписанный релиз честны |
| Дистрибутивы Linux | Выбор апстрим-артефакта, импорт исходников, среда сборки, патчи дистрибутива, связывание зависимостей, продвижение по каналам, подпись пакетов, инструкции пользователям и откат | Сравнивать теги и архивы; перегенерировать генерируемые файлы; проверять происхождение; поэтапно выпускать релизы; проверять необычные бинарные дополнения; картировать цепочки зависимостей во время выполнения | Выявить затронутые версии пакетов, остановить продвижение, пересобрать из заведомо корректных исходников, дать точные инструкции операторам и заявить, какие доказательства эксплуатации существуют | Дистрибутивы не контролируют социальное доверие в апстриме и не могут вручную дизассемблировать каждый релиз каждой зависимости |
| Коммерческие вендоры ПО, облачные операторы и госучреждения | Инвентаризация зависимостей, выбор каналов ОС, экспонированность, ритм обновлений, реагирование на инциденты, закупки и финансовая или инженерная поддержка | Не допускать неотслеживаемые пакеты разработки в чувствительном продакшене; требовать доказательства артефактов; поддерживать критические зависимости; сохранять способность к быстрому откату и пересборке | Определить историю установки, изолировать экспонированные системы, при необходимости ротировать учётные данные и сохранить доказательства чистой замены | Большинство потребителей не могут независимо проверить каждую транзитивную зависимость; необходимы коллективная инфраструктура и гарантии дистрибутивов |
| Исследователи безопасности и сообщества координации | Наблюдение, технический анализ, частное уведомление, координация между дистрибутивами и публичное раскрытие | Поощрять простое сообщение о проблемах и сохранять время для расследования аномалий | Сообщать о затронутых условиях, не преувеличивая масштаб, делиться материалами обнаружения и координировать время раскрытия | Независимые исследователи не владеют системами вендоров и не могут принудить к исправлению или раскрыть частные логи, которых у них нет |
| Органы стандартизации и государственные кибервласти | Общие идентификаторы, предупреждения, рекомендуемые практики, ожидания госзакупок и координация экосистемы | Определять ожидания по происхождению, безопасной сборке, зависимостям и реагированию; вкладываться в инфраструктуру общественного интереса | Поддерживать актуальность рекомендаций и отличать статус консультации от правового решения | Рекомендация — не доказательство того, что конкретный проект соблюдал требования, а предупреждение — не вывод о гражданской или уголовной ответственности |
Карта контроля предотвращает две аналитические ошибки. Первая — делать козлом отпущения оригинального мейнтейнера. Публичные сообщения показывают ограниченные возможности и давление, но ограниченные возможности — не согласие на скрытый бэкдор. Организации, встроившие XZ в приносящие доход или публичные системы, имели больше ресурсов, чтобы финансировать ревизию, улучшать проверку в дистрибутивах или снижать зависимость от одного апстрим-канала релизов. Ванализе устойчивости CISA после инцидентапрямо утверждается, что производители технологий, зарабатывающие на открытом ПО, должны быть ответственными потребителями и устойчивыми контрибьюторами.
Вторая ошибка — считать дистрибутивы пассивными жертвами. Они не создавали бэкдор, но контролировали мост от апстрим-архива к установленному пакету операционной системы. Приёмка исходников в Debian, тестовые репозитории Fedora и rolling-снапшоты openSUSE были не канцелярскими зеркалами, а системами валидации и продвижения. Их поэтапные каналы ограничили широкое стабильное развёртывание, а экстренные меры удалили пакет. Успешное реагирование — доказательство реальной силы дистрибутивов, а значит, реальны и их обязанности по проверке.
Ущерб, экспонированность и издержки: что произошло и что могло произойти
Подтверждённый ущерб — это прежде всего экспонированность и издержки реагирования, а не задокументированное глобальное вторжение. Это различие должно сохраняться в любом пересказе.
Debian заявила, что ни одна стабильная версия, насколько известно, не затронута. Пользователям testing, unstable и experimental было сказано обновиться после отката пакета. Red Hat заявила, что ни одна версия RHEL не затронута, тогда как пользователи Fedora Rawhide могли получить 5.6.0 или 5.6.1, а бета-версия Fedora 40 содержала два затронутых пакета библиотеки 5.6.0. openSUSE сообщила, что Tumbleweed и MicroOS включали эту версию с 7 по 28 марта, но SUSE Linux Enterprise и openSUSE Leap были изолированы от этого потока.
Запись Ubuntu о CVEсообщает, что затронутая версия появлялась только вnoble-proposed, была удалена до миграции и ни одна выпущенная версия Ubuntu не затронута.
Эти границы не взаимозаменяемы со счётчиком скомпрометированных машин. Установка затронутого исходного пакета, сборка бинарного файла в среде, где сработал триггер, загрузка полученной библиотеки в целевую цепочку сервиса, экспонирование этого сервиса и получение валидного, созданного атакующим входного сигнала — отдельные условия. Публичные записи не перечисляют, сколько систем удовлетворяли всем им. Они также не устанавливают, сколько администраторов переустановили системы, ротировали учётные данные или провели криминалистическую проверку.
Также нет подтверждённой общей суммы денежного ущерба. Для её расчёта потребовались бы учёт трудозатрат, стоимость пересборок и простоев, расходы на облако и реагирование на инциденты и доказательства, отделяющие профилактическую работу от подтверждённой компрометации. Эти данные разрознены и по большей части приватны. Ответственная формулировка ущерба качественна, но тем не менее существенна:
- Команды безопасности и архива Debian откатили пакеты, выпустили предупреждение и временно приостановили обработку архива.
- Fedora и Red Hat расследовали различающиеся результаты сборок, опубликовали срочные рекомендации, выпустили пакеты отката и позже дали отбой тревоги. Вматериале Fedora от 15 апреляиз осторожности всё же рекомендовалась полная переустановка для систем, получивших плохое обновление или потенциально его получивших.
- openSUSE выпустила безопасный снапшот, задокументировала проверки версий, рекомендовала чистую установку для систем с SSH, доступным из интернета, и ротацию учётных данных там, где доступ мог их раскрыть.
- Апстрим-мейнтейнеры и независимые рецензенты изучили годы коммитов, релизные файлы, подписи, переводы и доступ к инфраструктуре, прежде чем выпустить чистые релизы.
- Предприятиям и государственным операторам пришлось провести инвентаризацию версий, изучить историю пакетов, оценить экспонированность SSH, провести внутренние коммуникации и сохранить доказательства в условиях неопределённости.
Гипотетический ущерб был бы гораздо больше. Вредоносная библиотека могла вмешиваться в обработку SSH до аутентификации в целевой конфигурации и, согласно более поздним публичным консультациям, позволять обладателю соответствующего приватного ключа выполнять команды. Если бы затронутый релиз попал в широко развёрнутые стабильные дистрибутивы, возможные последствия включали бы несанкционированный привилегированный доступ, кражу или изменение данных, перемещение внутри сети, нарушение работы сервисов, экстренные пересборки парка машин и недоверие к самому каналу распространения ПО.
Это сценарии риска, подтверждаемые технической возможностью, а не подтверждённые исходы инцидента.
Это различие влияет на ответственность. Стороне нельзя засчитывать предотвращение вреда, который в её среде никогда не становился возможным, и нельзя обвинять её в спекулятивных убытках, как будто они произошли. И наоборот, успешное реагирование на «почти случившееся» не должно использоваться для отмахивания от слабости контроля. Корректная запись гласит: широкий стабильный вред предотвращён; ограниченные каналы были экспонированы; экстренные издержки реальны; успешная эксплуатация и полная стоимость остаются недоказанными; потенциальная серьёзность оправдывала срочные действия.
Государственные, регуляторные и правовые документы
CVE-2024-3094 создал общий технический идентификатор, а не судебное решение. Ubuntu оценила проблему в 10,0 по CVSS 3.1, CERT-EU также сообщила об оценке 10 из 10. Государственные киберорганы и команды безопасности дистрибутивов рекомендовали откат или удаление. Эти действия установили серьёзность риска и разумную операционную реакцию. Они не установили юридически ответственное физическое лицо и не определили убытки.
В публичных материалах, просмотренных по состоянию на 15 июля 2026 года, нет подтверждённой уголовной атрибуции, публичного обвинительного документа, гражданского решения или взыскания регулятора против установленного оператора учётной записи Jia Tan. Этот негативный вывод намеренно узок. Он означает, что в цитируемых материалах проекта, дистрибутивов, правительств, органов стандартизации и публичных хронологий такого официального документа нет; он не доказывает, что конфиденциального расследования не существует.
Было бы безответственно приписывать кампанию стране, разведслужбе, работодателю или поименованному лицу на основании рабочего времени, языковых улик, доменов электронной почты или сложности закладки.
Государственные рекомендации по-прежнему важны для анализа ответственности. Они показывают, как публичные власти перевели инцидент в ожидания к производителям и потребителям ПО. Статья CISA об устойчивости связала инцидент с выгоранием мейнтейнеров, ответственным потреблением, вкладом, изолированными средами сборки, ревизией кода, сканированием и планированием реагирования. CERT-EU дала учреждениям немедленную позицию по устранению проблемы. Это политические и операционные документы, а не правовые стандарты с обратной силой, которые доказывали бы небрежность неоплачиваемого мейнтейнера.
Secure Software Development Framework от NISTдаёт более устойчивый словарь контроля. Он рекомендует защищать ПО, обеспечивать безопасность сред разработки, собирать и распространять данные о происхождении, проверять сторонние компоненты и реагировать на уязвимости. Фреймворк применим широко и полезен как покупателям, так и производителям. Его применение здесь — обоснованное сравнение мер контроля, а не утверждение, что XZ в 2024 году была обязана по договору следовать каждой практике NIST.
Поэтому правовая граница — часть честной аналитики. Намеренное внедрение бэкдора — противоправное поведение, но публичных доказательств об онлайн-учётной записи недостаточно, чтобы назвать стоящего за ней человека или организацию. Профилактическая рекомендация дистрибутива о переустановке — не доказательство доступа к машине. Оценка CVSS измеряет техническую серьёзность при допущениях; это не сумма убытков. Официальное предупреждение — не судебное решение. Статья может распределять операционные обязанности в соответствии с контролем, не фабрикуя правовой вердикт, которого нет в документах.
Доказательства исправления: сильная локализация, частичное институциональное закрытие
Реагирование дало больше публичных доказательств исправления, чем многие инциденты в цепочках поставок ПО. Доказательства делятся на четыре уровня.
Во-первых, полномочия были отозваны, а инфраструктура восстановлена.Оригинальный мейнтейнер зафиксировал, что скомпрометированная учётная запись больше не контролирует маршрутизацию почты проекта, прежний поддомен GitHub Pages удалён, собственная учётная запись мейнтейнера восстановлена, а репозитории проекта вернулись под легитимный контроль. Отзыв полномочий не позволил той же учётной записи выпустить новый релиз через тот же канал. Он не доказывал, что все исторические изменения безопасны, поэтому за отзывом должна была последовать ревизия.
Во-вторых, распространение в дистрибутивах было остановлено и обращено вспять.Debian откатилась к заведомо корректному апстрим-коду. Fedora и Red Hat опубликовали данные о затронутых версиях и каналах и выпустили обновления-откаты. openSUSE откатилась к безопасному снапшоту. Ubuntu задокументировала, что затронутый пакет не попал ни в одну выпущенную версию. Это проверяемая локализация: затронутые релизные линии выявлены, продвижение остановлено, заменяющие пакеты предоставлены.
В-третьих, апстрим-проект провёл ревизию истории и выпустил чистые релизы.Заметки о ревизии называют известную подготовку бэкдора, отделяют вредоносные изменения от безобидных, проверяют переводы и более ранние релизные архивы и фиксируют ограничения.Запись проекта о старых релизахперечисляет чистые релизы, выпущенные 29 мая 2024 года, исключает вредоносные архивы, указывает, какие исторические архивы были подписаны вредоносной учётной записью, и сообщает, что сохранённые исторические архивы были проверены. Такая прозрачность позволяет дистрибутиву понять, почему одной подписи недостаточно и за какие артефакты проект ручается в настоящее время.
В-четвёртых, проект продолжил выпускать ПО.На текущем сайте перечислены более поздние релизы 5.6, 5.7 и 5.8, предоставлены подписи, указан статус сопровождения веток и допускается сборка из Git-тега, соответствующего релизу. Непрерывность важна, потому что заброшенное критическое ПО создаёт иной риск: пользователи остаются на старом коде или делают форк без координации. Продолжающееся сопровождение — доказательство того, что инцидент не уничтожил проект.
Тем не менее закрытие вопроса частично. Публичные страницы проекта не предоставляют полного независимого криминалистического отчёта, подтверждённой личности злоумышленника, исчерпывающей истории логов или доказательства отсутствия вредоносного использования. Цитируемые страницы также не демонстрируют постоянную многостороннюю церемонию релиза, независимо управляемый герметичный сборщик, проверяемое машиной происхождение каждого релизного артефакта или опубликованную политику, требующую от дистрибутива отклонять необъяснённые расхождения между тегом и архивом.
Некоторые из этих мер могут существовать или развиваться за пределами просмотренных страниц. Долговременная подотчётность требует публичных, воспроизводимых доказательств, а не допущений.
Уроки пакетного мейнтейнера openSUSE после инцидентаделают возможность дистрибутивов конкретной. Ревизия коммитов выявила необычные тестовые файлы, которым не соответствовали обновления тестового фреймворка или кода проекта. Это наблюдение не означает, что каждый бинарный тестовый файл вредоносен. Оно показывает, что дистрибутивы могут строить правила аномалий вокруг новых непрозрачных входных данных, неиспользуемых тестовых данных, отличий генерируемых файлов и изменений, меняющих поведение песочницы или фаззинга вблизи релиза.
Лучший стандарт исправления сочетает человеческие и механические доказательства. Человеческая ревизия нужна, чтобы понять, осмысленны ли новый мейнтейнер, тестовый корпус, возможность сборки или исключение для релиза. Механические проверки нужны, потому что люди не могут многократно сравнивать тысячи генерируемых строк или помнить каждое допустимое отличие артефакта. Каждое компенсирует слабость другого.
Контрфактические сравнения: меры, которые изменили бы результат
Контрфактические сценарии полезны только тогда, когда называют конкретную меру контроля и избегают заявлений о достоверности. Этому тесту удовлетворяют несколько сравнений.
Дистрибутив, собравший из Git-тега, а не из апстрим-архива.В этом инциденте триггера, существующего только в релизе, в Git-репозитории не было. Дистрибутив, который выгрузил тег и перегенерировал систему сборки, не получил бы тот конкретный вредоносныйbuild-to-host.m4. Это, вероятно, сломало бы известный путь сборки. Это не сделало бы тег заслуживающим доверия: скрытые файлы полезной нагрузки и подготовительные изменения оставались в Git, и будущий атакующий мог поместить триггер и туда. «Собирать из Git» — полезный контрфактический сценарий для этого инцидента, а не универсальное лекарство.
Обязательное сравнение тега и архива с белым списком генерируемых изменений.Релизный шлюз, который распаковывал архив, перегенерировал ожидаемые файлы в контролируемой среде и отклонял необъяснённые отличия, выявил бы добавленное поведение M4. Это самый сильный прямой контрфактический сценарий, потому что решающий триггер существовал только в архиве. Шлюзу пришлось бы учитывать легитимные вариации переводов, меток времени, документации и версий инструментов, не нормализуя при этом изменения исполняемого поведения.
Независимые воспроизводимые сборки.Проект Reproducible Builds определяет сборку как воспроизводимую, когда независимые стороны могут использовать одни и те же исходники, окружение и инструкции для создания побайтово идентичных заданных артефактов. Егоопределение и модель проверкисами по себе не сказали бы рецензентам, что выбранные исходники честны. Они сделали бы необъяснённое расхождение измеримым. Если один сборщик использовал проверенный тег, а другой — релизный архив, расхождение стало бы сигналом остановки, а не принятой деталью упаковки.
Проверяемое происхождение артефактов до продвижения.Модель происхождения SLSAописывает проверяемую информацию о том, где, когда и как был создан артефакт, включая привязку результата сборки к исходному коду. Если бы дистрибутивы требовали происхождение с указанием точной ревизии исходников, сборщика и процесса сборки, файл, существующий только в релизе и не объяснённый этим процессом, мог бы не пройти политику. Происхождение должно проверяться независимо; вредоносный мейнтейнер, сам подписавший ложное заявление, воспроизводит исходную проблему подписи.
Одобрение релиза двумя людьми и раздельные ключи.Требование, чтобы один доверенный мейнтейнер готовил релиз, а другой утверждал доказательства пути от исходников к артефакту, повысило бы стоимость злоупотребления и могло бы вскрыть расхождение. Это также создало бы реальную кадровую нагрузку для небольшого проекта. Справедливая реализация — не требовать неоплачиваемого круглосуточного труда. Дистрибутивы и компании, зависящие от XZ, могут предоставить независимых пересборщиков, ресурсы для ревизии или финансирование, оставив проектные решения мейнтейнерам.
Немедленный стабильный релиз вместо поэтапных каналов.Этот негативный контрфактический сценарий показывает, какая существующая мера сработала. Если бы Debian, Fedora, openSUSE и Ubuntu продвигали новейший релиз XZ напрямую в широкие стабильные парки, обнаружение 28 марта наступило бы после гораздо более масштабного развёртывания. Каналы testing и proposed создали задержку, наблюдаемость и границы отката. Их пользователи также заслуживали защиты, но поэтапная модель не позволила инциденту в канале разработки стать всеобщей чрезвычайной ситуацией в стабильном канале.
Списание аномалии производительности на обычный шум.Freund расследовал избыточное потребление CPU и ошибки Valgrind, которые легко можно было принять за незначительную регрессию. Если бы он остановился на обходном решении, пакет мог бы продолжить путь к стабильному продвижению. Этот сценарий поддерживает менее эффектную меру: мейнтейнерам и инженерам нужно время и право расследовать слабые сигналы в фундаментальном ПО. Мониторинг даёт ценность только тогда, когда кто-то может проследить аномалию через границы пакета, библиотеки, компоновщика и сервиса.
Удаление пути зависимости в дистрибутиве.В средах, гдеsshdне загружалliblzmaчерез цепочку зависимостей, связанную с systemd, известного пути активации SSH не было. Сокращение лишних зависимостей привилегированных процессов уменьшило бы эту поверхность атаки. Это не очистило бы вредоносную библиотеку и не помешало бы другому приложению загрузить её. Минимизация зависимостей и разделение привилегий — меры радиуса поражения, а не целостности релиза.
Сравнения показывают, почему ни одного лозунга недостаточно. Больше финансирования автоматически не вскрыло бы обфусцированный архив. Больше подписей удостоверило бы вредоносного подписанта. Большая открытость исходников никого не заставила бы сравнивать правильные артефакты. Больше автоматизации могло бы добросовестно воспроизвести отравленный вход. Убедительная защита сочетает устойчивое управление, разделённые полномочия, прозрачность артефактов, независимую проверку, поэтапное развёртывание и расследование аномалий.
Подтверждённые факты, обоснованные предположения и неизвестное
Подтверждённые факты
- Релизные архивы XZ Utils 5.6.0 и 5.6.1 содержали бэкдор, и проект называет вредоносного со-мейнтейнера создателем и подписантом этих архивов.
- Бинарные тестовые файлы в репозитории содержали скрытый материал, а модифицированный M4-файл, присутствовавший только в релизных архивах, запускал извлечение и манипуляцию сборкой при выбранных условиях.
- Freund обнаружил проблему, расследуя аномалии CPU и Valgrind в Debian sid, и публично раскрыл её 29 марта 2024 года после уведомления каналов безопасности дистрибутивов.
- Каналы Debian testing, unstable и experimental, каналы разработки или бета-каналы Fedora и rolling-каналы openSUSE получили затронутые или подозрительные пакеты. RHEL, стабильная Debian, выпущенные версии Ubuntu, SUSE Linux Enterprise и openSUSE Leap, по заявлениям издателей, не затронуты.
- Дистрибутивы откатили пакеты, выпустили предупреждения и пересобрали или переиздали заведомо корректные версии. Проект XZ отозвал доступ, восстановил инфраструктуру, провёл ревизию истории, убрал вредоносные релизные артефакты из обычной записи релизов и выпустил чистые релизы.
- Государственные и отраслевые организации выпустили CVE, уведомления критической серьёзности, рекомендации об откате и более широкие рекомендации об устойчивости открытого ПО и риске захватов методами социальной инженерии.
Обоснованные предположения
- Публичное давление на оригинального мейнтейнера, вероятно, способствовало передаче практических полномочий Jia Tan. Тайминг, узкие онлайн-истории и последующее поведение поддерживают интерпретацию скоординированной социальной инженерии, но не устанавливают, что каждой персоной управлял один и тот же оператор.
- Избирательные условия сборки и поведение против анализа были спроектированы так, чтобы достичь собираемых дистрибутивами пакетов Linux и снизить вероятность обнаружения. Техническая конструкция сильно поддерживает намеренное нацеливание; организации-жертвы и стратегическая цель остаются неизвестными.
- Обязательное, независимо проверяемое сравнение тега и архива, вероятно, вскрыло бы решающий триггер, существующий только в релизе, до принятия пакета дистрибутивом.
- Поэтапные каналы дистрибуции существенно ограничили радиус поражения, удерживая затронутые пакеты вдали от широкого стабильного развёртывания достаточно долго для обнаружения и отката.
- Коммерческие бенефициары критического открытого ПО могут снизить риск, внося инженерный труд, финансирование, независимые мощности сборки и поддержку реагирования на инциденты, вместо того чтобы перекладывать всё бремя гарантий на одного волонтёра-мейнтейнера.
Неизвестное
- Реальная личность, число, гражданство, работодатель, спонсор, местонахождение и мотивы людей, стоящих за учётной записью Jia Tan и связанными публичными персонами.
- Было ли каждое подозрительное историческое изменение вредоносным, кто автор каждого компонента и существовала ли другая необнаруженная закладка или оперативная цель.
- Сколько систем собрали активную закладку, на скольких была экспонирована соответствующая конфигурация SSH, применил ли атакующий бэкдор где-либо успешно и были ли похищены данные или учётные данные.
- Полная частная хронология обнаружения, координации, логов платформ, действий правоохранительных органов и коммуникаций между людьми, контролировавшими соответствующие учётные записи.
- Совокупная финансовая и трудовая стоимость расследования, откатов, пересборок, переустановок, ротации учётных данных, задержанных релизов и долгосрочных изменений в управлении.
- Позволят ли текущие меры проекта и дистрибутивов надёжно предотвратить создание подобного расхождения другим доверенным мейнтейнером, скомпрометированным ключом, отравленным сборщиком или учётной записью релизного сервиса.
Это разделение — больше, чем журналистская условность. Это мера контроля. Преувеличение атрибуции может навредить невиновным людям и отвлечь от проверяемых слабостей. Преуменьшение технической записи позволяет институтам описывать спроектированный бэкдор как обычную ошибку. Полезное досье об ответственности сохраняет обе истины: намеренное вредоносное поведение подтверждено на уровне учётной записи и артефакта; человеческая и организационная атрибуция этого поведения остаётся неразрешённой.
Долговременный тест на подотчётность
Долговременный тест должен быть воспроизводим будущим мейнтейнером или дистрибутивом, которого не было рядом в марте 2024 года. Он должен давать доказательства до широкой установки релиза, а не только повествование после инцидента. Для XZ Utils и сопоставимых фундаментальных проектов этот тест создают следующие вопросы.
Явны ли и разделимы ли полномочия релиза?Проект должен публиковать, кто может принимать слияния, создавать теги, создавать артефакты, загружать релизы, изменять размещённые страницы, маршрутизировать почту безопасности и подписывать релизы. Действия с высоким влиянием должны требовать отдельных учётных данных и, желательно, отдельных людей, чтобы одна доверенная учётная запись не контролировала молча каждый переход. Дистрибутивы должны фиксировать, каким апстрим-личностям и ключам они в настоящее время доверяют.
Можно ли проследить каждый артефакт до одной проверенной ревизии исходников?Релиз должен указывать точный коммит или тег, инструкции сборки, версии инструментов, окружение и все генерируемые входные данные. Если архив содержит файлы, которых нет в Git, машиночитаемый манифест должен классифицировать их и объяснить, как они были получены. «Генерируемый» должно быть категорией происхождения, а не освобождением от ревизии.
Проверяются ли механически отличия от исходников к релизу?Процесс релиза и приёмка в дистрибутиве должны распаковывать артефакты, перегенерировать ожидаемые файлы и останавливаться при необъяснённых изменениях исполняемого кода. Допустимые вариации должны быть узкими, документированными и проверенными. Новый макрос M4, конвейер команд, бинарный объект или хук сборки не должен исчезать внутри большого генерируемого диффа.
Может ли независимая сторона воспроизвести или проверить результат?Как минимум один сборщик вне контроля создателя релиза должен воспроизвести заданные артефакты или опубликовать детальное сравнение. Там, где побайтовая идентичность непрактична, проект должен указать оставшуюся вариативность и показать, почему она не может изменить исполняемое поведение. Доказательства пересборки должны храниться вместе с релизом.
Проверяет ли политика дистрибутивов происхождение, а не просто собирает его?Дистрибутивы должны отклонять артефакты, чья идентичность исходников, идентичность сборщика или ожидаемый процесс нарушают политику. Подписанное заявление от той же скомпрометированной релизной учётной записи слабо. Проверка должна опираться на независимые ключи, защищённые сервисы сборки или пересборки под контролем дистрибутива.
Оцениваются ли непрозрачные тестовые изменения и изменения тестовых данных по их возможностям?Проектам сжатия, мультимедиа, парсерам и протоколам нужны бинарные тестовые данные. Меры должны помечать новые или изменённые непрозрачные входные данные, требовать генератор или документированное происхождение, где это возможно, показывать, потребляет ли их код на самом деле, и проверять, что они производят. Бинарное содержимое не должно запрещаться; необъяснённое влияние на исполняемое поведение — должно.
Рассматриваются ли исключения для фаззинга, песочниц и анализа как изменения безопасности?Изменения, отключающие покрытие санитайзерами, меняющие точки входа фаззинга, ослабляющие обнаружение песочницы, меняющие поведение косвенных функций или подавляющие диагностику, должны получать явную ревизию, даже если они исправляют легитимную проблему совместимости. Вопрос не в том, правдоподобно ли сообщение коммита, а в том, какую видимость или локализацию изменение убирает.
Создают ли стадии продвижения время и обратимую границу?Каналы разработки, proposed, бета, rolling и стабильный должны иметь документированные критерии продвижения и минимальные периоды наблюдения для фундаментальных пакетов с высоким влиянием. Экстренный откат должен быть отрепетирован. История пакета должна позволять операторам доказать, устанавливалась ли подозрительная версия вообще, а не только какая версия присутствует сейчас.
Видят ли дистрибутивы опасную композицию во время выполнения?Инвентаризация должна показывать не только, что XZ установлен, но и какие привилегированные процессы могут загружать его библиотеку через прямые или транзитивные зависимости и патчи дистрибутива. SBOM и анализ связывания полезны, когда отвечают на вопросы экспонированности. Плоский список компонентов без контекста выполнения не объяснил бы, почему библиотека сжатия повлияла на SSH.
Различают ли инструкции при инциденте обновление, переустановку и ротацию учётных данных?План реагирования должен определять, какие доказательства оправдывают каждое действие. Чистая замена пакета может удалить вредоносный код; она не отменяет прежний доступ, если эксплуатация произошла. Переустановка и ротация учётных данных дороги, поэтому инструкции должны объяснять неопределённость, условия экспонированности и причину предосторожности.
Считаются ли человеческие ресурсы проекта инфраструктурой?Критически важные потребители должны знать, зависит ли проект от одного человека, кто может реагировать во время болезни или отсутствия, как финансируется работа по безопасности и куда мейнтейнеры могут обратиться за помощью, не сдавая полномочия под давлением. Поддержка может включать оплачиваемое время мейнтейнеров, независимую ревизию релизов, сервисы фондов или инженерные ресурсы дистрибутивов. Она должна снижать принудительную нагрузку, а не покупать контроль над техническими решениями.
Перепроверяется ли исправление периодически?Разового чистого релиза недостаточно. Проекты и дистрибутивы должны публиковать непрерывные доказательства того, что текущие релизы соответствуют правилам артефактов, подписи, происхождения, пересборки и продвижения. Провал проверок должен блокировать релиз. Исключения должны истекать. Независимые аудиты должны проверять, действительно ли отзыв одного мейнтейнера или ключа предотвращает публикацию.
Прохождение этого теста не требует, чтобы каждый небольшой проект стал корпорацией. Оно требует, чтобы стороны, обладающие возможностями, перестали делать вид, что фундаментальная зависимость может быть одновременно критической инфраструктурой и сугубо частным хобби, когда требуется работа по гарантиям. Апстрим-проект может определять намерение об исходниках и релизах. Фонды и хостинг-провайдеры могут предоставлять инфраструктуру идентичности, ревизии, подписи и восстановления. Дистрибутивы могут пересобирать и проверять. Коммерческие пользователи могут финансировать и укомплектовывать общие меры контроля.
Государственные органы могут выстраивать закупки и координацию вокруг доказательств, а не бумаг.
Порог — также не совершенство. Решительный противник может скомпрометировать нескольких людей, сборщиков или ключей. Цель — заменить одно непрозрачное решение о доверии несколькими наблюдаемыми, независимо контролируемыми решениями и гарантировать, что сбой одного слоя не превратится автоматически в привилегированный путь удалённого доступа в другом. Меры долговечны, когда посторонний может изучить запись и определить, кто что одобрил, какие байты были собраны, почему они различались, куда они ушли и как система доказала восстановление.
Ответственность после спасения
Реагирование XZ продемонстрировало лучшие качества открытого сотрудничества. Один инженер проследил слабый сигнал производительности. Команды безопасности дистрибутивов координировались приватно достаточно долго, чтобы подготовить откаты. Публичное раскрытие позволило быстро провести анализ. Каналы разработки ограничили широкое развёртывание. Мейнтейнеры провели ревизию истории и восстановили релизы. Эти действия заслуживают признания, потому что они изменили исход.
Та же запись показывает, почему спасение не может быть операционной моделью. Решающий релизный артефакт был принят на веру, потому что его подписал легитимный ключ мейнтейнера, хотя он расходился с видимыми исходниками способом, значимым для безопасности. Человеческие ограничения небольшого проекта стали глобальным риском зависимостей. У нижестоящих организаций были более мощные средства сборки и развёртывания, но многие принимали апстрим-архив, не доказав сначала его связь с проверенным тегом.
Поэтому долговременная подотчётность опирается на простой, но требовательный тезис: доверие должно подтверждаться доказательствами на каждой трансформации. Репутация контрибьютора — не доказательство релиза. Тег — не архив. Подпись — не воспроизводимость. Имя пакета — не карта зависимостей во время выполнения. Откат — не доказательство того, что прежнего доступа не было. А «почти не случившееся» — не доказательство того, что система была безопасна.
По состоянию на 15 июля 2026 года подтверждённая запись поддерживает успешную локализацию и работающий проект, но не окончательную атрибуцию и не полное институциональное закрытие. Долговечным стандартом должно быть то, можно ли независимо связать следующий релиз с проверенными исходниками, остановится ли продвижение в дистрибутивах на необъяснённом расхождении, есть ли у мейнтейнеров устойчивая поддержка без сдачи контроля и может ли каждый участник реагирования доказать, что было экспонировано и что исправлено. Это и есть тест на подотчётность, созданный архивами XZ.

