- PVSM.RU - https://www.pvsm.ru -
В гитхабе прямо сейчас есть тысячи репозиториев, которые распространяют вирусы. Любой из вас может найти такие репозитории и для этого вам не нужны какие‑то специальные знания. Вам достаточно воспользоваться обычным поиском на сайте гитхаба.
Такие репозитории существуют уже 2 года. У гитхаба есть миллиарды долларов, служба безопасности и искусственный интелект. Почему они за 2 года не решили эту проблему?
Сначала мы посмотрим на уже найденные репозитории, найдем в них одинаковые паттерны, а затем по этим паттернам найдем другие репозитории.
Посмотрите на эти репозитории, в каждом из них в readme находится ссылка на zip архив с трояном:
Если мы скачаем этот zip архив и отправим отдельные файлы из него в VirusTotal, то получим такую картину:
Даже при беглом просмотре этих репозиториев мы увидим, что у них одинаковая структура, почти одинаковые заголовки, и в каждом заголовке есть эмодзи. Это вся информация которая нам нужна для поиска других репозиториев.
Давайте возьмем заголовок "📥 Download" и сделаем поиск по этой строке в гитхабе. Но нам нужно искать не по всему коду, а только по readme файлам. Откройте сайт github.com [5] и сверху в строке поиска введите:
path:readme.md "## 📥 Download"
Количество результатов будет всегда разным. У меня он сначала показал 9К репозиториев, а когда я перешел на 2 страницу, то уже было 109 репозиториев. После обновления страницы снова 9К репозиториев.
В выдаче вам нужно визуально отбросить результаты, в которых есть какой‑то другой текст, а не только заголовок. Варианты заголовков будут примерно такие:
## 📥 Download Now
## 📥 Download Now Again
## 📥 Download the Software
## 📥 Download & Install
Откройте эти репозитории. В них будет ссылка на zip архив с трояном.
Но в результатах поиска будет много легитимных репозиториев. Мы можем улучшить поиск, добавив поиск по zip архиву. Строка поиска получится такой:
path:readme.md "## 📥 Download" ".zip"
(Редактор хабра автоматически исправляет прямые кавычки на типографские. Нет никакой возможности отключить автоматическое исправление. Заменяйте кавычки на обычные прямые.)
Это гораздо улучшит выдачу. Теперь прямо в поиске мы видим, в каких из репозиториев есть нужный нам заголовок и ссылка на zip архив.
Но и в этих результатах есть легитимные репозитории. Как еще можно улучшить поисковый запрос?
Все ссылки на zip архивы ведут на githubusercontent.com или на github.com. Также zip архив содержит номер версии, например Software-3.6.zip. Значит нам просто нужно написать регулярное выражение для поиска таких ссылок. Но как я и говорил в начале, вам не нужны знания для этого. С этим справится любая бесплатная ИИ модель. Отправляем ей 10 таких ссылок, и через несколько итераций получаем такой результат:
path:README.md /raw.githubusercontent.com/.*d+.d+.zip|github.com/.*/raw/refs/heads/.*d+.d+.zip/
Вводим этот запрос и получаем репозитории, которые распространяют zip архив с трояном. Количество репозиториев всегда разное. В моем случае иногда 111, иногда 4.4К.
Но ведь весь этот поиск сработал только потому, что у нас был изначальный список репозиториев, из которых мы смогли составить общий паттерн для поиска.
Может у службы безопасности гитхаба не было этих репозиториев?
Может они не знают об этом общем паттерне?
Месяц назад я опубликовал статью [6], в которой подробно разобрал эту схему. Я написал скрипт, который нашёл 10,000 таких репозиториев. Список всех репозиториев и этот скрипт я опубликовал на гитхаб.
Статья попала на главную страницу Hacker News [7]. Об этой схеме написали другие сайты по кибербезопасности.
Вот полный список действий, которые предприняли в GitHub:
Они удалили все 10К репозиториев, которые нашёл скрипт.
Всё. Больше они ничего не сделали.
Более того, спустя несколько часов я снова запустил скрипт, он нашёл новые репозитории, я добавил их в статью. За целый месяц их не заблокировали. Хотя им нужно было просто еще раз открыть мою статью, взять новые ссылки и заблокировать эти репозитории. Для них это оказалось слишком сложно.
Но мы можем сделать вывод: они прекрасно знают об этой схеме распространения вирусов.
Сколько бы я не пытался, я не могу найти ответа на вопрос, почему так происходит. Microsoft это корпорация с миллиардными доходами. У них тысячи сотрудников, безграничные возможности и искусственный интеллект. Всё что им нужно было это выделить несколько дней любого штатного сотрудника, чтобы он с помощью Copilot нашёл все эти репозитории и заблокировал их.
Я никогда не работал в крупных компаниях. И я не представляю, как принимаются решения именно в гитхабе и какой бюрократический ад менеджерам нужно пройти, чтобы начать борьбу с вредоносными репозиториями.
Но ведь они за несколько часов после публикации первой статьи удалили все 10К репозиториев.
Почему они остановились и больше не предприняли никаких действий?
Все мои статьи вы можете найти на моём сайте [8].
Подписаться можно по почте, RSS или в телеграм канале [9].
Автор: orchidfiles
Источник [10]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/virusy/455681
Ссылки в тексте:
[1] https://github.com/lukasriedinger1501-alt/datahub: https://github.com/lukasriedinger1501-alt/datahub
[2] https://github.com/marsergiovp/udif: https://github.com/marsergiovp/udif
[3] https://github.com/m4kskool/serverless‑dns: https://github.com/m4kskool/serverless-dns
[4] https://github.com/manani111/PaCoRe: https://github.com/manani111/PaCoRe
[5] github.com: http://github.com
[6] статью: https://habr.com/ru/articles/1048986/
[7] Hacker News: https://news.ycombinator.com/item?id=48583928
[8] моём сайте: https://orchidfiles.com/ru/
[9] телеграм канале: https://telegram.me/orchidfiles_ru
[10] Источник: https://habr.com/ru/articles/1063140/?utm_source=habrahabr&utm_medium=rss&utm_campaign=1063140
Нажмите здесь для печати.