PDA

Просмотр полной версии : Желание получить футболку от Hacktoberfest привело к спам-атаке на GitHub-репозитории


Suicide
05.10.2020, 19:16
Ежегодно проводимое (https://hacktoberfest.digitalocean.com/) компанией Digital Ocean мероприятие Hacktoberfest невольно привело (https://joel.net/how-one-guy-ruined-hacktoberfest2020-drama) к значительной спам-атаке (https://blog.domenic.me/hacktoberfest/), из-за которой различные проекты, ведущие разработку на GitHub, столкнулись (https://drewdevault.com/2020/10/01/Spamtoberfest.html) с волной мелких или бесполезных pull-запросов. Изменения в подобных запросах сводились (https://github.com/COVID19Tracking/website/pulls?q=is%3Apr+is%3Aclosed+label%3Aspam), как правило, к замене отдельных символов в файлах Readme или добавлению фиктивных примечаний (https://twitter.com/shitoberfest/status/1311646233128181760).

Причиной спам-атаки стала публикация (https://www.youtube.com/watch?v=v9902nonYas) в YouTube-блоге CodeWithHarry, имеющем около 700 тысяч подписчиков, демонстрации как можно с минимальными усилиями получить футболку от Digital Ocean, отправив любому открытому проекту на GitHub pull-запрос с мелкой правкой. В ответ на обвинения в организации атаки на сообщество автор YouTube-канала пояснил, что опубликовал видео для обучения пользователей отправке pull-запросов и хотел привлечь внимание пользователей к мероприятию.

При этом приведённый в видео пример демонстрировал бесполезные изменения, которые быстро были растиражированы. Поиск в GitHub типового примечания "improve docs", повторяющего пример в видео, показал 320 тысяч заявок (https://github.com/search?q=is%3Apr+%22improve+docs%22&type=Issues), а поиск фразы "amazing project" - 21 тысячу (https://github.com/search?q=amazing+project+is:pr&type=Issues). В результате инцидента мэйнтейнеры были вынуждены вместо разработки заниматься чисткой спама и разбором мелочей. Например, разработчики Grails получили (https://twitter.com/ilopmar/status/1311794527750049792) более 50 подобных запросов.

https://www.opennet.ru/opennews/pics_base/0_1601796926.png (https://cdn.hashnode.com/res/hashnode/image/upload/v1601597539107/1_YA5Yrm9.png?auto=format&q=60)

Мероприятие Hacktoberfest проводится в начале октября и призвано стимулировать участие пользователей в разработке открытого ПО. Для получения футболки предлагается разработать улучшение или исправление для любого открытого проекта и отправить pull-запрос c хэштегом "#hacktoberfest". Так как требования к изменениям не были явно определены, формально футболку можно было получить даже за незначительные правки, такие как исправления грамматических ошибок.

В ответ на жалобы о спаме компания Digital Ocean внесла (https://github.com/digitalocean/hacktoberfest/pull/596) изменения в регламент мероприятия - заинтересованные проекты теперь должны явно заявить своё согласие на участие в Hacktoberfest. Отправка изменений в репозитории, не добавившие метку "hacktoberfest", учитываться не будет. Для исключения участия спамеров в мероприятии, рекомендовано помечать их запросы метками "invalid" или "spam".

Для защиты от флуда pull-запросами компания GitHub добавила (https://twitter.com/github/status/1311772722234560517) в интерфейс модерирования опции, позволяющие временно ограничить отправку контента только для пользователей, которые ранее принимали участие в разработке или обращались к репозиторию. Для устранения последствий флуда упомянута утилита для автоматизации обслуживания репозиториев derek (https://github.com/alexellis/derek), в свежей версии которой добавлена (https://github.com/alexellis/derek/commit/561ccb74ff3d4defab89d44efbf49c2aac847955) поддержка автоматического закрытия pull-запросов, отправленных новыми пользователями с тегом "hacktoberfest".

04.10.2020

https://www.opennet.ru/opennews/art.shtml?num=53828​