GitHub разшири своите възможности за откриване на зловреден код отвъд npm, предоставяйки на разработчиците по-широка защита срещу компрометирани пакети с отворен код.
Предупрежденията от Dependabot вече могат да идентифицират вредни зависимости в 8 големи софтуерни екосистеми: npm, PyPI, Maven, RubyGems, NuGet, Go, crates.io и PHP Composer.
Зловреден софтуерен пакет може да открадне пароли, API ключове, идентификационни данни за облачни услуги, портфейли за криптовалута и изходен код веднага след неговото инсталиране.
Атакуващите често използват тайпоскуатинг (typosquatting), объркване на зависимости (dependency confusion), компрометирани профили на поддръжници на проекти или злонамерени предварително компилирани файлове, за да вмъкнат тези пакети в доверените работни процеси на разработчиците.
По-рано през 2026 г. GitHub представи сигнали за зловреден код за npm зависимости. Последното разширение добавя поддръжка за PyPI и разпростира обхвата върху други големи екосистеми, черпейки данни от Open Software Security Foundation (OpenSSF).
Базата данни с консултации за сигурност на GitHub (GitHub’s Advisory Database) вече приема доклади от публичното хранилище за злонамерени пакети на OpenSSF. Хранилището на OpenSSF, стартирано през 2023 г., съдържа повече от 15 000 доклада за зловреден код във формат OSV.
OSV (Open Source Vulnerabilities) предоставя структуриран начин за описване на проблеми със сигурността, засягащи софтуерни пакети. Хранилището получава доклади от изследователи от общността, автоматизирани системи за откриване и организации за сигурност.
Вместо да изгражда отделни системи за откриване на злонамерен софтуер за всеки пакетен регистър, GitHub създаде единен импортер за данните от OpenSSF. Импортерът сканира хранилището за променени файлове, чете всеки OSV запис и валидира задължителните полета, преди да публикува каквото и да е в GitHub Advisory Database.
Валидирането е важно, тъй като информацията за пакетите невинаги е съгласувана. Например OpenSSF може да обозначи екосистемата на Python като „PyPI“, докато GitHub вътрешно използва „pip“.
Работният поток нормализира данните за версиите на зловредния код, независимо дали те са изброени поотделно или липсват, така че Dependabot да може точно да съпостави зависимостите. Системата също така обработва оттеглени доклади. OpenSSF съхранява оттеглените предупреждения в специална папка, когато се установи, че по-ранен доклад за зловреден код е бил неправилен.
Импортерът на GitHub трябва да разпознава тези записи, така че пакет, маркиран в даден момент, да може да бъде премахнат или коригиран, ако нови доказателства покажат, че той е легитимен.
GitHub предотвратява дублирането на предупреждения, като филтрира собствените си констатации за зловреден код в npm, които вече са изпратени към хранилището на OpenSSF, избягвайки повторно импортиране и потенциални цикли с данни. За да направи това, импортерът проверява метаданните за произхода на OSV и игнорира записи, маркирани като „ghsa-malware“, което показва, че произхождат от GitHub.
Тъй като консултациите за зловреден код могат да се публикуват автоматично, GitHub добави предпазни мерки срещу лоши входящи данни. Всеки процес на импортиране има конфигурируем лимит за партида. Ако дадено изпълнение се опита да създаде необичайно голям брой консултации, то спира напълно и сигнализира на екипа по сигурността.
Всеки импортиран съвет също така записва своя изходен комит, осигурявайки проследимост до конкретната промяна в хранилището на OpenSSF. Ако бъде публикувана вредна или неправилна партида, GitHub може да отмени цялата партида, вместо ръчно да премахва отделни записи.
Предупрежденията за зловреден код изискват предварително активиране. Разработчиците могат да ги включат в настройките за сигурност на хранилището, организацията или предприятието. След като бъдат активирани, Dependabot проверява зависимостите на проекта спрямо консултациите за зловреден код и може също така да идентифицира съществуващи компрометирани зависимости чрез исторически данни.