Комментарии 67
Кто-то использует Github как архив, и актуальная локальная копия может быть далеко не у всех и не для всего.
Правда, чтобы это стало проблемой, нужно как минимум отобрать доступ у автора, а тот должна восстановить поддержка сервиса.
недавно работал, есть практика сваливать самый условно-полезный или просто интересный код в публичные репозитории с целью не потерять его со временем.
Удалить сам репозиторий кода, исходники и папочку .git с сервера.
И все репозитории на машинах всех разработчиков, кто клонировал этот репозиторий.
У пары моих проектов они безусловно есть где-то на моих машинах, но мне проще выкачать из гита их, если понадобятся, а не искать на устройствах. Возможно у некоторых проектов из этого списка такая же история.
Еще не стоит забывать про фактор срочности.
Если на ком-то из разработчиков лежит ответственность, в особенности, если репозиторий еще и с CI/CD, автоматически развертывающим ветки, мышление может значительно атрофироваться под действием воображения, искусно растрачивающем ресурсы на пребор каждого из предметов, которые изрядно раззадоренный выходными босс мог бы засунуть "туда" с примерным анализом ущерба проникновения.
Полагаю, 570$ не самая большая цена, которую можно заплатить в подобной ситуации.
2) Установить master в новый коммит с этим сообщением.
Фактически, все объекты останутся в репозитории, но их восстановление может оказаться тем еще геморроем.
В локальной репе разраба по рефлогу откатиться можно после случайного гит пулл/фетч, а потом уже git push -f по всем бранчам и тегам
curl -u api.github.com/repos:owner/:repo/events
И с ним тоже можно колдовать и по нему восстанавливаться. Чтобы почистить нужно «housekeeping» (или как он там называется) выполнить, который тоже далеко не сразу после выполняется и не всё чистит (чтобы сам себе злой Буратино не мог всё легко поехрить).
Рефлог он локальный. Вы не можете выкачать с гитхаба коммит, на который не ссылается ни одна голова в репозитории.
Я именно про рефлог сервера гитхаба. И коммиты без ссылок доступны по ссылкам вида (например):
https://api.github.com/repos/<user>/<repo>/git/commits/<hash>
Восстановление репозитория гитхаба после грандиозного факапа с push --force весьма популярная беда и хорошо гуглится.
История про тех кто не делает бэкапы, можно же элементарно репы на впс пуллить.
Насколько я понимаю, восстановить последущие уже нельзя никак, потому что их просто нет в истории комитов
git reset --hard <хэш>
git push -f origin <ветка>
Можно "форспушнуть", у приличных людей такая практика считается моветоном, Линус Торвальдс за такое сечёт розгами ярко-выраженного социального неодобрения.
Гитхаб не делает бэкапы для восстановления данных в случае каких-либо «непредвиденных» ситуаций?
В Гитхаб нет «защиты» от банального брутфорса?
Как-то все слишком просто.
Будут ли они это делать — для людей, которые не платят им денег — другой вопрос. Но написать в службу поддержки и попробовать можно.
Взломщик удалил код из тысяч Git-репозиториев.
Откуда такие цифры?
A GitHub search reveals that at least 392 GitHub repositories have been ransomed, so far.
Ванг подтвердила слова пострадавших, рассказав о том, что они использовали недостаточно надежные пароли.
Это она по хешу паролей определила? Или хранят plain?
Второй вариант это как-то получили доступ к хэшам паролей.
Ну или тоже самое плюс слив информации
Извините, но этот пароль уже используется пользователем Alexey2005. Придумайте другой пароль.
Ванг подтвердила слова пострадавших, рассказав о том, что они использовали недостаточно надежные пароли.
Интересно, откуда ей знать, какие пароли у пользователей? Лично спрашивала или?
It happened because .git/config includes the remote URLs and people added username:password in it
Понятно, что в реальных условиях такого быть не должно, но если всё же произошло — собственно, вот она, возможность (для владельцев сервера, разумеется).
Если лежит на плохо настроенном http-сервере, то ещё как передаётся.
Например, так: https://habr.com/ru/post/422725/
Интересно, откуда ей знать, какие пароли у пользователей?
А кто мешает, даже если пароли соленые, запустить брут на перебор хешей на серверах ГХ на аккаунты, которые пострадали, и хозяева обратились, чтобы проверить гипотезу о слабости паролей?
К тому же, еще возможен вариант, что по логу видели, что ко всем пострадавшим аккаунтам была попытка брута. В таком случае тоже очевидно, что пароли были слабые.
Читал в свое время эту историю, насколько я помню, "взломщик" в конце концов вышел на связь, изложенная им версия взлома такая — люди тем или иным образом выкладывали свой .git/config с паролями в htdocs.
Кроме того, эти разработчики удаляли токены доступа для приложений, которые не использовались в течение длительного времени.
В чем опасность? Может имелось ввиду, что наоборот НЕ удаляли токены?
Взломщик удалил код из сотен Git-репозиториев. За восстановление он требует 0,1 биткоина