| · | 06.06 | Энтузиасты развивают Opengram, сервер для протокола Telegram (21) |
|
Сообщество энтузиастов развивает Opengram — открытую реализацию серверной части мессенджера Telegram. Проект представляет собой самостоятельный сервер, реализующий протокол MTProto (поддерживается layer до 216), который может использоваться для замены официальной серверной инфраструктуры Telegram при развёртывании на собственном оборудовании. Поддерживаются официальные клиенты Telegram (Telegram Desktop, мобильные приложения) после изменения в них адреса дата-центра и публичного RSA-ключа сервера.
Opengram является форком проекта mytelegram. Код Opengram написан на языке C# (.NET 9) и распространяется в исходных текстах без указания лицензии. Изначальный проект mytelegram поставляется под лицензией Apache 2.0, которая в соответствии с пунктом 4a требует включения копии текста лицензии при распространении производных работ. Сервер построен на наборе микросервисов, запускаемых через Docker Compose: шлюз MTProto-подключений, сервер авторизации и обмена ключами, сервер сессий, серверы команд и запросов (архитектура CQRS), HTTP Bot API, служебный API администрирования, серверы хранения и раздачи файлов, TURN/STUN для звонков и сервис отправки кодов подтверждения. В качестве инфраструктуры используются MongoDB , Redis, RabbitMQ и MinIO. Из поддерживаемых возможностей: личные чаты, группы, супергруппы и каналы, секретные (end-to-end) чаты, голосовые и видеозвонки (через TURN/STUN и SFU mediasoup), боты и Bot API, настройки приватности и двухфакторная аутентификация, стикеры, реакции и кастомные эмодзи; звёзды (Stars) и подарки (Star Gifts), включая перепродажу и апгрейд; истории (Stories), темы оформления и обои; запланированные и самоудаляющиеся сообщения.
| ||
| · | 06.06 | GNOME File Previewer перешёл на GTK4, в GJS улучшена поддержка TypeScript (10 +1) |
|
Проект GNOME опубликовал еженедельный отчёт, в котором отмечено портирование приложения File Previewer (sushi), используемого в GNOME для предпросмотра содержимого файлов, на библиотеку GTK4, компоненты оформления интерфейса libadwaita, бэкенд изолированной загрузки изображений Glycin и язык построения интерфейса Blueprint. В File Previewer также реализована поддержка тёмной темы оформления и плавающих панелей инструментов, модернизирован код для использования модулей EcmaScript.
Для JavaScript-движка GJS, применяемого в GNOME Shell, Polari и GNOME Documents, развивается фреймворк gjsify, добавляющий поддержку языка TypeScript. Из последних достижений в gjsify отмечена возможность выполнения компилятора TypeScript внутри GJS, что позволяет обойтись без Node.js для запуска tsc. Добавлена встроенная команда "gjsify install", которую можно использовать вместо "npm install". Опубликован музыкальный проигрыватель Vinyl 1.4.0, написанный на Rust и ставший первым мультимедийным приложением GNOME, поддерживающим загрузку текстов песен напрямую из тегов ID3v2. В новой версии также появилась возможность загрузки отдельных изображений обложек для каждого трека, добавлена кнопка открытия каталога с текущим треком, реализованы всплывающие подсказки, появилась возможность поиска по расширениям. ![]() Опубликован первый выпуск приложения Contributor Atlas с наглядной интерактивной картой участников разработки и истории развития проекта GIMP. ![]() ![]() Опубликован выпуск Gitte 0.6.0, клиента для работы с Git для GNOME, написанного с использованием GTK4, libadwaita и Relm4. ![]()
| ||
|
Обсуждение (10 +1) |
Тип: К сведению |
| ||
| · | 06.06 | Изменение процесса разработки и прогресс в развитии браузера Ladybird (42 +14) |
|
Андреас Клинг (Andreas Kling), основатель web-браузера Ladybird, объявил об изменении процесса разработки проекта. Ladybird отныне прекращает приём публичных pull-запросов и переходит к продвижению изменений в кодовую базу только через сопровождающих. Все уже открытые публичные pull-запросы будут закрыты. Исходный код Ladybird продолжит поставляться под лицензией BSD. Сообщения о проблемах, уязвимостях и тестировании работы с сайтами продолжат приниматься без изменения. Сторонние энтузиасты также смогут принимать участие в обсуждениях, связанных с поддержкой стандартов и архитектурой проекта.
В качестве причин прекращения принятия публичных pull-запросов упоминается подготовка к первому альфа-выпуску, требующая более строгого распределения ответственности за вносимые изменения. По мнению создателей Ladybird код должен приниматься только от тех, кто заслуживает доверия и готов нести персональную ответственность за каждую строку кода, и то, соответствует ли код архитектуре проекта и сможет ли поддерживаться в будущем. Из проблем возникающих при приёме изменений от всех желающих упоминается снижение уровня доверия к авторам патчей - из-за возможности формирования изменений через AI, размер патча теперь не коррелирует с трудозатратами и потраченным на разработку временем. Принятие сторонних патчей также упрощает деятельность злоумышленников, первое время генерирующих рабочие изменения, чтобы заслужить доверие для последующего внедрения в код скрытой уязвимости. Дополнительно можно отметить майский отчёт о развитии Ladybird. Из недавних достижений отмечается:
Браузер Ladybird развивается Андреасом Клингом, который когда-то работал в компании Nokia и занимался разработкой KHTML, а затем в Apple был одним из разработчиков Safari. Изначально проект был создан как приложение для операционной системы SerenityOS, но летом 2024 года был выделен в отдельный проект и получил пожертвование в 1 млн. долларов. Браузер написан на языке С++ (стартовал проект переписывания компонентов на Rust) и распространяется под лицензией BSD. Проектом развиваются собственный движок LibWeb, JavaScript-интерпретатор LibJS и сопутствующие библиотеки.
| ||
|
Обсуждение (42 +14) |
Тип: К сведению |
| ||
| · | 06.06 | Релиз платформы сборки дистрибутивов T2 SDE 26.6 (8 +6) |
|
Опубликован релиз мета-дистрибутива T2 SDE 26.6, предоставляющего окружение для формирования собственных дистрибутивов, кросс-компиляции и поддержания версий пакетов в актуальном состоянии. Из популярных дистрибутивов, построенных на базе системы T2, можно отметить Puppy Linux. Проектом предоставляется 10 готовых загрузочных iso-образов с графическим окружением на базе KDE, собранных для архитектур arm64, ia64, ppc64, ppc64le, riscv64, riscv64 rva23, i686 и x86-64.
Платформа сосредоточена на создании сборок на базе ядра Linux, но отдельно развиваются прототипы, позволяющие собирать пакеты для различных ОС, включая macOS, Haiku и BSD-системы. В планах поддержка создания окружений на основе других ядер, например, на базе L4, Fuchsia и RedoxOS, и формирование сборок на базе Android (AOSP). Для сборки доступно более 7000 пакетов. В T2 обеспечивается поддержка 20 аппаратных архитектур, применяемых как в современных встраиваемых системах, так и на устаревшем оборудовании. Например, обеспечена поддержка игровых приставок Nintendo Wii U и Sony PS3, рабочих станций SGI, Sun и HP. Для большинства архитектур возможна загрузка в окружениях с 128 МБ ОЗУ. Поддерживаются такие архитектуры, как Alpha, Arc, ARM64, HPPA64, IA64, Loongarch64, M68k, Microblaze, MIPS64, Nios2, OpenRISC, PowerPC 64, RISC-V 64, s390x, SPARC 64, SuperH, i486, i686, i786, x86-64 и x32. Среди изменений в новой версии:
![]()
| ||
|
Обсуждение (8 +6) |
Тип: Программы |
| ||
| · | 05.06 | В Chrome устранено 429 уязвимостей, а в Android - 124 (30 +17) |
|
Компания Google внесла изменения в объявление о выпуске Chrome 149, в котором раскрыла сведения об устранении 429 уязвимостей. 22 уязвимости отмечены как критические, а 87 - как опасные. Критические проблемы позволяют обойти все уровни защиты браузера и выполнить код в системе за пределами sandbox-окружения. Детали пока не раскрываются, упомянуто только, что большая часть критических проблем вызвана переполнением буфера или обращением к уже освобождённой памяти в компонентах ANGLE, Ozone, Chromecast, Chromoting, GFX и процессе для взаимодействия с GPU. Наибольший размер вознаграждения за уязвимость составил 97 тысяч долларов.
Дополнительно можно отметить публикацию июньского отчёта об уязвимостях в Android, в котором упомянуто 124 уязвимости. 18 уязвимостям присвоен критический уровень опасности. 2 критические уязвимости присутствуют во фреймворках и позволяют совершить удалённую атаку для выполнения своего кода в системе без необходимости совершения пользователем каких-либо действий. 13 критических уязвимостей присутствуют в системных компонентах и позволяют поднять свои привилегии в системе. 3 критические проблемы выявлены в проприетарных компонентах Qualcomm.
| ||
|
Обсуждение (30 +17) |
Тип: Проблемы безопасности |
| ||
| · | 05.06 | Доступен Emscripten 6.0, компилятор из C/C++ в WebAssembly (4 +4) |
|
Опубликован выпуск инструментария Emscripten 6.0, позволяющего компилировать код на C/C++ и других языках, для которых имеются фронтэнды на базе LLVM, в универсальный низкоуровневый промежуточный код WebAssembly. Полученный результат можно использовать для интеграции с JavaScript-проектами, запуска в web-браузере, использования в Node.js или создания обособленных многоплатформенных приложений, запускаемых при помощи wasm runtime. Код проекта распространяется под лицензией MIT. В компиляторе используются наработки проекта LLVM, а для генерации WebAssembly и оптимизации задействована библиотека Binaryen.
Основной целью Emscripten заявлено создание инструмента, позволяющего выполнять в Web код независимо от языка программирования, на котором этот код изначально написан. В компилируемых приложениях могут использоваться вызовы стандартных библиотек C и С++ (libc, libcxx), расширения C++, многопоточность на базе pthreads, API POSIX и многие мультимедийные библиотеки. Отдельно предоставляются API для интеграции с Web API и кодом на JavaScript. Emscripten поддерживает трансляцию вывода библиотеки SDL2 через Canvas, а также реализует поддержку OpenGL и EGL через API WebGL, что позволяет преобразовывать в WebAssembly графические приложения и игры (например, имеется порт тулкита Qt, поддерживаются игровые движки Unreal Engine и Unity, а также движок симуляции физических процессов Bullet). Помимо компиляции кода на C/C++ отдельно развиваются проекты для запуска в браузерах интерпретаторов и виртуальных машин для языков Lua, C#, Python, Ruby и Perl. Кроме того, возможно применение фронтэндов к LLVM, отличных от Clang, например, фронтэндов для языков, как Swift, Rust, D и Fortran. Присвоение номера версии 6.0 связано с внесением изменений, нарушающих совместимость. Основные изменения в Emscripten 6.0:
| ||
|
Обсуждение (4 +4) |
Тип: Программы |
| ||
| · | 05.06 | Компания Alibaba опубликовала инструментарий Open Code Review для рецензирования кода (18 +7) |
|
Alibaba, одна из крупнейших китайских IT-компаний, опубликовала открытую платформу Open Code Review с реализацией гибридной архитектуры рецензирования, сочетающей строгие методы проверки с гибкими возможностями больших языковых моделей. Проект основан на коде применяемой в Alibaba внутренней системы рецензирования изменений, написан на языке Go и распространяется под лицензией Apache 2.0.
Система поддерживает интеграцию с различными большими языковыми моделями, допускает привязку комментариев к конкретным строкам в коде и содержит встроенные наборы правил для выявление типовых проблем и уязвимостей, таких как ошибки при синхронизации потоков, межсайтовый скриптинг и подстановка SQL-кода. Проверка на основе правил предоставляется для языков Java, TypeScript, Go, Python, Kotlin, C++ и C. Open Code Review предлагает инструментарий командной строки, читающий изменения из git, отправляющий их большой языковой модели через выбранного AI-агента и генерирующий структурированный отчёт с построчными комментариями. Помимо анализа переданных изменений AI-агент может выполнять поиск в кодовой базе, загружать файлы из репозитория и инспектировать другие изменённые файлы для более глубокого погружения в контекст и учёта связи с другими изменениями.
| ||
|
Обсуждение (18 +7) |
Тип: Программы |
| ||
| · | 05.06 | Производитель телевизоров Roku опубликовал открытую операционную систему Roku LT OS (43 +22) |
|
Компания Roku, производящая телевизоры, телеприставки и устройства для умного дома, представила открытую операционную систему Roku LT OS, нацеленную на использование в специализированных инженерных проектах и встраиваемые системах. Roku LT OS позволяет создавать собственные решения, способные работать в окружениях с ограниченными ресурсами и жёсткими требованиями к задержкам и предсказуемому времени выполнения операций. Код проекта написан на языке Си и распространяется под лицензией Apache 2.0. Поддерживается создание прошивок для микроконтроллеров ESP32 и STM32, а также запуск Roku LT OS поверх Linux.
Для разработки решений на базе Roku LT OS поставляется SDK и примеры прошивок, а в качестве обучающего руководства предложен видеокурс. Roku использует Roku LT OS в пультах дистанционного управления телевизорами. Представленная ОС также задействована в университетском проекте LT Racing, развивающем гоночный электромобиль, в качестве операционной системы для блока управления (VCU, Vehicle Control Unit) на базе SoC STM32H755ZI. Данный чип включает два ядра ARM Cortex‑M4 и ARM Cortex‑M7, которые задействованы для раздельного изолированного выполнения независимых экземпляров Roku LT OS. В качестве минимальных требований к оборудованию заявлены процессор 100Mhz и 64 Кб ОЗУ. Запускаемые в Roku LT OS приложения собираются в форме динамически загружаемых разделяемых библиотек. Имеется поддержка TCP/IP стека lwIP, кодеков MP4 и Opus, шифрования и TLS. Поставляются драйверы для различных датчиков, Bluetooth, USB, устройств ввода, Wi-Fi, SD-карт, NPU, SPI, I2C.
| ||
|
Обсуждение (43 +22) |
Тип: Программы |
| ||
| · | 05.06 | Microsoft анонсировал универсальный дистрибутив Azure Linux 4.0 (75 +3) |
|
Компания Microsoft анонсировала первую публично доступную экспериментальную сборку дистрибутива Azure Linux 4.0, подготовленную для запуске в виртуальных машинах и контейнерах. В дальнейшем обещают опубликовать экспериментальные сборки для WSL (Windows Subsystem for Linux) и AKS (Azure Kubernetes Service). Ветка Azure Linux 4 преподносится как универсальное решение, оптимизированное для платформы Azure и пригодное для использования во всех связанных с ней сферах, от виртуальных машин и контейнеров до узлов в кластере Kubernetes и систем разработчиков. Специфичные для дистрибутива изменения поставляются под лицензией MIT.
По сравнению с Azure Linux 3.0 новая ветка переведена с собственной пакетной базы на использование пакетов из дистрибутива Fedora 43. В качестве основы используются штатные SRPM-пакеты из репозиториев Fedora, для которых поставляется набор оверлеев - файлов конфигурации в формате TOML, дающих возможность пересобирать пакеты с дополнениями, оптимизациями и изменениями, необходимыми для Azure Linux. Для генерации результирующих RPM-пакетов на основе SRPM-пакетов Fedora и оверлеев применяется инструментарий azldev, написанный на языке Go и поставляемый под лицензией MIT. Система сборки Azure Linux даёт возможность генерировать как классические установочные окружения с RPM-пакетами, так и монолитные атомарно обновляемые системные образы. В Azure Linux 4.0 поставляется ядро Linux 6.18 с дополнительными оптимизациями, добавлена защита от атак через зависимости (supply chain), обеспечен предсказуемый цикл поддержки и выпуска обновлений, реализованы инструменты для интеграции с облаком Azure и включены возможности для усиления безопасности, такие как фильтрация системных вызовов, шифрование дисковых разделов, верификация репоизиториев и пакетов по цифровой подписи, защита от атак, связанных с символическими ссылками и сборка с опциями для защиты от переполнений буфера. В состав включены новые драйверы, оптимизированные для оборудования, применяемого в Azure, улучшена интеграция с гипервизором Hyper-V и добавлена поддержка GPU- и AI-ускорителей. Пакетный менеджер tdnf заменён на dnf5. Обеспечена поддержка SELinux. Среди задействованных версий системных компонентов: glibc 2.42, OpenSSL 3.5, systemd 258, Python 3.14, RPM 6.0.
| ||
|
Обсуждение (75 +3) |
Тип: Программы |
| ||
| · | 04.06 | Релиз Chrome 149 (48 –9) |
|
Компания Google опубликовала релиз web-браузера Chrome 149. Одновременно доступен стабильный выпуск свободного проекта Chromium, выступающего основой Chrome. Браузер Chrome отличается от Chromium использованием логотипов Google, наличием системы отправки уведомлений в случае краха, модулями для воспроизведения защищённого от копирования видеоконтента (DRM), системой автоматической установки обновлений, постоянным включением Sandbox-изоляции, поставкой ключей к Google API и передачей RLZ-параметров при поиске. Для тех, кому необходимо больше времени на обновление, отдельно поддерживается ветка Extended Stable, сопровождаемая 8 недель. Следующий выпуск Chrome 150 запланирован на 30 июня.
Основные изменения в Chrome 149 (1, 2, 3, 4):
| ||
|
Обсуждение (48 –9) |
Тип: Программы |
| ||
| · | 04.06 | Атака на реализации HTTP/2, приводящая к исчерпанию доступной памяти (124 +31) ↻ |
|
Раскрыта информация об уязвимости "HTTP/2 Bomb", затрагивающей различные реализации протокола HTTP/2 и позволяющей добиться отказа в обслуживании через исчерпание всей доступной процессу памяти. Наличие проблемы подтверждено в HTTP-серверах nginx, Apache httpd (CVE-2026-49975), Microsoft IIS, Envoy (CVE-2026-47774) и Cloudflare Pingora в конфигурации по умолчанию.
Уязвимость использует метод, напоминающий zip-бомбу, применяемую к функциональности сжатия заголовков в HTTP/2. Идея в том, что запрос может содержать тысячи сжатых заголовков, таких как "Cookie", без прикреплённых данных, каждый из которых в запросе представлен однобайтовой ссылкой в индексе HPACK, но на сервере требует полноценного выделения памяти под весь заголовок. Уровень расходования памяти в различных HTTP-серверах варьируется от примерно 70 байт на каждый байт в индексе для nginx, IIS и Pingora, до 4000 байт в Apache httpd и 5700 в Envoy. При атаке с потребительского компьютера, имеющего канал связи 100Mbps, для исчерпания 32 ГБ памяти требуется примерно 10 секунд при атаке на сервер с Envoy 1.37.2, 18 секунд - Apache httpd 2.4.67 и 45 секунд - nginx 1.29.7. Для блокирования уязвимости в выпуске nginx 1.29.8 из проекта freenginx была перенесена директива max_headers, по умолчанию допускающая обработку не более 1000 заголовков. В Envoy исправление включено в состав выпусков 1.35.11 и 1.36.7, в которых реализованы лимиты mutable_max_request_headers_kb и max_headers_count. В Apache httpd исправление предложено в выпуске модуля mod_http2 2.0.41, который ещё не вошёл в релизы Apache httpd. Для Microsoft IIS и Cloudflare Pingora исправления пока отсутствуют. В качестве обходного пути защиты можно отключить использование протокола HTTP/2 и выставить ограничение на размер памяти, доступный для рабочих процессов. Дополнение 1: HTTP-сервер Angie не подвержен уязвимости, поскольку перенес защиту от этой атаки из freenginx ещё в версии 1.8.0, вышедшей в 2024 году. Дополнение 2: Сформировано обновление pingora 0.8.1 с добавлением ограничений, блокирующих атаку. Дополнение 3: Наличие проблемы подтверждено в HTTP-сервере h2o. Исправление доступно в форме патча.
| ||
|
Обсуждение (124 +31) ↻ |
Тип: Проблемы безопасности |
| ||
| · | 04.06 | Уязвимость в libinput, позволяющая повысить свои привилегии в системе (56 +18) |
|
В библиотеке libinput, предоставляющей унифицированный стек ввода для Wayland и X.Org Server, выявлена уязвимость (CVE-2026-50265), позволяющая добиться выполнения кода с правами root через подключение локальным пользователем виртуального устройства ввода, сэмулированного в пользовательском пространстве через uinput или uhid. Проблема устранена в выпусках 1.31.3 и 1.30.4.
Уязвимость присутствует в udev-обработчике libinput-device-group и вызвана отсутствием должного экранирования спецсимволов в атрибутах, получаемых от устройств и передаваемых в подсистему udev в форме "ключ=значение". Через подстановку символа перевода строки ("\n") в атрибут, можно добиться добавления своего правила udev, например, через выполнение uinput-команды UI_SET_PHYS("poc\n<SECOND_KEY>=<value>"). Для выполнения произвольных команд с правами root достаточно подобным способом подставить udev-правило со свойством "REMOVE_CMD", запускающем указанную команду после отключения устройства. Для эксплуатации уязвимости атакующий должен иметь доступ к устройству /dev/uinput или /dev/uhid. Обычно доступ к uinput и uhid имеет только пользователь root, но в некоторых дистрибутивах поставляются udev-правила, позволяющие непривилегированным пользователям использовать uinput. Например, в Fedora подобные правила выставляются при установке пакетов steam-devices, antimicrox и kdeconnectd. Доступен прототип эксплоита.
| ||
|
Обсуждение (56 +18) |
Тип: Проблемы безопасности |
| ||
| · | 04.06 | Выпуск фильтрующего прокси Privoxy 4.2.0 (21 +15) |
|
Опубликован релиз прокси-сервера Privoxy 4.2.0, предназначенного для создания персональных фильтров web-контента. При помощи Privoxy можно вырезать рекламные вставки, отбрасывать отслеживающие Cookie, удалять всплывающие диалоги, блокировать загрузку стороннего JavaScript-кода и вносить необходимые пользователю произвольные изменения в web-страницы. Privoxy поддерживает установку как на локальные системы отдельных пользователей, так и на серверы для создания централизованной инфраструктуры фильтрации контента в локальной сети. Код проекта написан на языке Си и распространяется под лицензией GPLv2+. Готовые сборки подготовлены для Linux (deb) и Windows.
Из расширенных возможностей Privoxy можно отметить: возможность привязки тегов для изменения поведения фильтров в зависимости от отдельных клиентских и серверных HTTP-заголовков; режим инспектирования HTTPS, позволяющий фильтровать HTTPS-запросы и ответы; использование регулярных выражений в файлах конфигурации; возможность замены анимированных gif-ов на урезанные статические картинки. Privoxy может использоваться для блокирования рекламы и нежелательного контента на устройствах, на которых невозможно установить соответствующие браузерные дополнения. Среди изменений в новом выпуске:
| ||
|
Обсуждение (21 +15) |
Тип: Программы |
| ||
| · | 04.06 | Fedora Linux помог выявить проблему с безопасностью в почтовом клиенте Outlook (29 +23) |
|
Администраторы почтовых серверов на базе Fedora Linux обратили внимание на возникновение проблем с работой почтового клиента Microsoft Outlook после обновления дистрибутива. Диагностика проблемы показала, что в новой версии пакета с IMAP/POP3-сервером Dovecot 2.4.3 в настройках по умолчанию была запрещена аутентификация по протоколам IMAP и POP3 с передачей пароля в открытом виде в сеансах без применения шифрования.
У пользователей Outlook была включена опция для обращения к почтовому серверу с использованием шифрования, но почтовый клиент при её выставлении продолжал использовать сетевой порт 110 для POP3, вместо смены номера порта на 995, применяемого для TLS-сеанса к серверу POP3, и не использовал расширение STARTTLS для переключения на TLS-сеанс. Некоторые старые конфигурации Outlook без вывода предупреждения игнорировали флаг включения TLS-шифрования в случае явного указания порта 110 и сразу отправляли команды USER и PASS открытым текстом. Наиболее старый выпуск Microsoft Outlook в котором замечено проявление проблемы датирован 2007 годом.
| ||
|
Обсуждение (29 +23) |
Тип: К сведению |
| ||
| · | 03.06 | Регрессии в rsync 3.4.3 и принятие изменений, подготовленных с использованием AI (173 +19) |
|
После выхода обновления утилиты для синхронизации файлов rsync 3.4.3 с исправлением 6 уязвимостей отмечено появление регрессий, нарушающих работоспособность ранее используемых конфигураций. Помимо этого непонимание и недовольство вызвало добавление за последние две недели в репозитории rsync около 50 изменений, подготовленных с использованием AI-ассистента Claude. Некоторые пользователи связали появление регрессий с генерацией низкокачественных исправлений уязвимостей при помощи AI.
Некоторые из регрессий в rsync 3.4.3:
Эндрю Триджелл (Andrew Tridgell), основатель проектов samba и rsync, два года назад вернувшийся к сопровождению rsync и добавивший проблемные коммиты, опубликовал заметку с пояснением сложившейся ситуации. По словам Эндрю, проект rsync столкнулся с лавиной отчётов об уязвимостях, многие из которых были сгенерированы через AI. В релизе rsync 3.4.3 появление регрессий стало ценой устранения уязвимостей. Эндрю сознательно предпочёл исправить уязвимости, несмотря на то, что исправления могли нарушить работу некоторых редких, но корректных сценариев использования rsync. Подобные сценарии не покрывались старым тестовым набором и ручными проверками, поэтому регрессии остались не замеченными и будут устранены в следующим выпуске 3.4.4. Возникшая ситуация побудила Эндрю модернизировать тестовый набор, ввести проверку покрытия кода и реализовать тестирование в системе непрерывной интеграции на разных платформах, а также выполнить анализ потенциальных уязвимостей. Так как Эндрю уже почти 60 лет и он предпочёл бы путешествовать на яхте, а не тратить своё время на устранение уязвимостей в rsync, он решил привлечь AI-ассистенты для выполнения рутинных задач в условиях свалившейся лавины сообщений об уязвимостях. Эндрю разработал архитектуру, план проверки и структуру нового тестового набора, после чего при помощи AI сгенерировал его на Python и заменил им ранее применявшийся тестовый shell-скрипт. При разработке использовалась модель Claude с ручной проверкой результата и перекрёстной проверкой в Codex и Gemini.
| ||
|
Обсуждение (173 +19) |
Тип: Тема для размышления |
| ||
| Следующая страница (раньше) >> | ||
|
Закладки на сайте Проследить за страницей |
Created 1996-2026 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |