Реестр отечественного ПО: Laravel стал российским?

Я зашёл в реестр отечественного ПО. Просто из любопытства. Открыл первую страницу. И нашёл там Laravel.

Знаете, я в принципе перестал удивляться после того, как увидел, как работает импортозамещение на практике. Но давайте по порядку.

Единый реестр отечественного ПО - это список программ, которые Минцифры признало российскими. Без этого списка вы не можете участвовать в госзакупках. Раньше для включения было достаточно задекларировать происхождение кода. Теперь - проверка инфраструктуры, сборка на российских серверах, экспертиза на "недокументированные возможности". "Недокументированные возможности" - эвфемизм для "шпионские закладки".

Проверять это будет Минцифры. Найти закладку в миллионах строк кода - как иголку в стоге сена. Только стог - это код, а иголка - логика. Которую нельзя увидеть. Можно только наблюдать.

Пример. Включаем в код проверку cookie, где ключ содержит седьмой буквой "О" - удаляем, "Е" - выводим на экран. Что удаляем или выводим? Имя файла. Статический анализатор увидит просто набор условий. Тот, кто знает алгоритм, получит доступ к данным. Классическая закладка за пять минут. Минцифры проверяет 158 проектов за год. С такими темпами они найдут эту закладку через 150 лет.

Но вернёмся к Laravel. Я зашёл на сайт организации из реестра. URL-адресация - классический laravel-роутинг. Структура проекта: app/, config/, database/, resources/, routes/. Blade-шаблоны. В инструкции по установке прямо указано, как ставить Laravel. Они взяли американский фреймворк, написали своё приложение, собрали на российских серверах - и получили сертификат. Всё честно. С точки зрения бюрократии. С точки зрения здравого смысла - забавно.

Laravel разрабатывается американской Laravel LLC. Они выпускают security-патчи. За последние два года - около 8-10 релизов с пометкой "security". Плюс десятки пакетов в composer.json. Каждый может принести сюрприз.

Можно форкнуть Laravel? Технически - да. Но вы отрезаете себя от официальных обновлений. Каждый патч вносить вручную. С тестированием, пересборкой, повторной сертификацией. Или не применять и надеяться, что никто не проверит. Угадаете, что выбирает большинство?

Форк Laravel - это ад. Как если бы вы купили квартиру, а вам сказали: "Вы теперь отвечаете за все трубы в доме. Даже те, что проходят через соседние квартиры". То же самое с кодом. Проверить миллионы строк на закладки невозможно. ИИ тут не помощник.

Почему всех это устраивает? Реестр - не про технологии. Про документы. Если есть бумажка, что собрали код в России - вы в реестре. Даже если внутри Laravel. Проверка на "недокументированные возможности" выглядит так: эксперт открывает файл, смотрит, закрывает, ставит галочку. К десятому файлу голова пухнет, а впереди - сотни.

158 проектов проверено за год - это не "проверено". Это "отмечено галочкой". Разница - как между "посмотрел на код" и "понял код".

Я не против Laravel. Я против профанации. И против того, чтобы называть это импортозамещением. Потому что импортозамещение - когда создаёшь своё. А не когда пересобираешь чужое и вешаешь сертификат.

"Нет дыр в коде" и "не нашли дыры" - это не синонимы. Это антонимы. Как "работает" и "показывает ожидаемый результат на тестовых данных". Если бы проверка действительно что-то находила, не было бы ни взломов, ни обновлений Windows, ни патчей для OpenSSL. Каждый новый релиз - молчаливое признание: в прошлой версии были дыры. Их просто не нашли.

И это не катастрофа. Это рутина. Мы пишем код, находим ошибки, выпускаем обновления. Бесконечный цикл. Как дыхание. И пытаться его остановить проверкой Минцифры - как пытаться остановить дождь, махая зонтиком. Только дороже. И намного бюрократичнее.

Сайт: https://tzlab.pro