Таможня для кода: как безопасно улучшить детскую игру ✛

Оригинал: "Certificate-Carrying Transformation of Event-Driven Block Programs"
· Yuan Si, Jialu Zhang
arXiv:2607.00563 · 2026-07-01 · CC BY 4.0 · 1 мин
Контролёр-таможенник проверяет каждое изменение, чтобы программа работала точно как задумано.

Ребёнок собирает в Scratch игру: персонаж появляется и сразу перемещается. Первый шаг никто не видит — эту команду можно смело убрать. Но как узнать об этом без риска? Сегодня таких проектов десятки миллионов, и малейшая ошибка улучшателя может сломать замысел.

Решение похоже на таможенный досмотр. Сначала непроверенный оптимизатор сканирует проект, строит граф (сеть) всех связей и предлагает удалить невидимые или бесполезные части. К предложению прикладывается сертификат — описание правки с условиями безопасности. Доверенный контролёр не верит на слово: он заново сравнивает исходную и изменённую программу. Главный ориентир — «линза наблюдения»: только то, что видит игрок. Если действие перекрывается другим до того, как его можно заметить, оно лишнее. Этот принцип опирается на доказанную в специальной программе Lean теорему.

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

Эксперимент на 300 проектах из интернета показал: 94,3% получили хотя бы одно безопасное улучшение. Обычно чистили неиспользуемые картинки, но иногда удаляли по-настоящему мёртвые команды. Атака из 4278 правок с намеренными ошибками провалилась полностью — контролёр не пропустил ни одной опасной. Всё благодаря теории управления и теории информации: система гарантирует, что не появится незамеченных каналов влияния. Важно, что метод даёт точные гарантии, не полагаясь на вероятности или байесовский вывод. Программу здесь рассматривают как динамическую систему, а её проверку — как строгий детерминированный анализ, а не случайный процесс.

Таможня для кода уже работает. В будущем она сможет проверять правки от искусственного интеллекта. Но уже сейчас ребёнок может нажать «запустить» — его замысел останется нетронутым.

При аудите системы нашли восемь ложных принятий: спрайт подсматривал за другим через номер костюма. Теперь этот канал наблюдения закрыт тестами.

Понятия
открытый исходный код эталон перекрёстная проверка порог ошибок стабилизаторный код доказательство концепции избыточность CRISPR