Торвальдс обнаружил в Git-истории неладное. И принялся за расследование…
Неожиданный инцидент всколыхнул нервы разработчиков ядра Linux в минувшие выходные: во время слияния веток для релиза 6.16 Линус Торвальдс обнаружил в Git-истории подозрительную активность, которую воспринял как умышленное вмешательство со стороны давнего участника проекта — Киса Кука.
В субботу он выступил с жёстким сообщением в рассылке LKML, в котором потребовал объяснений коллеги. Один из коммитов — поддельный Merge (коммит слияния), якобы от самого Торвальдса, но с неверным SHA1-хешем:
«WTF, Кис?
Похоже, ты специально полностью переписал свою ветку.
Там есть просто безумные коммиты — абсолютно фальшивые.
Вот, например:
f8b59a0f90a2 Merge tag 'driver-core-6.16-rc1' of git://git.kernel.org/...
, который подаётся как мой. Там стоит моё имя, но это вовсе не мой код. Это какая-то муть, которую ты просто выдумал.Да, такой коммит действительно существует, но у него совершенно другой SHA1 —
9d230d500b0e
.И это не просто невинная ошибка при ребейзе. Здесь откровенное враньё о том, кто автор.
Это абсолютно недопустимо.
Я не собираюсь принимать от тебя ни одной строчки кода, пока ты не объяснишь, какого чёрта ты вообще творил.
Ты должен удалить это дерево и предоставить чёткое объяснение, откуда взялась вся эта фигня.
Я ставлю в копию Константина, потому что считаю такие игры КАТЕГОРИЧЕСКИ НЕПРИЕМЛЕМЫМИ. Такое поведение недопустимо для владельцев аккаунтов на
kernel.org
.Константин — пожалуйста, немедленно отключи учётную запись Киса до выяснения всех обстоятельств. Потому что это выглядит как умышленное нарушение.
Как мы видим, он также обратился к администратору Константину Рябицеву с просьбой временно отключить доступ Кука к инфраструктуре kernel.org. Реакция последовала незамедлительно — доступ был заблокирован.
Сам Кук оказался не менее удивлён происходящим - сразу же начал восстанавливать патчи из чистой копии репозитория и разбираться в произошедшем.
Позднее стало ясно, что в действительности причиной стали вспомогательные скрипты Кука, использующие git-filter-repo и b4 trailers — инструменты для обработки истории коммитов и подготовки патчей к рассылке. Их взаимодействие вызвало непреднамеренное искажение дерева Git. В ходе проверки не удалось найти доказательств того, что действия сотрудника носили вредоносный характер. Тем не менее, сбой серьёзно нарушил работу в рамках окна слияния ядра.
Расследование продолжается. Пока не ясно, восстановит ли Торвальдс доверие к Куку — но понятно одно: даже в зрелом и технологически отточенном сообществе одно ошибочное изменение может обрушить целый цикл разработки.
Спойлер: мы раскрываем их любимые трюки