Допивая уже остывший фильтр «Бразилия» из чашки, которую когда-то выиграл на одной из IT-конференций, разработчик закрывал последний тикет перед выходными.
После «мелкой» правки отчёта вылезла
JsonMappingException. Чтобы починить экспорт, он обновил Jackson. В Maven Central нашёлся
org.fasterxml.jackson.core:jackson-databind-100-percent-safe-trust-me. «org вместо com? Ребрендинг», — решил он.На GitHub висел комментарий: «НЕ МЕРЖИТЬ». Разработчик все же нажал Resolve conversation. Смержил. CI позеленел. Прод.
03:13.
На экране телефона 24 пропущенных от SRE, тимлида, ИБ и руководителя отдела разработки (последний раз они общались на собеседовании).
Теперь позеленел сам разработчик.
Spring Boot при старте запустил ApplicationRunner из поддельного JAR. Тот скачал программу с чужого сервера и открыл атакующим доступ. Утекли токены и 12 млн клиентских записей. База захлебнулась, заказы встали, по API отдаёт 500.
К рассвету библиотеку все же смогли удалить. Доступы отозвали, сервис подняли. Впереди — разбор утечки и часы созвонов. Что случилось с разработчиком — неизвестно.
Наши дни
Говорят, по пятничным вечерам дух этого разработчика бродит по пустым офисам и проверяет подозрительные библиотеки. Он не найдет покой, пока не проверит все…
Но один он явно не справится — сомнительных библиотек слишком много.
Тут ему наверняка пригодится Axiom Repo: репозиторий доверенных Java-библиотек, которые наши инженеры собирают из исходников, проверяют и постоянно пополняют их каталог.
🎃 Пусть подобные истории останутся только страшилками. С наступающим Хэллоуином!