Кибербезопасность

GitHub расширяет оповещения о вредоносном ПО с npm до восьми экосистем пакетов

GitHub Advisory Database теперь импортирует данные о вредоносных пакетах из репозитория OpenSSF, благодаря чему Dependabot может отправлять оповещения для восьми экосистем пакетов вместо одной npm. Новая система опирается на автоматическую проверку, отслеживание источника, ограничения импорта и возможность отката, чтобы защищать базу данных от ошибочных или скомпрометированных данных.

2026-08-06
3 мин. чтения
7 просмотров
فريق تحرير certi.news
GitHub расширяет оповещения о вредоносном ПО с npm до восьми экосистем пакетов

GitHub расширил охват оповещений Dependabot о вредоносных пакетах с экосистемы npm до восьми экосистем после связывания GitHub Advisory Database с данными репозитория OpenSSF, предназначенного для вредоносных пакетов. Новое покрытие включает npm, PyPI, Maven, RubyGems, NuGet, Go, crates.io и PHP Composer, что позволяет обнаруживать вредоносные зависимости в проектах, использующих языки и инструменты, выходящие за рамки JavaScript.

Ранее в этом году Dependabot начал обнаруживать вредоносное ПО среди зависимостей npm. Новое расширение основано на импорте записей OpenSSF в формате OSV вместо создания отдельных систем обнаружения для каждой экосистемы. Согласно публикации, с момента запуска в 2023 году репозиторий OpenSSF содержит более 15 тысяч отчетов и продолжает расти благодаря сообщениям сообщества и автоматизированным источникам обнаружения, включая пакеты с похожими названиями, пакеты для подмены зависимостей, захват учетных записей и вредоносные предварительно собранные бинарные файлы.

Единый импортер данных о вредоносных пакетах

Команда инженеров GitHub по безопасности цепочки поставок разработала единый импортер, следующий шаблону импортеров, используемых для репозиториев общедоступных оповещений. Импортер считывает файлы, изменившиеся с момента последнего запуска, а затем проверяет обязательные поля, типы и формат в соответствии со схемой OSV до добавления записи в базу данных. Записи, не прошедшие проверку, отклоняются и регистрируются для анализа, а не исправляются автоматически и передаются дальше.

После успешной проверки записи преобразуются в элементы ленты, содержащие источник, идентификатор и идентификатор CVE, если он доступен, при этом исходная запись полностью сохраняется в качестве справочной копии. Импортер также обрабатывает различия в данных между источниками, например использование OpenSSF названия PyPI, тогда как GitHub Database использует название pip; представление затронутых версий как отдельных значений, а не диапазонов; отсутствие пригодной для использования версии в некоторых отчетах; и отзыв отчетов, которые впоследствии были признаны неверными.

Предотвращение дублирования и защита пути публикации

Дополнительная проблема возникает потому, что сам GitHub вносит данные в репозиторий OpenSSF, а оповещения GitHub о вредоносном ПО для npm поступают в этот репозиторий. Чтобы предотвратить повторный импорт тех же данных, импортер использует сведения об источнике записи в OSV и исключает любую запись с меткой ghsa-malware, поскольку изначально она появилась на GitHub. В публикации отмечается, что более половины новых отчетов по npm, ежемесячно поступающих в репозиторий, ранее относились к оповещениям GitHub, поэтому они исключаются как циклы повторного импорта.

Оповещения о вредоносном ПО публикуются автоматически, без ручного прочтения каждого отчета перед публикацией, поскольку задержка оповещения на несколько дней может дать злоумышленнику дополнительное время, если пакет крадет учетные данные. Это отличается от оповещений об уязвимостях, которые обычно требуют ручной проверки соответствия пакетов и диапазонов версий, а также серьезности проблемы.

Три уровня обработки ошибочных данных

  • Ограничения пакетов: каждый запуск устанавливает настраиваемый предел количества оповещений, которые могут быть созданы. Если данные превышают этот предел, весь запуск останавливается и ничего не публикуется, при этом отправляется точное количество оповещений.
  • Отслеживание источника: каждое оповещение связывается с конкретным коммитом в репозитории malicious-packages, что позволяет определить источник отчета во время инцидентов.
  • Откат: каждую партию можно определить и отменить как единое целое, если загрязненные данные все же просочились, вместо ручного удаления оповещений из базы данных.

Активация для пользователей

Оповещения Dependabot о вредоносных зависимостях стали доступны как дополнительная функция; их можно включить в настройках безопасности репозитория, организации или предприятия. После активации Dependabot сопоставляет зависимости с оповещениями о вредоносном ПО в GitHub Advisory Database, включая последующее сопоставление с уже существующими оповещениями.

Источник новости
ف
Автор

فريق تحرير certi.news

В той же категории

Вам также может понравиться

Все новости