OpenAI выпустила Codex rust-v0.151.0 в 09:55 UTC 29 августа. Под заголовком Bug Fixes размещены пять пунктов, которые в обычном смысле не являются исправлениями ошибок — это исправления границ песочницы и прав доступа.
Пункт о смене каталога
Самый очевидный из них гласит, что в релизе «предотвращено ослабление ограничений песочницы через `/cd`». Описываемый сбой носит структурный характер: песочница обычно привязана к рабочему каталогу, а команда, которая смещает эту привязку, может расширить ограждение, которое она должна определять. Если пользователь может сдвинуть границу, это может сделать и всё, что способно заставить агента выполнить команду, — а в инструменте, который читает файлы репозитория и веб-страницы, это широкий набор входных данных.
Пункт об устаревании
Второй пункт касается классификаций, которые продолжали разрешать действия после изменения состояния прав доступа. Пользователь, ужесточивший права в середине сеанса, ожидал бы, что ужесточение начнёт действовать; кэшированные решения означали, что этого не происходило для уже классифицированных действий. Системы прав доступа оценивают именно по этому: вступает ли отзыв в силу немедленно.
Что неверно в общем подходе
Заголовок Bug Fixes подталкивает читателей воспринимать это как обычные дефекты, а скудная история уведомлений проекта — всего одно уведомление за всё время — подталкивает к выводу, что его песочница была спокойной. Сравнение, которое расставляет всё по местам, — с конкурентом: класс побега через рабочий каталог был ранее в этом году признан высокосерьёзным, с опубликованным уведомлением, другим поставщиком. Один и тот же класс, разное решение о раскрытии. Слабый перечень уведомлений — это свидетельство практики раскрытия, а не частоты дефектов, и эти вещи регулярно смешивают.
Общий паттерн дня
Два крупнейших кодирующих агента выпустили исправления границ песочницы с разницей менее чем в пятнадцать часов, оба — через примечания к релизу и ни один — через канал безопасности. Каковы бы ни были достоинства каждого случая, для тех, кто централизованно отслеживает эти инструменты, итог один и тот же: лента безопасности — это changelog.
