GitHub расширил оповещения Dependabot о вредоносных пакетах с одного npm до восьми экосистем. Для команд, которые хранят код на GitHub и берут зависимости из PyPI, Maven или Composer, это простой плюс: шанс поймать опасный пакет до инцидента стал выше.
Из npm — в восемь экосистем
Раньше GitHub автоматически предупреждал о вредоносных зависимостях только в npm. Теперь охват включает npm, PyPI, Maven, RubyGems, NuGet, Go, crates.io и Composer. Источник данных — открытый репозиторий OpenSSF malicious-packages, который OpenSSF запустил в 2023 году как общую базу отчетов о вредоносных пакетах в формате OSV.
Это важное различие: речь не об обычных уязвимостях, где можно обновиться до исправленной версии. В случае с вредоносным пакетом безопасной версии часто просто нет — его нужно удалять из проекта и искать замену.
GitHub построил один модуль импорта вместо восьми
6 августа GitHub раскрыл технические детали интеграции. Команда не стала писать отдельную систему под каждый менеджер пакетов, а подключила один модуль импорта к GitHub Advisory Database. Он забирает записи из OpenSSF, проверяет их по схеме OSV, нормализует названия экосистем и версий, а затем публикует новые записи в базе.
Самая приземленная проблема оказалась самой неприятной: GitHub сам отправляет часть своих находок в тот же репозиторий OpenSSF. Если импортировать данные без фильтрации, сервис начнет забирать собственные записи по кругу. Поэтому GitHub отбрасывает записи с меткой происхождения ghsa-malware. По данным компании, больше половины новых npm-отчетов в этом потоке каждый месяц оказываются именно такими дублями.
Защита от ошибочных срабатываний
Поскольку такие записи публикуются автоматически и могут сразу запускать оповещения Dependabot, GitHub добавил три предохранителя: лимит на размер одной партии импорта, привязку каждой записи к конкретному коммиту в исходном репозитории и откат всей партии одним действием. Логика понятная: если внешний источник по ошибке пометит популярный пакет как вредоносный, у команды должна быть не только тревога, но и быстрый путь назад.
Значение для рынка
Для русскоязычных команд это не абстрактная история про безопасность цепочки поставок. Если вы ведете Python-, Java-, .NET-, PHP- или Rust-проекты на GitHub, слепая зона стала меньше. Но функция не включается сама собой: в репозитории должны работать оповещения Dependabot, а опцию оповещений о вредоносных пакетах нужно включить отдельно. Оригинал новости GitHub опубликовал в , технический разбор — , а историю самого репозитория OpenSSF можно посмотреть .
Теперь интересно не само расширение, а статистика через несколько месяцев: насколько часто новые предупреждения будут ловить реальные атаки за пределами npm.