The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

·01.04 Удалённо эксплуатируемые уязвимости в ядре FreeBSD, Vim и Emacs (35 +4)
  Во FreeBSD устранена уязвимость (CVE-2026-4747), позволяющая через отправку сетевых пакетов к NFS-серверу добиться выполнения кода на уровне ядра. Проблема проявляется при использовании модуля kgssapi.ko, реализующего API RPCSEC_GSS на стороне ядра. Помимо ядра, уязвимость затрагивает приложения в пользовательском пространстве, использующие библиотеку librpcgss_sec и выполняющие функции RPC-сервера. Подобные приложения, которые не входят в состав базовой системы FreeBSD, также могут быть атакованы через отправку сетевых пакетов.

Проблема присутствует в реализации API GSS (Generic Security Services), позволяющего устанавливать защищённые аутентифицированные каналы связи с сервером. RPCSEC_GSS применяется в NFS-серверах для защиты доступа к Sun RPC с использованием аутентификации на базе Kerberos и шифрования трафика между сервером и клиентом. Проблема вызвана тем, что при проверке подписи данные из пакета копируются в фиксированный буфер без должной проверки соответствия размера. Ошибка проявляется на стадии до прохождения аутентификации, но требует возможности отправки сетевых пакетов NFS-серверу. Доступен эксплоит, позволяющий удалённо запустить /bin/sh с правами root.

Уязвимость была выявлена сотрудником компании Anthropic при помощи AI-ассистента Claude. Примечательно, что сторонние исследователи из команды Calif воспользовались Claude для написания рабочего эксплоита, передав в качестве информации лишь опубликованный проектом FreeBSD общий отчёт об уязвимости. Помимо непосредственной эксплуатации уязвимости AI-модель развернула виртуальную машину с уязвимой конфигурацией, настроила удалённую отладку и чтение crash-дампов ядра, а также организовала в эксплоите запуск /bin/sh, после того как добилась выполнения кода на уровне ядра. На создание эксплоита было потрачено 4 часа времени работы модели Claude.

Создавшие эксплоит исследователи не ограничились этим и продолжили эксперименты, использовав Claude для выявления уязвимостей в Vim и Emacs, позволяющих добиться выполнения своего кода при открытии в редакторах специально оформленных файлов. Примечательно, что промпты к модели сводились к примитивной постановке задачи, такой как "найди 0-day уязвимость в Vim, возникающую при открытии файла". В итоге модель Claude успешно нашла ранее не известные уязвимости.

Уязвимость в Vim (CVE-2026-34714) вызвана ошибкой при обработке опции tabpanel во включённом по умолчанию режиме modeline (":set modeline"), предоставляющем возможности для определения опций редактирования в обрабатываемом файле. По задумке разработчиков Vim, через modeline допускается установка только ограниченного числа опций, выражения в которых выполняются в режиме sandbox, допускающем применение только простейших безопасных операций.

У опции tabpanel не был выставлен флаг P_MLE, что позволяло использовать в ней выражение %{expr}, выполняемое без активации режима modelineexpr. Для обхода sandbox-изоляции использовалась недоработка в функции autocmd_add(), в которой отсутствовали должные проверки безопасности при привязке действия к событию SafeStateAgain, что позволяло организовать запуск команды после выхода из sandbox-изоляции. Уязвимость устранена в выпуске Vim v9.2.0272. Пример строки, приводящей к запуску утилиты "id" и направления вывода в файл "/tmp/calif-vim-rce-poc":


  /* vim: set showtabpanel=2 tabpanel=%{%autocmd_add([{'event'\:'SafeStateAgain','pattern'\:'*','cmd'\:'!id>/tmp/calif-vim-rce-poc','once'\:1}])%}: */

Уязвимость в Emacs вызвана автоматической обработкой содержимого каталога .git/, когда он размещён в одном каталоге с открываемым файлом. В этом случае Emacs при открытии файла запускает команды "git ls-files" и "git status", выполняемые в контексте содержимого ".git/". Для организации выполнения кода достаточно открыть в Emacs файл из каталога, в котором имеется подкаталог .git/ с файлом конфигурации "config", включающим опцию "core.fsmonitor" с указанной атакующим командой для запуска. Сопровождающие GNU Emacs отказались устранять уязвимость, указав на то, что проблема в Git.

Дополнительно можно отметить ещё две уязвимости:

  • CVE-2026-33150 - обращение к памяти после её освобождения в io_uring-обработчике из библиотеки libfuse, потенциально позволяющее добиться выполнения кода при исчерпании доступных ресурсов во время работы с реализованными через FUSE (Filesystem in Userspace) файловыми системами.
  • CVE-2026-34743 - переполнение буфера в реализации функции lzma_index_append() из библиотеки liblzma. Проблема проявляется при использовании функции lzma_index_decoder() для декодирования индекса, не содержащего записей, и приводит к выделению буфера, размером меньше, чем необходимо. Отмечается, что низкоуровневый API lzma_index* используется в приложениях крайне редко и маловероятно, что найдутся приложения, в которых выполняются необходимые для эксплуатации условия работы с индексом. Уязвимость устранена в обновлении XZ Utils 5.8.3.

  1. Главная ссылка к новости
  2. OpenNews: Удалённая root-уязвимость в обработчике автоконфигурации IPv6 во FreeBSD
  3. OpenNews: Уязвимость в поставляемом во FreeBSD варианте OpenSSH, допускающая удалённое выполнение кода
  4. OpenNews: Уязвимость в NFS-сервере FreeBSD и OpenBSD, приводящая к удалённому выполнению кода
  5. OpenNews: Удалённо эксплуатируемая root-уязвимость в утилите ping, поставляемой во FreeBSD
  6. OpenNews: Уязвимость в Vim, приводящая к выполнению кода при открытии вредоносного файла
Обсуждение (35 +4) | Тип: Проблемы безопасности |


·01.04 Утечка кода инструментария Claude Code из-за забытого в NPM-пакете map-файла (40 +16)
  Компания Anthropic по недосмотру опубликовала в составе выпуска NPM-пакета claude-code 2.1.88 полный необфусцированный и не очищенный от внутренних компонентов исходный код инструментария Claude Code на языке TypeScript. Код попал в релиз в составе map-файла cli.js.map, применявшегося в ходе отладки. Для предотвращения подобных утечек разработчикам рекомендуется не забывать добавлять маску "*.map" в файл ".npmignore".

Архив с кодом имеет размер 59.8 МБ, включает 1884 файла и содержит более 500 тысяч строк кода. Энтузиасты начали тиражировать код на GitHub, но компания Anthropic инициировала рассылку DMCA-уведомлений для блокирования репозиториев с утешим кодом на основании действующего в США Закона об авторском праве в цифровую эпоху (DMCA).

В ходе анализа попавшей в открытый доступ информации было выявлено 8 ещё не анонсированных новых возможностей, 26 скрытых команд, 32 сборочных флага, 22 приватных репозитория и более 120 конфиденциальных переменных окружения. Среди скрытых возможностей:

  • Режим "Undercover", удаляющий следы участия AI при внесения изменений в публичные репозитории (не выставляет Co-Authored-By и не упоминает название модели и использование AI).
  • "Пасхальное яйцо", предоставляющее пользователю своего виртуального питомца, который показывается рядом с командной строкой. Внешний вид и поведение питомца уникальны и формируются на основе идентификатора учётной записи.
  • Флаг CLAUDE_CODE_COORDINATOR_MODE=1, включающая работу Claude Code в режиме координатора, который сам разбивает задачи на части, распределяет их выполнение между отдельными AI-агентами и сводит воедино результат.
  • Межсессионный IPC-интерфейс, позволяющий отправлять сообщения в другие сеансы, запущенные на том же компьютере (подобие чата между AI-агентами).
  • Проактивный режим работы (Proactive mode), включающий не привязанную к сеансам круглосуточную работу над кодом. Постоянно активный ассистент KAIROS, запоминающий состояние между сеансами.
  • Фоновый режим (Daemon Mode), позволяющий использовать команду "claude --bg" для запуска сеансов и обработки промптов в фоновом режиме, с возможностью просматривать лог работы и переводить сеанс в активный режим.
  • Режим ULTRAPLAN, создающий отдельный экземпляр в облаке для формирования плана работ по решению сложных задач.
  • Режим Auto-Dream (/dream), в неактивное время между сеансами структурирует полученную в ходе сеансов информацию и генерирует идеи по решению задач и вырабатывает план действий.
  • Для обхода внутреннего детектора утечек кодовое имя внутренней модели "capybara" закодировано как String.fromCharCode(99,97,112,121,98,97,114,97).
  • Телеметрия Tengu, отслеживающая и передающая не серверы Anthropic более 1000 типов событий.
  • Флаг ABLATION_BASELINE и переменная окружения CLAUDE_CODE_ABLATION_BASELINE для отключения всех мер обеспечения безопасности.
  • Скрытые команды, не упоминаемые в справке "--help":
    • /ctx-viz - визуализатор контекста
    • /btw - дополнительные вопросы
    • /good-claude - "пасхальное яйцо"
    • /teleport - перенос сеансов
    • /share - совместный доступ к сеансам
    • /summary - сводка
    • /ultraplan - планирование работы
    • /subscribe-pr - PR webhook
    • /autofix-pr автоисправление PR
    • /ant-trace - трассировка
    • /perf-issue - отчёт о производительности
    • /debug-tool-call - отладочные вызовы
    • /bughunter - отладка ошибок
    • /break-cache - сброс кэша
    • /onboarding - настройка
    • /oauth-refresh - обновление токена
    • /env - инспектирование окружения
    • /reset-limits - сброс состояния лимитов
    • /version - внутренний номер версии
    • /init-verifiers - настройка верификатора
    • /force-snip
    • /mock-limits
    • /bridge-kick
    • /backfill-sessions
    • /agents-platform
    • /dream
  • Недокументированные опции командной строки:
    • --bare - запуск без хуков и плагинов
    • --dump-system-prompt - вывод системного приглашения и выход
    • --daemon-worker=<k> - задаёт число фоновых процессов
    • --computer-use-mcp - активирует MCP-сервер
    • --claude-in-chrome-mcp - Chrome MCP
    • --chrome-native-host
    • --bg - запуск фонового сеанса
    • --spawn
    • --capacity <n> - ограничение числа параллельно выполняемых обработчиков
    • --worktree / -w - изоляция рабочего дерева Git

    Сборочные флаги:

    • KAIROS
    • PROACTIVE
    • COORDINATOR_MODE
    • RIDGE_MODE
    • DAEMON
    • BG_SESSIONS
    • ULTRAPLAN
    • BUDDY
    • TORCH
    • WORKFLOW_SCRIPTS
    • VOICE_MODE
    • TEMPLATES
    • CHICAGO_MCP
    • UDS_INBOX
    • REACTIVE_COMPACT
    • CONTEXT_COLLAPSE
    • HISTORY_SNIP
    • CACHED_MICROCOMPACT
    • TOKEN_BUDGET
    • EXTRACT_MEMORIES
    • OVERFLOW_TEST
    • TERMINAL_PANEL
    • WEB_BROWSER
    • FORK_SUBAGENT
    • DUMP_SYS_PROMPT
    • ABLATION_BASE
    • BYOC_RUNNER
    • SELF_HOSTED
    • MONITOR_TOOL
    • CCR_AUTO
    • MEM_SHAPE_TEL
    • SKILL_SEARCH
  • Более 120 недокументированных переменных окружения, среди которых DISABLE_COMMAND_INJECTION_CHECK, CLAUDE_CODE_ABLATION_BASELINE (отключает все механизмы безопасности), DISABLE_INTERLEAVED_THINKING,
  • Упоминание внутренних репозиториев, таких как anthropics/casino, anthropics/trellis, anthropics/forge-web, anthropics/mycro_manifests и anthropics/feldspar-testing.

  1. Главная ссылка к новости
  2. OpenNews: Утечка в Git-репозитории конфиденциальных данных, накопленных AI-ассистентами
  3. OpenNews: Утечка 20ГБ внутренней технической документации и исходных текстов Intel
  4. OpenNews: Утечка документации и кода, связанного с работой Великого китайского фаервола
  5. OpenNews: Утечка конфиденциальной информации DeepSeek из-за неограниченного доступа к БД с логами
  6. OpenNews: Утечка содержимого внутренних Git-репозиториев компании Яндекс
Обсуждение (40 +16) | Тип: К сведению |


·31.03 Выпуск дистрибутива Apertis 2026, позволяющего не использовать код под лицензией GPLv3 (57 –22)
  Компания Collabora представила Linux-дистрибутив Apertis 2026, изначально созданный для оснащения автомобильных систем, но затем переориентированный для более широкого спектра электронных устройств, встраиваемой техники и промышленного оборудования. Из устройств, на которых применяется Apertis, упомянуты игровая консоль Atari VCS, плата Raspberry Pi 4, автомобильные SoC R-car и сканер для обнаружения объектов в стенах Bosch D-tect 200.

Эталонные системные образы распространяются для архитектур x86_64, arm64 и armhf. Дистрибутив модульный и позволяет производителям устройств самостоятельно формировать необходимую начинку системного окружения. Поддерживается как формирование сборок на базе традиционных deb-пакетов, так и монолитных атомарно обновляемых образов на основе OSTree. Время сопровождения каждого выпуска Apertis составляет 1 год и 9 месяцев, каждые три месяца формируется корректирующий релиз с исправлением ошибок.

В качестве основы для построения дистрибутива использованы пакеты из Debian GNU/Linux. При этом системная начинка существенно переработана с учётом рисков, которые могут возникнуть у производителей оборудования при использовании некоторых свободных лицензий, таких как GPLv3, запрещающих тивоизацию, т.е. привязку программного обеспечения к оборудованию, например, через разрешение загрузки только прошивок, заверенных цифровой подписью производителя.

Apertis позволяет сформировать сборки, не включающие код под лицензиями семейства GPLv3. Вместо использования устаревших версий утилит GNU, сформированных до перехода на лицензию GPLv3, в Apertis задействованы более современные альтернативы под пермиссивными лицензиями. Например, вместо пакетов GNU coreutils и findutils в Apertis предложены аналоги от проекта uutils, написанные на языке Rust и распространяемые под лицензией MIT, а вместо GnuPG поставляется Sequoia-PGP под лицензиями GPL-2+ и LGPL-2+. Для тех, кого не заботят юридические вопросы, связанные с GPLv3, оставлена возможность использования традиционных наборов утилит.

Пакет с ядром базируется на свежей LTS-ветке ядра Linux. Например, в выпуске Apertis 2026 задействовано ядро 6.18, а не ядро 6.12 из пакетов Debian 13. Все пакеты, образы, утилиты и настройки развиваются в публичном git-репозитории, в котором доступно 6679 пакетов (в прошлом выпуске было 5905). Для совместной работы используется GitLab, а для тестирования с использованием непрерывной интеграции - GitLab CI. Сборка бинарных пакетов из исходного кода производится при помощи инструментарий OBS (Open Build Service). Собранные пакеты распространяются через APT-репозитории, управляемые при помощи инструментария aptly.

Проект Apertis придерживается правил разработки Debian и включает в состав только приложения, поставляемые под открытыми лицензиями или допускающие свободное распространение. Для того чтобы компании, создающие свои продукты на базе Apertis, могли быть уверены в лицензионной чистоте производных работ для каждой сборки формируется SBOM-отчёт (Software Bill of Materials) в котором указана информация о лицензиях всех использованных файлов с кодом, а также данные о версиях программ, что также удобно для проверки наличия уязвимых версий.

Все компоненты Apertis регулярно проходят расширенное автоматизированное и ручное тестирование на эталонных аппаратных платформах, таких как платы Raspberry Pi 4, UP Squared 6000, i.MX8MN, TI SK-AM62, MYIR Remi Pi, i.MX6 Sabrelite, а также автомобильные SoC Renesas R-car. Результаты такого тестирования публикуются в открытом доступе. Автоматизированное тестирование системных сборок на эталонном оборудовании организовано на базе системы LAVA (Linaro Automated Validation Architecture).

Основные изменения:

  • Осуществлён переход на пакетную базу Debian 13 и ядро Linux 6.18.
  • По умолчанию задействовано графическое окружение на базе композитного сервера Weston, использующего Wayland.
  • Переработан SDK для сборки, тестирования и интеграции собственных систем на базе Apertis. Новый вариант отличается улучшением кросс-компиляции, повышением удобства сопровождения пакетов и кастомизации системных образов, разделением инструментария для хост-окружения, в котором выполняется сборка, и целевых систем.
  • Улучшен процесс сборки пакетов с использованием инструментария ci-package-builder и поддержания импортированных из Debian пакетов между релизами дистрибутива. Обеспечено автоматическое отслеживание изменений из Debian и определение появления релевантных обновлений. Автоматизировано бэкпортирование отдельных изменений в старые выпуски Apertis. Обеспечено более явное разделение между функциональностью, не зависящей от релизов, такой как обработка обновлений, от специфичных для релизов задач, таких как сканирование лицензий и сборка пакетов.
  • Добавлены инструменты для пересборки Apertis на базе находящейся в разработке пакетной базы Debian GNU/Linux 14.

  1. Главная ссылка к новости
  2. OpenNews: Выпуск композитного сервера Weston 15.0
  3. OpenNews: Опубликован инструментарий для запуска Debian на устройстве OpenWrt One
  4. OpenNews: Представлен открытый офисный пакет Collabora Office
  5. OpenNews: Опубликована платформа запуска серверных приложений NethServer 8.5
Обсуждение (57 –22) | Тип: Программы |


·31.03 Скомпрометирован NPM-пакет axios, имеющий 100 млн загрузок в неделю (31 +11)
  Злоумышленники смогли перехватить учётную запись сопровождающего и выпустить два вредоносных выпуска NPM-пакета axios, предлагающего реализацию HTTP-клиента для браузеров и Node.js. Пакет axios насчитывает более 100 млн загрузок в неделю и используется в качестве зависимости у 174 тысяч других пакетов. Вредоносные изменения были интегрированы в выпуски Axios 1.14.1 и 0.30.4 через подстановку фиктивной зависимости plain-crypto-js 4.2.1, содержащей код для загрузки компонентов, принимающих команды с управляющего сервера злоумышленников. Вредоносные выпуски предлагались для загрузки 31 марта в течение почти 3 часов - с 03:21 по 6:15 (MSK).

Вредоносные версии были размещены в NPM напрямую с использованием учётных данных главного сопровождающего проекта axios ("jasonsaayman") в обход штатного механизма публикации новых релизов на базе GitHub Actions. Предполагается, атакующие смогли перехватить у сопровождающего токен доступа к NPM, после чего вошли в учётную запись и поменяли привязку к email. Как именно был перехвачен токен доступа не уточняется.

Запускаемый вредоносный код размещался в пакете plain-crypto-js в файле setup.js, активировался после завершения установки NPM-пакета через обработчик postinstall ('postinstall: "node setup.js"') и использовался для загрузки и установки трояна, поражающего системы с Windows, macOS и Linux. Для скрытия своего присутствия после запуска вредоносный компонент удалял файл setup.js и заменял package.json на вариант без postinstall-хука.

В macOS вредоносный исполняемый файл загружался как "/Library/Caches/com.apple.act.mond", в Windows - "%PROGRAMDATA%\wt.exe", в Linux - "/tmp/ld.py,". После активации в Linux и macOS каждые 60 секунд на внешний сервер атакующих отправлялся запрос команд для исполнения на поражённой системе, которые могли использоваться для загрузки дополнительных вредоносных компонентов, выполнения произвольных shell-команд и поиска/отправки определённых файлов.

Вредоносная активность в Linux и macOS не предусматривала сохранение присутствия после перезагрузки и была рассчитана на быстрый сбор конфиденциальных данных, паролей, токенов и ключей доступа. В Windows создавался файл "%PROGRAMDATA%\system.bat", который извлекал вредоносный компонент с сервера атакующих при каждом входе в систему.

  1. Главная ссылка к новости
  2. OpenNews: При помощи червя Shai-Hulud скомпрометировано 600 NPM-пакетов
  3. OpenNews: Атакующие получили контроль над NPM-пакетами проекта DuckDB и опубликовали вредоносные выпуски
  4. OpenNews: Скомпрометированы 18 NPM-пакетов, насчитывающих более 2 миллиардов загрузок в неделю
  5. OpenNews: NPM-пакет Stylus был по ошибке заблокирован из-за подозрений в наличии вредоносного кода
  6. OpenNews: Злоумышленники смогли внедрить бэкдор в NPM-пакет от разработчиков криптовалюты XRP
Обсуждение (31 +11) | Тип: Проблемы безопасности |


·31.03 Выпуск инсталлятора Archinstall 4.0, применяемого в дистрибутиве Arch Linux (50 +9)
  Опубликован выпуск инсталлятора Archinstall 4.0, который с 2021 года в качестве опции входит в состав установочных iso-образов Arch Linux. Archinstall работает в консольном режиме и может использоваться вместо предлагаемого по умолчанию ручного режима установки дистрибутива. Код Archinstall написан на языке Python и распространяется под лицензией GPLv3.

Archinstall предоставляет диалоговый (guided) и автоматизированный режимы работы. В автоматизированном режиме имеется возможность использования скриптов для развёртывания типовых конфигураций. Инсталлятор также поддерживает профили установки, например, профиль "desktop" для выбора рабочего стола (KDE, GNOME, Awesome) и установки необходимых для его работы пакетов, или профили "webserver" и "database" для выбора и установки начинки web-серверов и СУБД. Шесть лет назад была предпринята попытка создания варианта Archinstall с графическим интерфейсом установки, но она не получила развития.

В новой версии Archinstall консольный интерфейс пользователя переведён на использование библиотеки textual вместо curses, что позволило модернизировать внешний вид и упростить сопровождение многих элементов меню. Из других изменений отмечается добавление инструкции по загрузке iso-образа в виртуальной машине, замена файлов конфигурации pytest на формат TOML, интеграция поддержки firewalld в меню межсетевого экрана, переработка кода для установки файлов конфигурации с сетевыми настройками, выделение в отдельный модуль обработчиков LVM, прекращение поддержки NTFS для корневой ФС, переделку меню для работы в асинхронном режиме.

  1. Главная ссылка к новости
  2. OpenNews: Выпуск инсталлятора Archinstall 3.0.0, применяемого в дистрибутиве Arch Linux
  3. OpenNews: Представлен Amelia, простой консольный инсталлятор для Arch Linux
  4. OpenNews: В AUR-репозитории Arch Linux выявлены ещё 6 вредоносных пакетов
  5. OpenNews: Arch Linux переходит на использование открытых модулей ядра в пакетах с драйверами NVIDIA
  6. OpenNews: Arch Linux временно оставил доступ к сайту только через IPv6 из-за DDoS-атаки
Обсуждение (50 +9) | Тип: Программы |


·31.03 Microsoft Copilot начал подставлять рекламу в pull-запросы (84 +14)
  Разработчики, использующие Microsoft Copilot для подготовки изменений, обратили внимание на подстановку рекламы в pull-запросы, отправляемые на GitHub и GitLab при помощи AI-ассистента. Помимо текста по существу изменения, Copilot теперь прикрепляет к описанию изменения рекламу лаунчера Raycast - "⚡ Quickly spin up Copilot coding agent tasks from anywhere on your macOS or Windows machine with Raycast". В настоящее время поиск на GitHub выдаёт 11 тысяч pull-запросов с рекламой Raycast.

Помимо Raycast в Pull-запросы подставляется реклама самого Copilot и связанных с ним сервисов, например "Send tasks to Copilot coding agent from Slack and Teams to turn conversations into code. Copilot posts an update in your thread when it's finished". При просмотре markdown-разметки в отправленных через Copilot запросах перед рекламной строкой имеется не отображаемый в интерфейсе комментарий "<!--START COPILOT CODING AGENT TIPS-->", который, судя по всему, является инструкцией для подстановки рекламной вставки. Подобный комментарий присутствует в более чем миллионе pull-запросов на GitHub.

Дополнение: Microsoft прекратил подстановку рекламы. Вице-президент GitHub по взаимодействию с разработчиками принёс извинение сообществу, пообещал, что подсказки по использованию продукта отключены навсегда и пояснил, что компания Microsoft не планировала добавлять рекламу в pull-запросы и появление рекламы сторонних продуктов произошло из-за ошибки в логике работы сервиса. Целью интеграции подсказок было информирование разработчиков о новых способах использования AI-агента Copilot. Рекомендация интеграции с Raycast была добавлена в более общий набор советов, который не должен был подставляться столь активно. Никаких официальных соглашений о размещении рекламы с Raycast не заключалось.

  1. Главная ссылка к новости
  2. OpenNews: Mistral опубликовал Leanstral, AI-модель для вайб-кодинга с формальной верификацией
  3. OpenNews: Переписывание кода при помощи AI для перелицензирования открытых проектов
  4. OpenNews: Разработчик ФС Bcachefs запустил AI-бота, ведущего блог и помогающего в разработке
  5. OpenNews: Компоненты браузера Ladybird начали переписывать на Rust при помощи AI
  6. OpenNews: Сопровождающие Godot перегружены из-за обилия сомнительных изменений, созданных с помощью AI
Обсуждение (84 +14) | Тип: К сведению |


·31.03 Выпуск дистрибутива 4MLinux 51.0 (30 +2)
  Доступен выпуск 4MLinux 51.0, минималистичного пользовательского дистрибутива, не являющегося ответвлением от других проектов и использующего графическое окружение на базе оконного менеджера JWM. 4MLinux может использоваться как в роли Live-окружения для воспроизведения мультимедийных файлов и решения пользовательских задач, так и в качестве системы для восстановления после сбоев и платформы для запуска мини-серверов. Для загрузки подготовлены live-образ (x86_64, 2.1 ГБ) с графическим окружением и урезанная консольная сборка (x86_64, 16.2 МБ).

В новой версии:

  • Обновлены версии пакетов: Mesa 25.3.1, BusyBox 1.37.0, PHP 8.4.14, Perl 5.42.0, Python 3.13.8, Ruby 3.4.7.
  • Обновлены пользовательские приложения: LibreOffice 26.2, AbiWord 3.0.7, GIMP 3.0.8, Gnumeric 1.12.60, Firefox 149.0, Chrome 146.0, Thunderbird 140.9, Audacious 4.5.1, VLC 3.0.23, SMPlayer 25.6.0.
  • В состав включена библиотека libayemu для эмуляции звуковых чипов AY/YM (например, AY-8912), применяемых в компьютерах ZX Spectrum и Atari.
  • В число загружаемых дополнений включены браузер Midori и консольный музыкальный проигрыватель cmus.
  • Добавлено несколько наборов драйверов: Mesa 25.3.1 (VAAPI и Vulkan для современных GPU), Mesa 21.3.9 (VAAPI и VDPAU для старых GPU) и Intel VAAPI (для i965 и iHD). Добавлены свежие прошивки для устройств AMD, Intel и NVIDIA.
  • Реализовано автоматизированное применение оптимальных настроек в зависимости от используемого оборудования.

  1. Главная ссылка к новости
  2. OpenNews: Выпуск дистрибутива 4MLinux 50.0
  3. OpenNews: Выпуск минималистичного дистрибутива Tiny Core Linux 17.0
  4. OpenNews: Выпуск дистрибутива MX Linux 25.1
  5. OpenNews: Опубликован легковесный дистрибутив antiX 26
  6. OpenNews: Релиз дистрибутива Alpine Linux 3.23 и пакетного менеджера apk 3.0
Обсуждение (30 +2) | Тип: Программы |


·31.03 Создан Euro-Office, форк ONLYOFFICE. Проект ONLYOFFICE обвинил форк в нарушении лицензии (231 +35)
  Несколько европейских компаний и организаций, среди которых Nextcloud, IONOS, Eurostack, XWiki, OpenProject, Soverin, Abilian и BTactic, представили открытую платформу совместного редактирования документов Euro-Office, основанную на кодовой базе офисного пакета ONLYOFFICE. В форке проведён ребрендинг, а в текст лицензии AGPLv3 внесены изменения, удаляющие дополнительные условия в отношении логотипа и товарных знаков. Подобные изменения восприняты разработчиками ONLYOFFICE как нарушение лицензии, которое призвали немедленно устранить.

C 2021 года в тексте лицензии AGPLv3, под которой распространяется код ONLYOFFICE, присутствуют дополнительные условия, уточняющие требования AGPL в отношении упоминания автора и отсутствия обязательств по товарным знакам. Дополнительные условия требуют сохранения в производных продуктах оригинального логотипа ONLYOFFICE для сохранения узнаваемости бренда. В дополнении к лицензии также упоминается отсутствие обязательств по предоставлению прав на товарные знаки ONLYOFFICE.

Создатели форка Euro-Office удалили из текста лицензии дополнительные требования и контактные данные компании Ascensio System, оставив только примечание в отношении лицензии на ресурсы, применяемые в графическом интерфейсе, и упоминание о снятии с себя ответственности. Изменение обосновано упоминанием в разделе 7 лицензии AGPLv3 права удалять дополнительные ограничения, внесённые сверх условий, определённых в разделах 7(a)-7(f).

В частности, дополнение о сохранении логотипа удалено, так как раздел 7(b) AGPL допускает требование об указании авторства, но логотип является элементом товарного знака и бренда, напрямую не связанным с упоминанием автора. Упоминание отказа от предоставления прав на товарные знаки удалено, как не влияющее на права или обязанности лицензиата (в пункте 7(e) уже указано, что AGPLv3 не предоставляет прав на товарные знаки). Контактный адрес удалён, как несущий только информационный характер (AGPLv3 не требует сохранение в тексте контактных данных).

Юристы, консультирующие проект ONLYOFFICE, считают юридически необоснованным утверждение, что производный продукт может распространяться под "чистой" лицензией AGPLv3 без дополнительных условий, введённых в соответствии с разделом 7. По их мнению, в соответствии со сложившимися юридическими нормами в области интеллектуальной собственности право на создание и распространение производных работ образуется исключительно из предоставляемых лицензией прав, и такие права передаются неделимо.

Создание производного продукта не позволяет использовать независимый режим лицензирования, свободный от условий, на которых был получен оригинальный код, т.е. форк ONLYOFFICE должен распространяться только в соответствии со всеми условиями лицензии, включая дополнительные пункты. Спорным в сложившейся ситуации является трактовка пункта 7(b) AGPL в контексте распространения формулировки "упоминание автора" на логотип. Фонд СПО считает, что, за исключением специфичных случаев, логотип не подпадает под допускаемые пунктом 7(b) упоминание автора и правовые уведомления.

Euro-Office преподносится как открытая, прозрачно развиваемая и независимая платформа для совместной работы с документами, электронными таблицами и презентациями. Проект рассчитан на использование через Web и интеграцию со сторонними продуктами, такими как системы обмена файлами, wiki и инструментами управления проектами. Отмечается, что форк создан как вынужденная мера из-за невозможности подключиться к разработке ONLYOFFICE по следующим причинам:

  • Проблематичность передачи изменений в кодовую базу платформы ONLYOFFICE, разработчики которой не рецензируют присылаемые изменения, не принимают pull-запросы и не заботятся о корректности и актуальности инструкций по сборке.
  • Развивающая ONLYOFFICE компания периодически принимает спорные решения, такие как отключение редактирования в мобильном приложении и удаление панели администратора.
  • Отсутствие прозрачности - тексты в коммитах часто ссылаются на внутренние системы отслеживания ошибок, в поставку входят бинарные блобы и обфусцированный код. Часть комментариев в коде на русском языке, что затрудняет работу с кодом международными командами.
  • Мобильное приложение не полностью открыто и завязано на проприетарные компоненты.
  • Значительная часть разработчиков ONLYOFFICE находится в РФ, что усложняет совместную работу и подрывает доверие из-за политической ситуации, особенно когда процессы разработки непрозрачны и отгорожены.

  1. Главная ссылка к новости
  2. OpenNews: Опубликован офисный пакет ONLYOFFICE 9.3
  3. OpenNews: Возобновлена работа над лицензией Copyleft-next, развиваемой на смену GPLv3
  4. OpenNews: PHP переходит на лицензию BSD-3, совместимую с GPL
  5. OpenNews: Решено возобновить разработку LibreOffice Online, серверной версии для Web
  6. OpenNews: Переписывание кода при помощи AI для перелицензирования открытых проектов
Обсуждение (231 +35) | Тип: К сведению | Интересно


·30.03 Мобильная платформа ALT Mobile 11.0, построенная на технологиях GNOME (189 +7)
  Компания Базальт СПО представила мобильную платформу ALT Mobile 11.0 ("Альт Мобильный"), предназначенную для смартфонов, планшетов и встраиваемых устройств с сенсорным экраном, таких как считыватели штрихкодов, контрольно-кассовые аппараты и терминалы сбора данных. Платформа построена на пакетной базе репозитория Сизиф (p11) и укомплектована графической оболочной Phosh, основанной на технологиях GNOME и использующей композитный сервер Phoc.

Для загрузки подготовлены образы для архитектур x86_64 и ARM64, которые можно использовать для установки на устройства PinePhone, PinePhone Pro, PineTab 2 и планшеты "MIG" (на архитектуре x86-64), а также для запуска в QEMU. Платформа также портирована для работы на игровых приставках Anbernic, PowKiddy, Retroid на базе SoC Rockchip, Allwinner и Qualcomm.

Свободно использовать загруженную версию могут только физические лица, в том числе - индивидуальные предприниматели. Коммерческие и государственные организации могут скачивать и тестировать платформу, но для постоянной работы в корпоративной инфраструктуре юридическим лицам необходимо приобретать лицензии или заключать лицензионные договоры в письменной форме. При этом разработка ALT Mobile ведётся в соответствии с принципами свободного программного обеспечения и кодовая база полностью открыта.

Платформа предоставляет возможность работы с системой нескольких пользователей, для переключения между которыми задействован менеджер входа Phrog. При необходимости можно использовать Waydroid и Wine для запуска приложений, собранных для Android и Windows, а также открывать эмулятор терминала для работы в командной строке. Поддерживается полнодисковое шифрование на базе LUKS.

При подключении мобильного устройства с монитору, клавиатуре и мыши платформа позволяет использовать систему в качестве полноценной рабочей станции с GNOME-подобным окружением. Возможна установка приложений, имеющихся в репозиториях для десктоп-редакций ALT Linux, а также пакетов в формате flatpak.

Среди задействованных в платформе приложений:

  • Типовые приложения GNOME: конфигуратор GNOME Control Center 48.4, центр приложений GNOME Software 49.2, эмулятор терминала GNOME Console 48.0.1, ведение списка дел Errands 46.2.9, переводчик Dialect 2.5.0, генератор кодов двухфакторной аутентификации GNOME Authenticator, Калькулятор, Календарь, Часы, Текстовый редактор, Погода, Камера, Файловый менеджер.
  • Мобильные приложения: конфигуратор Phosh Mobile Settings 0.49.0, блокировщик спамерских звонков Phosh Anti-Spam 3.5, чтение электронных книг Foliate 3.3.0, ведение заметок Iotas 0.11.0, передача файлов по локальной сети Warp 0.8.1, Matrix-клиент Fractal 10.1, видеопроигрыватель Livi 0.3.1, диктофон Vocalis 43, Звонки, Контакты, Сообщения, Telegram.
  • Программы, созданные командой ALT Linux Team: менеджер ярлыков в меню приложений Folder Manager 5.1, подсчёт хеш-сумм файлов Hashsum 4.0.9, дополнительные настройки ALT Tweaks 0.2.1, аутентификация в домене Mobile Auth 1.1.

  1. Главная ссылка к новости
  2. OpenNews: Опубликована одиннадцатая платформа ALT
  3. OpenNews: Экспериментальные сборки ALT Linux для процессоров Loongarch64 и смартфона Pinephone Pro
  4. OpenNews: Выпуск Phosh 0.53.0, GNOME-окружения для смартфонов
  5. OpenNews: Представлена мобильная платформа РОСА Мобайл 2.2, основанная на KDE Plasma Mobile
  6. OpenNews: Выпуск дистрибутива Альт Рабочая станция К 11.2
Обсуждение (189 +7) | Тип: Программы |


·30.03 Утверждён стандарт C++26 (337 +31)
  Комитет ISO по стандартизации языка C++ утвердил финальный вариант спецификации, образующей международный стандарт "C++26". Представленные в спецификации возможности частично уже поддерживаются в компиляторах GCC, Clang и Microsoft Visual C++. Поддерживающие C++26 стандартные библиотеки реализованы в рамках проекта Boost.

В следующие два месяца утверждённая спецификация будет находиться на стадии подготовки документа к публикации, на которой будет проведена работа по редакторской правке орфографических ошибок и опечаток. В начале ноября результирующий вариант документа будет направлен в ISO для публикации под формальным именем ISO/IEC 14882:2026.

Основные особенности C++26:

  • Реализованы элементы контрактного программирования (Contracts), позволяющие определять формальные спецификации интерфейсов при помощи трёх новых операторов: pre (предусловие), post (постусловие) и contract_assert (проверка утверждения). Оператор "pre" определяет предварительные условия, которые должны быть выполнены перед вызовом (проверка входных данных); "post" - условия, которые должны соблюдаться после выполнения (требования к выходным данным); contract_assert - условия возникновения исключений. Возможность появится в GCC 16.
    
       int f(const int x)
          pre (x != 1) // требования ко входным данным
          post (r : r == x && r != 2) // требования к результату; r - значение с результатом
       {
          contract_assert (x != 3);
          return x;
       }
    
  • Добавлена поддержка рефлексии (Reflection), позволяющей отслеживать и модифицировать элементы программы на стадии компиляции. Добавлены новые операторы "^^" для получения метаинформации о грамматической конструкции и "[:…:]" для выполнения обратного преобразования. Для преобразования и обработки полученной в ходе инспектирования информации предложена библиотека std::meta и доступны такие возможности, как вычисления с константами. Поддержка рефлексии будет добавлена в GCC 16.
    
       constexpr int i = 42, j = 42;
    
       constexpr std::meta::info r = ^^i, s = ^^i;
       static_assert(r == r && r == s);
    
       static_assert(^^i != ^^j);  // 'i' и 'j' имеют различные значения.
       static_assert(constant_of(^^i) == constant_of(^^j));    // 'i' и 'j'  одинаковы
       static_assert(^^i != std::meta::reflect_constant(42));  // отличается от значения 42
    
  • Добавлен оператор "template for" для перебора элементов, таких как пакеты параметров, похожие на кортежи объекты и результаты рефлексии (метаобъекты), на этапе компиляции в стиле обычного цикла. При выполнении "template for" тело цикла раскрывается для каждого элемента и каждая итерация обрабатывается в отдельной области видимости, в которой элемент последовательности, по которой итерируется цикл, является константой для каждой итерации и может участвовать в константных выражениях (constexpr). В контексте рефлексии "template for" может применяться для обхода свойств классов или перечислений. Возможность появится в GCC 16.
    
       void f() {
         template for (constexpr int I : std::array{1, 2, 3}) {
           static_assert(I < 4);
         }
       }
    
    будет раскрыто в:
    	
       void f() {
       {
           constexpr auto&& __range = std::array{1, 2, 3};
           constexpr auto __begin = __range.begin();
           constexpr auto __expansion-size = __range.end() - __begin; // 3
    
           {
             constexpr int I = *(__begin + 0);
             static_assert(I < 4);
           }
    
           {
             constexpr int I = *(__begin + 1);
             static_assert(I < 4);
           }
    
           {
             constexpr int I = *(__begin + 2);
             static_assert(I < 4);
           }
         }
       }
    
  • Добавлен фреймворк std::execution для асинхронного и параллельного выполнения кода. Предоставляются объекты scheduler, определяющий планировщик выполнения работ (поток, пул потоков, GPU, event loop), sender, определяющий выполняемую работу, и receiver - обработчик результата.
    
       using namespace std::execution;
       scheduler auto sch = thread_pool.scheduler();
       sender auto begin = schedule(sch);
       sender auto hi = then(begin, []{
          std::cout < "Hello world! Have an int.";
          return 13;
       }); 
    
       sender auto add_42 = then(hi, [](int arg) { return arg + 42; });
    
       auto [i] = this_thread::sync_wait(add_42).value();
    
  • Добавлена библиотека std::simd для распараллеливания выполнения операций над данными при помощи наборов инструкций SIMD, таких как AVX-512 и NEON, с использованием стандартной системы типов C++.
    
        std::simd<float> a = {1.0f, 2.0f, 3.0f, 4.0f};
        std::simd<float> b = {5.0f, 6.0f, 7.0f, 8.0f};
    
        std::simd result = a + b;
    
  • Предложена реализация вектора (массива) переменного размера std::inplace_vector, размещаемого в стеке, размер которого определяется на этапе компиляции. API близок к std::vector, но элементы массива хранятся не в "куче", а внутри объекта.
    
       inplace_vector a(10);
       inplace_vector b(std::move(a));
       assert(a.size() == 10); 
    
  • Добавлена директива "#embed", предназначенная для встраивания в код бинарных ресурсов.
    
       const unsigned char icon_display_data[] = {
           #embed "art.png"
       };
    
  • Добавлена поддержка генерации и обработки исключений на этапе компиляции при ошибках в контексте constexpr.
    
       constexpr std::optional<unsigned> checked_divide(unsigned n, unsigned d) {
    	try {
    		return divide(n, d);
    	} catch (...) {
    		return std::nullopt;
    	}
       }
    
       constexpr date parse_date(std::string_view input) {
    	auto [correct, year, month, day] = ctre::match<"([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})">(input);
    	
    	if (!correct) {
    		throw incorrect_date{input};
    	}
    	
    	return build_date(year, month, day);
       }
    
  • Реализована структура данных std::hive для неупорядоченного хранения данных и обеспечения повторного использования памяти, освободившейся после удалённых элементов. Структура оптимизирована для нагрузок с высокой интенсивностью добавления и удаления элементов в произвольном порядке. В отличие от массивов, удаление элемента в std::hive не вызывает сдвига других элементов, а приводит к пометке удалённого элемента пустым с последующим заполнением освободившейся позиции при добавлении нового элемента.
  • Добавлена библиотека std::linalg c API для линейной алгебры, основанный на BLAS.
  • Добавлена поддержка механизма синхронизации Hazard pointer, позволяющего без выставления блокировок предотвратить освобождение памяти объектов, с которыми продолжается работа в других потоках. При удалении объекта, он лишь помечается удалённым, но занимаемая объектом память освобождается только когда все потоки снимут hazard-указатель, выставляемый во время работы с объектом.
  • Добавлена поддержка механизма синхронизации RCU (Read-Copy Update) - при операциях записи создаётся новый экземпляр объекта, а операции чтения не блокируются, а продолжают работать со старым экземпляром. После завершения изменения новый экземпляр становится активным и новые операции чтения уже производятся с ним, а старый экземпляр удаляется после завершения читающих его потоков.
  • Внесены изменения для усиления безопасности стандартной библиотеки, такие как проверки допустимых значений и выхода за границы буфера. Например, при доступе к элементу "constexpr reference operator[](size_type idx) const;" добавляется проверка условия "idx < size()".
  • Предоставлена возможность использования ключевого слова "constexpr" с разновидностью оператора "new" (placement new) для размещения объекта в заранее выделенной памяти во время компиляции.
  • Добавлена поддержка структурированных привязок (structured binding) в контексте "constexpr", т.е. ссылки на константные выражения теперь сами могут быть константными выражениями. Поддержка реализована для массивов и простых структур.
    
       constexpr int arr[] = {1, 2};
       constexpr auto [x, y] = arr; 
    
  • В структурированные привязки добавлена возможность использования синтаксиса "..." для указания пакетов (pack), захватывающих оставшееся число элементов из присваиваемой последовательности.
    
       auto [x,y,z] = f();       // в переменные  x, y, z будут записаны  три элемента, возвращённые f().
       auto [...xs] = f();       // в пакет xs будут записаны все элементы, возвращённые f().
       auto [x, ...rest] = f();  // В x будет записан первый элемент, а в rest - остальные.
       auto [x, y, ...rest] = f(); // В x будет записан первый элемент, в y - второй, а в rest - третий.
       auto [x, ...rest, z] = f();  // в x - первый, в rest - второй, в z - третий.
    
  • Добавлена поддержка "тривиальной перемещаемости" типов (Trivial Relocatability), позволяющей оптимизировать перемещения объектов заданного типа через их клонирование в памяти без вызова конструкторов или деструкторов. Для классов реализованы свойства memberwise_trivially_relocatable и memberwise_replaceable, а для низкоуровневого перемещения одного или нескольких объектов добавлены функции trivially_relocate_at и trivially_relocate.
  • Реализована поддержка прикрепления функции main() к глобальному модулю и определения функции main() в именованных модулях.
  • Добавлен вариативный оператор "friend" ("friend Ts...").
  • Реализованы атрибуты для структурированных привязок;
  • Добавлен синтаксис '= delete("причина")'.
  • В базовый набор символов включены "@", "$" и "`".
  • Предоставлена возможность применения структурированного связывания (structured binding) в качестве условия в операторах if и switch.
  • Добавлена возможность использования сразу нескольких переменных-заполнителей с именем "_" в одной области видимости, например, теперь являются корректными конструкции:
    
        struct S {
          int _, _; 
        };
        void func() {
          int _, _;
        }
        void other() {
          int _; // ранее выводилось предупреждение в режиме -Wunused
        }
    
  • Предоставлена возможность использования строковых литералов в контексте, в котором они не используются для инициализации массива символов и не попадают в результирующий код, а применяются только во время компиляции для диагностических сообщений и препроцессинга, например, в качестве параметров директив и атрибутов _Pragma, asm, extern, static_assert, [[deprecated]] и [[nodiscard]].
  • Добавлены встроенные функции: "__builtin_is_within_lifetime" для проверки активности альтернативы в объединениях (union) и "__builtin_is_virtual_base_of" для проверки является ли базовый класс виртуальным.
  • Реализованы тривиальные бесконечные циклы без неопределенного поведения.
  • Обеспечен вывод ошибки при удалении указателя на неполный тип.
  • Объявлен устаревшим синтаксис определения вариативных параметров с многоточием без предшествующей запятой (например, когда указывается "void e(int...)" вместо "void e(int, ...)").
  • Запрещено использование макросов для объявления модулей.
  • Переведено в разряд устаревших выполнение неявных преобразований перечисляемых значений в арифметических вычислениях.
    
       int main() {
          enum E1 { e };
          enum E2 { f };
          bool b = e <= 3.7; // устарело
          int k = f - e; // устарело
          int x = +f - e; // OK
       }
    
  • Прекращена поддержка прямого сравнения массивов.
    
       int arr1[5]; 
       int arr2[5]; 
       bool same = arr1 == arr2;
    
  • Объявлен устаревшим шаблонный класс is_trivial.

    1. Главная ссылка к новости
    2. OpenNews: Утверждён стандарт C++20
    3. OpenNews: Бьёрн Страуструп призвал стандартизировать профили C++ для безопасной работы с памятью
    4. OpenNews: Fil-C - компилятор для языков C и C++, гарантирующий безопасную работу с памятью
    5. OpenNews: C++ Alliance продвигает в C++ механизмы безопасной работы с памятью, опробованные в Rust
    6. OpenNews: Утверждён стандарт C++17
Обсуждение (337 +31) | Тип: К сведению |


·30.03 Основатель и лидер Ubuntu MATE объявил об уходе из проекта (193 +18)
  Мартин Вимпрес (Martin Wimpress), сооснователь и лидер дистрибутива Ubuntu MATE, в 2019-2021 годах занимавший пост директора по разработке десктоп-систем в компании Canonical, объявил, что его участие в проекте подходит к концу и он ищет разработчиков, готовых продолжить работу над дистрибутивом Ubuntu MATE и способных сопровождать в репозитории Ubuntu пакеты, связанные со средой рабочего стола MATE.

Отмечается, что Мартин не испытывает былого энтузиазма, у него поменялись интересы и больше нет времени уделять внимание проекту Ubuntu MATE. В связи с этим он хотел бы передать управление проектом разработчикам, у которых есть время и энергия для работы над Ubuntu MATE.

Ubuntu MATE всё ещё остаётся на ветке MATE 1.26, сформированной в 2021 году, имеет нерешённые проблемы и испытывает нехватку разработчиков. Выпуску Ubuntu MATE 26.04 решено не присваивать статус LTS, а публикация релиза находится под вопросом - несмотря на начало бета-тестирования Ubuntu 26.10, сборки бета-версии Ubuntu MATE 26.04 до сих пор не сформированы. Разработка среды рабочего стола MATE с весны 2024 года находится в стагнации.

  1. Главная ссылка к новости
  2. OpenNews: Ubuntu MATE 26.04 и Ubuntu Unity 26.04 решено не присваивать статус LTS
  3. OpenNews: Релиз среды рабочего стола MATE 1.28 с экспериментальной поддержкой Wayland
  4. OpenNews: Ubuntu MATE будет поставляться на компьютерах LibreBox
  5. OpenNews: Ubuntu MATE переходит на GTK3+
  6. OpenNews: Инициатива по портированию приложений MATE для Wayland
Обсуждение (193 +18) | Тип: К сведению |


·29.03 Компрометация PyPI-пакета Telnyx (43 +5)
  Разработчики VoIP-платформы Telnyx предупредили пользователей о компрометации пакета telnyx в репозитории PyPI, насчитывающего 756 тысяч загрузок в месяц и предоставляющего SDK для обращения к API Telnyx из программ на языке Python. 27 марта атакующие смогли опубликовать два вредоносных выпуска telnyx 4.87.1 и 4.87.2, получив доступ к PyPI после захвата учётных данных сопровождающего. Вредоносные версии распространялись с 6:51 до 13:13 (MSK), после чего были заблокированы администрацией PyPI. Инфраструктура, API, голосовые сервисы и платформа Telnyx не пострадали.

Компрометация была произведена в ходе более масштабной supply chain атаки TeamPCP, в ходе которой на днях были скомпрометированы Python-пакеты LiteLLM и Trivy, а также интегрирован вредоносный код в OpenVSX-дополнение Checkmarx и внедрён вредоносный червь в 68 пакетов в репозитории NPM. Используемый для шифрования отправляемых данных RSA-ключ совпадал с ключами, применявшимися в других атаках группы TeamPCP.

В сформированные атакующими версии был встроен вредоносный код, который был интегрирован в файл "_client.py" и активировался при импорте модуля. После активации с серверов атакующих загружался звуковой файл ringtone.wav для Unix-подобных систем и hangup.wav для Windows. Данные файлы успешно воспроизводились как звуковые, но содержали интегрированные при помощи стеганографии скрытые вредоносные обработчики.

На платформе Windows вредоносный обработчик сохранялся в систему как "%APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup\msbuild.exe" и запускался при каждом входе. В macOS и Linux осуществлялись поиск и отправка SSH-ключей, учётных данных, содержимого переменных окружения, токенов доступа к API, параметров подключения к облачным сервисам AWS, GCP, Azure и K8s, ключей от криптокошельков, паролей к СУБД и т.п. Обнаруженные данные шифровались с использованием алгоритмов AES-256-CBC + RSA-4096 и отправлялись HTTP POST-запросом на внешний хост.

  1. Главная ссылка к новости
  2. OpenNews: В PyPI размещены вредоносные выпуски библиотеки LiteLLM, насчитывающей 95 млн загрузок в месяц
  3. OpenNews: PyPI, Сrates.io, Packagist и Maven подняли вопрос сохранения устойчивости инфраструктуры
  4. OpenNews: Перехвачены 4 учётные записи в PyPI и выпущены вредоносные релизы num2words
  5. OpenNews: Фишинг-атака на сопровождающих Python-пакеты в репозитории PyPI
  6. OpenNews: Атакующие получили доступ к 174 учётным записям в каталоге PyPI
Обсуждение (43 +5) | Тип: Проблемы безопасности |


·29.03 Выпуск дистрибутива SystemRescue 13.0 (55 +17)
  Доступен релиз SystemRescue 13.0, специализированного Live-дистрибутива на основе Arch Linux, предназначенного для восстановления системы после сбоя. В качестве графического окружения используется Xfce. Размер iso-образа - 1.3 ГБ (amd64).

В новом выпуске добавлен скрипт для изменения уровня масштабирования для экранов с высокой плотностью пикселей. Решена проблема с показом слишком мелких шрифтов в консоли на экранах HiDPI. В состав включены пакеты fatsort и nss-mdns, а также новая утилита yq для обработки файлов в форматах YAML, XML и TOML. Написанная на Python утилита iotop заменена на iotop-c. Ядро Linux обновлено до ветки 6.18 (ранее поставлялась ветка 6.12). Обновлены версии bcachefs 1.37.3 и GParted 1.8.1.



  1. Главная ссылка к новости
  2. OpenNews: Выпуск дистрибутива SystemRescue 12.0
  3. OpenNews: Выпуск дистрибутива 4MLinux 50.0
  4. OpenNews: Выпуск Redo Rescue 4.0.0, дистрибутива для резервного копирования и восстановления
  5. OpenNews: Выпуск утилиты для восстановления данных dd_rescue 1.99.17
  6. OpenNews: Выпуск дистрибутива для резервного копирования Rescuezilla 2.6
Обсуждение (55 +17) | Тип: Программы |


·28.03 Компания Apple опубликовала язык программирования Swift 6.3 (77 +14)
  Компания Apple опубликовала релиз языка программирования Swift 6.3. Официальные сборки подготовлены для Linux, Windows и macOS. Исходные тексты распространяются под лицензией Apache 2.0.

Язык Swift сочетает лучшие элементы языков C и Objective-C, и предоставляет объектную модель, совместимую с Objective-C (Swift-код может смешиваться с кодом на С и Objective-C), но отличается использованием средств автоматического распределения памяти, контроля переполнения переменных и массивов, защитой от использования неинициализированных переменных и блокированием доступа к памяти после её освобождения, что значительно увеличивает надёжность и безопасность кода. Swift также предлагает множество современных методов программирования, таких как замыкания, обобщённое программирование, лямбда-выражения, кортежи и словарные типы, быстрые операции над коллекциями, элементы функционального программирования.

Pеализация Swift построена с задействованием технологий свободного проекта LLVM. Для обеспечения высокой производительности Swift-программы компилируются в машинный код, который по заявлению Apple до 2.6 раз быстрее Objective-C. Вместо сборщика мусора в Swift используются средства подсчёта ссылок на объекты. В поставку входит пакетный менеджер Swift Package Manager, предоставляющий инструменты для распространения модулей и пакетов с библиотеками и приложениями на языке Swift, управления зависимостями, автоматизированной загрузки, сборки и связывания компонентов.

Ключевые изменения в новой версии:

  • Предложен первый официальный релиз Swift SDK для платформы Android, позволяющий использовать язык Swift для разработки приложений для Android, а также встраивать отдельные компоненты на Swift в существующие Android-приложения, написанные на Java и Kotlin.
  • Добавлен атрибут "@c", позволяющий экспортировать написанные на Swift функции и перечисления (enum) для использования в коде на языке Си (генерируется заголовочный файл для Си с соответствующими объявлениями функций и определениями перечислений).
  • Реализованы селекторы модулей, позволяющие явно указывать, из какого модуля использовать API, если несколько импортированных модулей предоставляют API с одинаковым именем.
    
       import ModuleA
       import ModuleB
    
       let x = ModuleA::getValue() // вызов 'getValue' из ModuleA
       let y = ModuleB::getValue() // вызов 'getValue' из ModuleB
    
  • Добавлены новые атрибуты для управления оптимизациями, применяемыми компилятором: @specialize - специализация обобщённых (generic) API для часто используемых типов; @inline - inline-развёртывание функции по месту вызова; @export(implementation) - экспорт реализации функции в стабильный ABI библиотеки.
  • Предложена предварительная реализация варианта сборочной системы Swift Build, интегрированного в пакетный менеджер SwiftPM (Swift Package Manager).

  1. Главная ссылка к новости
  2. OpenNews: Компания Apple опубликовала инструментарий для разработки Android-приложений на языке Swift
  3. OpenNews: Компания Apple открыла код сборочной системы Swift Build
  4. OpenNews: Компания Apple представила язык программирования Swift 6.0
  5. OpenNews: Создатель LLVM и Swift уходит из компании Apple
  6. OpenNews: Компания Apple открыла реализацию языка Swift и реализовала поддержку Linux
Обсуждение (77 +14) | Тип: Программы |


·28.03 В Ubuntu 26.10 намерены добавить ntpd-rs и прекратить поддержку Btrfs, XFS, ZFS, LVM и LUKS в /boot (243 –27)
  Джон Сигер (Jon Seager), вице-президент компании Canonical по инжинирингу и технический лидер проекта Ubuntu, объявил о намерении интегрировать в осенний выпуск Ubuntu 26.10 NTP-сервер ntpd-rs, написанный на языке Rust и уже применяемый в инфраструктуре удостоверяющего центра Let's Encrypt. Проект ntpd-rs станет третьим компонентом, после Rust Coreutils и sudo-rs, интегрированным в Ubuntu в рамках инициативы по повышению качества системного окружения через поставку программ, изначально разрабатываемых с оглядкой на безопасность, надёжность и корректность.

На стадии обсуждения также находится замена библиотеки zlib на zlib-rs и задействование пакета Sequoia вместо GnuPG в пакетном менеджере APT. Пакет ntpd-rs намерены задействовать по умолчанию в качестве сервера и клиента синхронизации точного времени, который со временем заменит собой ныне применяемые пакеты chrony, linuxptp и возможно gpsd. Предложенный для внедрения план подразумевает поставку актуальной версии пакета ntpd-rs в репозитории Ubuntu 26.10 в качестве опции для тестирования. В Ubuntu 27.04 планируют задействовать ntpd-rs по умолчанию в качестве унифицированного сервера и клиента с поддержкой протоколов NTP, NTS и PTP.

Проект ntpd-rs развивается организацией Trifecta Tech Foundation, которая также отвечает за разработку уже интегрированной в Ubuntu утилиты sudo-rs. Компания Canonical профинансирует разработку новых возможностей и усиления безопасности в ntpd-rs. Среди прочего, в ntpd-rs намерены интегрировать наработки проекта Statime, развивающего реализацию протокола PTP (Precision Time Protocol) на языке Rust, чтобы унифицировать поддержку актуальных протоколов синхронизации времени в одном пакете и использовать ntpd-rs не только как замену chrony, но и linuxptp.

Из дополнительных возможностей, которые предстоит реализовать в ntpd-rs до внедрения, отмечается реализация протоколов gPTP и CSPTP, поддержка IP-сокета gpsd, многопоточный режим работы NTP-серверов, возможность использования в режиме multi-homed, создание профилей изоляции на базе AppArmor и seccomp, предоставление инструментария для тестирования и оценки производительности, внесение улучшений, связанных в ведением логов и настройкой, усовершенствование утилиты ntp-cli.

Помимо совместных проектов с организацией Trifecta Tech Foundation компания Canonical также вошла в число "золотых" участников организации Rust Foundation, занимающейся развитием и поддержкой языка Rust и связанной с ним экосистемы. Кроме компании Canonical, которая стала единственным золотым участником, ключевое финансирование разработки Rust оказывают 6 платиновых участников - Google, Microsoft, Amazon, ARM, Meta и Huawei. Размер взноса золотого участника составляет 150 тысяч долларов в год, платинового - 325 тысяч долларов.


Дополнительно можно отметить объявление Джулиана Андреса Клоде (Julian Andres Klode) из компании Canonical, сопровождающего проект APT, о намерении сокращения числа парсеров в загрузчике GRUB c целью снижения поверхности атаки. В Ubuntu 26.10 предложено удалить из заверенных цифровой подписью сборок GRUB поддержку форматов изображений jpeg и png, таблицы разделов part_appleа и возможности использования ФС btrfs, hfsplus, xfs и zfs для раздела /boot. Помимо этого, намерены удалить поддержку использования в /boot разделов LVM, md-raid (кроме raid1) и шифрованных разделов LUKS.

Отмечается, что в инсталляторе Ubuntu для /boot всегда используется только ФС ext4, а другие системы не тестируются и представляют угрозу обхода режима верифицированной загрузки на фоне периодического выявления уязвимостей в GRUB (1, 2, 3, 4, 5, 6, 7). Что касается удаления поддержки шифрования раздела /boot, то такая операция рассматривается как бесполезная (security by obscurity) - в данном контексте важно обеспечить проверку целостности в разделе /boot, что осуществляется при помощи TPM FDE, а не скрытие данных. В разделах, отличных от /boot, как и раньше можно будет использовать LUKS, LVM и MD-RAID. Ограничения также не будут применяться при загрузке не в режиме UEFI Secure Boot.

  1. Главная ссылка к новости
  2. OpenNews: В Ubuntu 25.10 решено задействовать аналог sudo, написанный на Rust
  3. OpenNews: В Ubuntu 25.10 решено заменить GNU Coreutils на uutils, написанные на Rust
  4. OpenNews: Let's Encrypt перешёл на NTP-сервер ntpd-rs, написанный на языке Rust
  5. OpenNews: В Ubuntu по умолчанию задействован sudo-rs, написанный на Rust
  6. OpenNews: Уязвимости в snapd и Rust Сoreutils, позволяющие получить root-привилегии в Ubuntu
Обсуждение (243 –27) | Тип: К сведению |


Следующая страница (раньше) >>



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2026 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру