Я просканировал все «oops-коммиты» GitHub на предмет утечки секретов ( trufflesecurity.com )
Интересный взгляд на одно из последствий использования git и публичных репозиториев.
Меня озадачивает, как скоро кто-то создаст установку, которая обнаружит и попытается использовать эти уязвимости в режиме реального времени. Кажется, это может быть очень неприятно.
Еще одна проблема с этими сообщениями заключается в том, что они вряд ли смогли связаться со всеми затронутыми разработчиками, чьи секреты были раскрыты, а это значит, что все, с кем невозможно связаться/кто не отвечает, вероятно, все еще уязвимы. Я предполагаю, что это означает, что они собираются посмотреть, что произойдет, если эти секреты будут использованы не по назначению, поскольку люди начнут больше изучать эту тему…
Уже есть сотни подобных установок. Если вы публично выложите ключ AWS или что-то подобное, то в течение нескольких минут в вашем облаке может запуститься майнер биткоинов или ботнет.
Уже есть люди, сканирующие репозитории Git на предмет ключей Bitcoin/Ethereum/криптовалют и немедленно их эксплуатирующие.
Может быть, можно сделать опцию безопасного удаления по умолчанию событием с нижней планкой?
Выйти на событие, зафиксировать в чистом состоянии с предыдущей историей журнала, наложить состояние после исключения и заменить репозиторий git?
Когда мне нужно было сохранить лог и состояние elide, я делал такие вещи в RCS. Получение правильной информации о дате/времени было сложным.
Мне трудно поверить, что они могли бы заработать на этом $25 тыс. Есть компании, которые сканируют все коммиты на gh на предмет секретов, используя похожие методы поиска секретов в файлах.
Поздравляю с комментарием, не читая статью.
Git никогда ничего не забывает, это не такое уж шокирующее открытие.
Git действительно забывает, у него есть механизм gc, специально предназначенный для забывания.
GitHub не может использовать собственный сборщик мусора git и, по-видимому, не имеет собственного сборщика мусора, поддерживающего форки и странные слияния между репозиториями, так что они, возможно, просто не создали способ отслеживания зависших коммитов.
Но это совсем не очевидно.
Git — это не резервное копирование на определенный момент времени. Это управление версиями.
Вы вольны организовывать историю версий по своему усмотрению, и вы, безусловно, можете ее переписать.
Единственная проблема, с которой вы можете столкнуться, — это подписанные коммиты от соавторов, от которых вы не можете отказаться.
Какое конкретное свойство git обязывает веб-сайт не очищать эти зависшие коммиты?
Source: news.ycombinator.com