Перенос исправлений безопасности в стабильные ветки Linux с Codex в Trail of Bits
Команда Trail of Bits использует Codex, чтобы переносить исправления уязвимостей из свежего кода в старые стабильные версии. К 29 октября проект помог доставить исправления для 149 различных CVE в стабильные ядра Linux и несколько исправлений в пакеты Fedora и Ubuntu.
Что сделали
Агенты ищут пропущенные исправления, адаптируют патчи к старому коду, собирают доказательства проверки, запускают тесты и готовят пакеты для отправки. Инженеры проверяют патчи и сами отправляют их мейнтейнерам.
Сначала команда взялась за простое. С помощью Codex с GPT-5.6 нашли исправления, которые чисто применяются к стабильным веткам ядра, но так и не были туда подтянуты, и попросили мейнтейнеров их применить. Потом перешли к патчам, которые не применяются как есть, начиная с самых простых для проверки. Тот же подход применили к дистрибутивам, найдя известные уязвимости в поставляемых стабильных пакетах и подготовив исправления.
Что получилось
По оценке авторов, подготовка и проверка простого бэкпорта занимает около 30 минут внимания человека, а более сложного случая около трёх часов, без учёта начальной настройки проекта. Раньше на это уходили дни на одно исправление. К 29 октября применены исправления для 149 CVE, список на трекере растёт. Дистрибутивам отправлена первая партия патчей.
На что обратить внимание
Оценки времени относятся только к подготовке и проверке патчей. Регрессионное тестирование и принятие мейнтейнерами остаются обязательными. Цифры о количестве непропатченных CVE авторы называют ориентиром, а не точным подсчётом, и они не показывают эксплуатируемость.
Пояснение
CVE это публичный идентификатор известной уязвимости. Бэкпорт это перенос исправления из новой версии программы в старую. LTS это версии с долгой поддержкой, которые люди обычно и ставят, поэтому исправления в них важнее, чем в самой новой версии.
Кому пригодится
Мейнтейнерам открытых проектов и командам безопасности, которые копят нераспределённый долг по исправлениям в старых версиях.
Попробуйте сами с Codex
Ты помогаешь мне переносить исправление безопасности из новой версии [проект] в стабильную ветку [ветка]. Исправление [коммит или CVE]. Как работаем. 1. Сначала проверь, применяется ли исправление к стабильной ветке без изменений. Если да, подготовь короткое обоснование и список изменённых файлов. 2. Если не применяется, найди, какие зависимые изменения отсутствуют, адаптируй патч к старому коду и объясни каждое отличие от оригинала. 3. Запусти доступные тесты и собери доказательства проверки (что запускали и что вышло). 4. Подготовь пакет для отправки мейнтейнерам с описанием, ссылкой на оригинал и результатами проверки. 5. Ничего не отправляй сам. Всё проверяю и отправляю я. Сразу скажи, чего тебе не хватает для проверки. Регрессионное тестирование и решение мейнтейнеров от тебя не зависят, не обещай их результат.
Нужна помощь с запуском? Вступайте в сообщество AI Pack ↗
Источник: blog.trailofbits.com ·