1 час назад
Ruby введёт «период ожидания» перед установкой новых пакетов

Авторы RubyGems заявили, что большинство атак на цепочку поставок используют узкий временной промежуток после взлома учётной записи, чтобы опубликовать вредоносный пакет. По этой причине Bundler 4.0.13 вводит фильтр cooldown для новых пакетов, чтобы ограничить их инсталляции в течение нескольких дней после публикации.
Функция является необязательной и дополняет, а не заменяет существующие средства защиты, такие как обязательная двухфакторная аутентификация и доверенная публикация.
Cooldown считывает временную метку created_at для каждой версии, которую теперь предоставляет индекс v2 на rubygems.org. Релиз, источник которой не раскрывает created_at, в частности, старые серверы гемов, исторические записи до перехода на v2 или частные реестры, всё ещё использующие структура v1, рассматривается как находящаяся за пределами временного окна и остаётся доступной.
Cooldown входит в состав Bundler 4.0.13. Тем, кто использует более раннюю версию, нужно обновить её и зафиксировать в файле блокировки, чтобы всё работало согласованно:
$ gem update --system # or: gem install bundler -v 4.0.13 $ bundle update --bundler=4.0.13
Затем требуется инсталлировать небольшое ограничение по времени для исходного кода в Gemfile. Это правильная настройка для большинства команд: она фиксируется наряду с кодом, поэтому каждый разработчик и запускание CI обеспечивают один и тот же временной интервал без дополнительной настройки.
source "https://rubygems.org", cooldown: 7 gem "rails" gem "puma"
Поскольку Cooldown не установлен по умолчанию, проект без него продолжает разрешать самые новые версии.
Помимо ключевого слова per-source, параметр cooldown применяет одно значение ко всем источникам, в контексте проекта, глобально или через окружение:
$ bundle config set cooldown 7 # stored in .bundle/config for this project $ bundle config set --global cooldown 7 # applies to every project for this user $ BUNDLE_COOLDOWN=7 bundle install # no lockfile yet, e.g. a fresh CI checkout $ BUNDLE_COOLDOWN=7 bundle update # re-resolve when a lockfile already exists
Для одноразового запуска нужно ввести --cooldown для install, update, add или outdated:
$ bundle install --cooldown 7 $ bundle update --cooldown 7 $ bundle add rails --cooldown 7 $ bundle outdated --cooldown 7
Если присутствует более одного из этих параметров, они разрешаются в фиксированном порядке приоритета: флаг командной строки > параметр конфигурации > per-source cooldown: в Gemfile. Флаг --cooldown переопределяет параметр cooldown (настройка пакета или BUNDLE_COOLDOWN), который, в свою очередь, переопределяет cooldown для источника. Значение всегда является неотрицательным целым числом дней; строка, число с плавающей запятой, отрицательное число или массив отклоняются с ошибкой InvalidOption.
Поскольку флаг и настройка применяются единообразно ко всем источникам, ключевое слово per-source используется, когда политика различается в зависимости от реестра, в частности, для охлаждения общедоступных гемов при доверии внутреннему реестру:
source "https://rubygems.org", cooldown: 7 source "https://gems.internal.example.com", cooldown: 0 do gem "internal-tool" end
Команда --cooldown N в командной строке переопределяет все источники для этого запуска, в том числе тот, который освобождён от ограничений.
Передача значения 0 отключает период охлаждения. Это наиболее важно, когда появляется исправление для активно используемой уязвимости нулевого дня или сообщение об уязвимости указывает на необходимость немедленного обновления. В этих случаях значение --cooldown 0 позволяет получить новый выпуск, не снимая политику ограничений для всех остальных:
$ bundle install --cooldown 0 $ BUNDLE_COOLDOWN=0 bundle update rails # ignore any configured cooldown this time
bundle outdated учитывает задержку. Он аннотирует версии, которые новее, но всё ещё находятся в пределах временного окна, указывая количество дней, оставшихся до того, как их можно будет исправить.
$ bundle outdated --cooldown 7 Gem Current Latest Requested Groups aws-partitions 1.1251.0 1.1256.0 (cooldown 3d) = 1.1251.0 default
Реестр равным образом теперь проверяет содержимое гемов во время отправки и проверяет авторизацию на Have I Been Pwned, чтобы скомпрометированные пароли не могли быть использованы повторно. Специальная команда проводит сканирование уязвимостей с помощью ИИ для наиболее важных гемов при поддержке Alpha Omega и Anthropic.
Ранее в GitHub сообщили, что хакеры, взломавшие 3800 внутренних репозиториев платформы, получили доступ к ним через вредоносную версию расширения Nx Console для VS Code. Она была скомпрометирована за неделю до этого в результате атаки на цепочку поставок npm от TanStack.
Между тем исследователи кибербезопасности обнаружили более 30 пакетов npm из пространства имен Red Hat ‘@redhat-cloud-services’, которые были скомпрометированы в результате атаки на цепочку поставок. В ходе неё хакеры распространили свежий вариант вредоносного ПО Shai-Hulud «Miasma», предназначенного для кражи учётных данных.
Читают сейчас

15 минут назад
Microsoft позволила выключить Bing в поиске Windows 11
Microsoft в ответ на негативные отзывы пользователей позволит им полностью выключить Bing в поиске Windows 11. Также компания заявила, что поиск будет отдавать приоритет локальным, а не веб-результата
36 минут назад
VideoLAN представила публичный инициатива быстрого декодера AV2
Компания VideoLAN анонсировала инициатива dav2d — открытого, кроссплатформенного и бесплатного декодера AV2, ориентированного на скорость. Он основан на популярном декодере dav1d. Ознакомиться далее
56 минут назад
Microsoft заблокировала доступ к десяткам опенсорсных проектов на GitHub
Microsoft заблокировала доступ к десяткам своих проектов с открытым исходным кодом на GitHub. Организация расследует то, как хакеры могли взломать эти проекты и внедрить в их код вредоносное ПО для кр

1 час назад
FSP показала блок питания Cannon 3300W мощностью 3300 Вт с поддержкой шести RTX 5090
Тайваньская FSP Group презентовала на выставке Computex 2026 блок питания для ПК мощностью 3300 Вт — Cannon 3300W. Продукт предназначен для систем обработки искусственного интеллекта, рабочих станций

1 час назад
Критическая сбой в UniFi OS позволила хакерам получить root-права без аутентификации
Злоумышленники могли объединить три уже исправленные уязвимости в сервере Ubiquiti UniFi OS для выполнения удалённого кода с правами root и без аутентификации. Уязвимости отслеживаются как CVE-2026-34