Троян распространяется более чем через 10 000 репозиториев GitHub.




О том, что GitHub не особо активно борется с вредоносным ПО, размещённым на его платформе, известно уже давно. Разработчик под псевдонимом Orchid предупреждает о текущей кампании по распространению вредоносных программ и тем самым приоткрывает завесу над масштабами этой угрозы. С помощью скрипта он обнаружил почти 10 000 репозиториев GitHub, задача которых заключалась в том, чтобы подсунуть троян неосторожным разработчикам.

Как рассказывает Orchid в своём блоге (откроется в новом окне), он сам пострадал от этой кампании. Но не в виде заражения вредоносным ПО — скорее, злоумышленник использовал программные проекты Orchid для распространения вредоносов. Проекты были скопированы, заново опубликованы под чужим аккаунтом GitHub и дополнены трояном.

Методика действий злоумышленников, по всей видимости, всегда одинакова. Они копируют не только код, но и, предположительно для создания впечатления знакомого проекта, всю историю коммитов. После этого они добавляют в файл Readme с помощью коммита ссылку на ZIP-архив, содержащий троян. По словам Orchid, этот коммит часто удаляется и снова пушится в точно таком же виде по несколько раз в день.

Скрипт находит 10 000 затронутых репозиториев

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

С его помощью разработчик нашёл почти 10 000 репозиториев (откроется в новом окне), содержащих ссылку на ZIP-архив с трояном. Некоторые из них находились в сети уже несколько месяцев, отдельные — даже больше года. В основном пострадали новые и поэтому часто ещё неизвестные программные проекты. Orchid полагает, что таким образом злоумышленники пытаются оказаться в результатах поиска популярных поисковых систем выше оригинальных проектов.

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

GitHub реагирует только на жалобы

Orchid весьма недоволен тем, как GitHub справляется с этой кампанией по распространению вредоносного ПО. Разработчик считает, что его скрипт охватил лишь небольшую часть всех затронутых репозиториев, поскольку он ограничен лимитами запросов к API GitHub и поэтому не может проверить произвольно большое количество репозиториев с кодом. Сам GitHub, по словам Orchid, таким ограничениям не подвержен.

GitHub мог бы «проанализировать все 500 миллионов репозиториев, найти содержащиеся в них архивы или исполняемые файлы и проверить их на вирусы». Однако компания этого не делает. Она удалила репозитории, о которых сообщил Orchid, но сама не ведёт автоматический поиск новых репозиториев, чтобы сдержать эту кампанию.

«Они не запустили мой скрипт и не написали свой собственный. Они даже не открыли эту статью, чтобы проверить, не изменился ли список репозиториев. Они удаляют только те репозитории, на которые им поступают жалобы, но больше ничего не предпринимают», — предупреждает Orchid. И это несмотря на то, что атаки в описанной форме продолжаются как минимум с начала 2025 года (откроется в новом окне).