Как вредоносный код переписал мой Git-коммит и заразил десятки проектов и несколько рабочих машин

Wait 5 sec.

История о том, как один странный git push оказался началом расследования, которое вывело меня не на один взломанный аккаунт, а на цепочку зараженных репозиториев и проектов.Снаружи все выглядело почти нормально: знакомый автор, знакомый коммит, привычные файлы. Но внутри последнего коммита уже жил чужой обфусцированный JavaScript. Он прятался в конфиге, менял Git-историю и маскировался под обычную работу разработчика.Первой версией был взлом моего GitHub, но смена ключей и паролей ничего не решила.Потом след вывел на другого разработчика, потом еще на несколько проектов, и картина стала намного неприятнее.Это оказалась PolinRider-like supply chain атака, которая использует сам developer workflow как транспорт.В статье я разбираю, какие мелкие странности помогли заметить проблему и почему им нельзя махать рукой.Показываю реальные скриншоты, подозрительные изменения в .gitignore и payload внутри babel.config.js.В конце оставил скрипты, которые могут помочь быстро проверить свои проекты и логи на PolinRider похожие признаки. Читать далее