Evil Merge: как малварь пряталась в git merge-коммите 3,5 месяца
Несколько месяцев назад я делал плановую проверку кодовой базы на одном из проектов и нашёл обфусцированный код в файле vite.config.js. Он был на той же строке что и закрывающий };, но сдвинут вправо на несколько сотен пробелов — туда, куда ни один diff-вьюер не прокрутит и ни один редактор не покажет без горизонтал...
Несколько месяцев назад я делал плановую проверку кодовой базы на одном из проектов и нашёл обфусцированный код в файле vite.config.js. Он был на той же строке что и закрывающий };, но сдвинут вправо на несколько сотен пробелов — туда, куда ни один diff-вьюер не прокрутит и ни один редактор не покажет без горизонтального скролла.Я пошёл смотреть через git log — какой коммит это принёс. Оказался merge-коммит. Не обычный коммит в ветке — именно merge. И вот тут началось интересное.
Связанные теги
Компании и люди
Линия сюжета
Продолжить следить за темой
Переходите к связанным материалам, страницам сущностей и активным линиям сюжета.
Асинхронное логирование в C++ — не серебряная пуля: что на самом деле ограничивает производительность
Асинхронное логирование давно считается “очевидной оптимизацией”: вынесли запись в отдельный поток — и всё стало быстрее.Но если копнуть глубже, оказывается, что это не совсем т...
Раньше я не писал на Хабр, а теперь у меня появился Телеграм-канал и я пишу об очень важной новости про OpenAI
Привет, Хабр! 👋 Долго думал, стоит ли писать этот пост, ведь раньше я вообще не писал на Хабр. Да что там — я даже не читал его особо. Но времена меняются, как и люди. Раньше я ...
Актуальная к 1-му апреля информация о паллиативной помощи
Актуальная к 1-му апреля информация о паллиативной помощиВсем привет! Я до этого писал статью про паллиативную помощь, настало время её немного дополнить актуальной на 1-е апрел...
Как я уместил «Войну и мир» в 10 ГБ видеопамяти, или почему нейросеть убивает героев и выдумывает Пьера Бездаровского
Что делать, если по литературе задали два тома "Войны и мира", а времени (или желания) читать нет? Конечно, запрячь нейросеть! Но как быть, если в твоем распоряжении всего 10 ГБ...
Протоколы, чтобы ИИ-агенты нашли общий язык
Системы ИИ уже управляют сетевой инфраструктурой. Например, в нашей PCEF-системе методы машинного обучения помогают находить аномалии в работе сети и «изолировать» подозрительны...
Топ-6 нейросетей для генерации и редактирования изображений
Давайте начистоту. У каждого из нас бывали моменты, когда в голове рождается идеальная картинка - яркая, сочная, именно такая, какая нужна. А потом начинается: стоковые фотограф...
Рекламный слот
Встроенный блок в статье
Зарезервированный партнерский слот для релевантных инструментов, сервисов и аккуратных редакционных интеграций.
Похожие статьи
Еще материалы, которые пересекаются по тегам, источнику или категории.
Асинхронное логирование в C++ — не серебряная пуля: что на самом деле ограничивает производительность
Асинхронное логирование давно считается “очевидной оптимизацией”: вынесли запись в отдельный поток — и всё стало быстрее.Но если копнуть глубже, оказывается, что это не совсем т...
Раньше я не писал на Хабр, а теперь у меня появился Телеграм-канал и я пишу об очень важной новости про OpenAI
Привет, Хабр! 👋 Долго думал, стоит ли писать этот пост, ведь раньше я вообще не писал на Хабр. Да что там — я даже не читал его особо. Но времена меняются, как и люди. Раньше я ...
Актуальная к 1-му апреля информация о паллиативной помощи
Актуальная к 1-му апреля информация о паллиативной помощиВсем привет! Я до этого писал статью про паллиативную помощь, настало время её немного дополнить актуальной на 1-е апрел...
Как я уместил «Войну и мир» в 10 ГБ видеопамяти, или почему нейросеть убивает героев и выдумывает Пьера Бездаровского
Что делать, если по литературе задали два тома "Войны и мира", а времени (или желания) читать нет? Конечно, запрячь нейросеть! Но как быть, если в твоем распоряжении всего 10 ГБ...
Еще материалы от Habr
Свежие публикации и продолжение темы от той же редакции.
Асинхронное логирование в C++ — не серебряная пуля: что на самом деле ограничивает производительность
Асинхронное логирование давно считается “очевидной оптимизацией”: вынесли запись в отдельный поток — и всё стало быстрее.Но если копнуть глубже, оказывается, что это не совсем т...
Раньше я не писал на Хабр, а теперь у меня появился Телеграм-канал и я пишу об очень важной новости про OpenAI
Привет, Хабр! 👋 Долго думал, стоит ли писать этот пост, ведь раньше я вообще не писал на Хабр. Да что там — я даже не читал его особо. Но времена меняются, как и люди. Раньше я ...
Актуальная к 1-му апреля информация о паллиативной помощи
Актуальная к 1-му апреля информация о паллиативной помощиВсем привет! Я до этого писал статью про паллиативную помощь, настало время её немного дополнить актуальной на 1-е апрел...
Как я уместил «Войну и мир» в 10 ГБ видеопамяти, или почему нейросеть убивает героев и выдумывает Пьера Бездаровского
Что делать, если по литературе задали два тома "Войны и мира", а времени (или желания) читать нет? Конечно, запрячь нейросеть! Но как быть, если в твоем распоряжении всего 10 ГБ...