Агентные кейсы
Безопасность, наука и железо

Перенос исправлений безопасности в стабильные ветки Linux с Codex в Trail of Bits

Команда Trail of Bits использует Codex, чтобы переносить исправления уязвимостей из свежего кода в старые стабильные версии. К 29 октября проект помог доставить исправления для 149 различных CVE в стабильные ядра Linux и несколько исправлений в пакеты Fedora и Ubuntu.

Сделано сCodex

Что сделали

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

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

Что получилось

По оценке авторов, подготовка и проверка простого бэкпорта занимает около 30 минут внимания человека, а более сложного случая около трёх часов, без учёта начальной настройки проекта. Раньше на это уходили дни на одно исправление. К 29 октября применены исправления для 149 CVE, список на трекере растёт. Дистрибутивам отправлена первая партия патчей.

На что обратить внимание

Оценки времени относятся только к подготовке и проверке патчей. Регрессионное тестирование и принятие мейнтейнерами остаются обязательными. Цифры о количестве непропатченных CVE авторы называют ориентиром, а не точным подсчётом, и они не показывают эксплуатируемость.

Пояснение

CVE это публичный идентификатор известной уязвимости. Бэкпорт это перенос исправления из новой версии программы в старую. LTS это версии с долгой поддержкой, которые люди обычно и ставят, поэтому исправления в них важнее, чем в самой новой версии.

Кому пригодится

Мейнтейнерам открытых проектов и командам безопасности, которые копят нераспределённый долг по исправлениям в старых версиях.

Попробуйте сами с Codex

Ты помогаешь мне переносить исправление безопасности из новой версии [проект] в стабильную ветку [ветка]. Исправление [коммит или CVE].

Как работаем.
1. Сначала проверь, применяется ли исправление к стабильной ветке без изменений. Если да, подготовь короткое обоснование и список изменённых файлов.
2. Если не применяется, найди, какие зависимые изменения отсутствуют, адаптируй патч к старому коду и объясни каждое отличие от оригинала.
3. Запусти доступные тесты и собери доказательства проверки (что запускали и что вышло).
4. Подготовь пакет для отправки мейнтейнерам с описанием, ссылкой на оригинал и результатами проверки.
5. Ничего не отправляй сам. Всё проверяю и отправляю я.

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

Нужна помощь с запуском? Вступайте в сообщество AI Pack ↗

Читать оригинал ↗

Источник: blog.trailofbits.com ·

Похожие кейсы

Починка формальных доказательств сборщика мусора CertiGC с Codex

Автор статьи на arXiv чинил с помощью Codex доказательства на Rocq для верифицированного сборщика мусора CertiGC. Локальный ремонт агенту удался, но проверять, что его инварианты сохраняют спецификацию, пришлось человеку.