Представлен Gixy-Next, форк Gixy-ng, избавленный от изменений, сгенерированных через AI

Представлен первый выпуск проекта Gixy-Next, развивающего статический анализатор для файлов конфигурации Nginx, позволяющий выявлять проблемные настройки, негативно влияющие на безопасность и производительность. Проект развивает Джошуа Роджерс (Joshua Rogers), несколько лет назад выявивший 55 уязвимостей в прокси-сервере Squid. Gixy-Next создан как форк проекта Gixy-ng, продолжавшего развитие инструментария Gixy, открытого компанией Yandex в 2017 году и последние два года не обновлявшегося.

В качестве причины создания нового форка называется недовольство действиями мэйнтейнера проекта Gixy-ng, злоупотребляющего использованием AI-инструментов при разработке. Форк создан после того, как в репозиторий стали добавляться автоматические сгенерированные изменения, не прошедшие должного рецензирования и приводящие к возникновению регрессий и нарушению поведения инструментария. В коде стали появляться бессмысленные артефакты от применения AI и функции, которые не делали то, что должны были. Например, вносились раздутые исправления, занимавшие тысячи строк, которые можно было заменить 10-строчным патчем. Более того, в документацию и встроенную подсказку была добавлена реклама, а сторонние pull-запросы принимались с вырезанием информации об авторах.

В Gixy-Next проведена чистка кодовой базы от мусорных изменений, созданных при помощи AI, исправлены ошибки, налажено тестирование на крупных файлах конфигурации NGINX и добавлены изменения для упрощения сопровождения кодовой базы. Из новых возможностей Gixy-Next по сравнению с оригинальным Gixy отмечается:

  • 19 новых плагинов, проверяющих корректность настроек, связанных с управлением доступом, DNS, проксированием и регулярными выражениями, а также выявляющих настройки, приводящие к дополнительным накладным расходам и снижению производительности.

    Среди добавленных плагинов:
    allow_without_deny, return_bypasses_allow_deny, proxy_pass_normalized, merge_slashes_on, resolver_external, stale_dns_cache, version_disclosure, invalid_regex, regex_redos, add_header_content_type, add_header_multiline, add_header_redefinition, default_server_flag, error_log_off, hash_without_default, if_is_evil, try_files_is_evil_too, unanchored_regex, low_keepalive_requests, worker_rlimit_nofile_vs_connections, proxy_buffering_off.

  • Стандартизированный и воспроизводимый вывод отчётов, пригодный для автоматизированного разбора.
  • Поддержка модулей map и geo.
  • Модернизация плагинов
    origins, ssrf, http_splitting, alias_traversal и valid_referers
    для снижения ложных срабатываний и более точного обнаружения проблем.

  • Корректная обработка дополнительных файлов конфигурации, подключаемых через директиву «include».
  • Улучшение проверки регулярных выражений.
  • Возможность сборки в виде Online-сканера, работающего в браузере.

Источник: http://www.opennet.ru/opennews/art.shtml?num=64594