Статья A.S Groups

GitHub закрывает подмену автора коммита: теперь видно, кто реально сделал push

GitHub Push Attribution показывает реального authenticated pusher отдельно от author и committer

Навигация по статье

Услуги A.S Groups

Нужен сайт, магазин или автоматизация?

Помогаю бизнесу запускать и дорабатывать WordPress-проекты: от посадочной страницы до WooCommerce, CRM и Telegram-уведомлений.

Обсудить проект Telegram
WordPress под ключ Лендинги, корпоративные сайты и структура под заявки. WooCommerce Интернет-магазины, каталог, оплата, доставка и интеграции. Доработка сайта Правки, скорость, формы, баги и развитие текущего проекта. CRM / Telegram / AI Автоматизация заявок, уведомлений и ручных процессов.

GitHub начал решать старую особенность Git, которая давно путала audit trail: поля author и committer сами по себе не доказывают, кто реально отправил commit в repository.

Клиент Git может записать в metadata практически любое имя и email. Поэтому пользователь с write access способен создать commit, который визуально выглядит так, будто его сделал другой разработчик.

Новый механизм Push Attribution хранит authenticated identity пользователя, который действительно сделал push.

Почему author и committer нельзя считать доказательством личности

Git commit содержит metadata, включая:

  • author name;
  • author email;
  • committer name;
  • committer email.

Эти значения формирует клиент.

Они полезны для истории разработки, но сами по себе не являются надёжным authentication layer.

Если злоумышленник получил доступ к low-privilege account с правом push, он может изменить metadata так, чтобы commit выглядел как работа trusted maintainer.

GitHub теперь отдельно хранит pusher identity

GitHub и раньше аутентифицировал сам push.

Новое изменение делает эту identity долговечной частью commit attribution на платформе.

То есть рядом с тем, что написано внутри Git metadata, появляется независимая информация:

Author: Alice
Committer: Alice
Authenticated pusher: Bob

В таком случае security team сразу видит несоответствие.

Что меняется в цепочке доверия

  1. Commit metadataAuthor и committer задаются клиентом
  2. AuthenticationGitHub знает, какой account выполнил push
  3. Pusher identityЭта identity сохраняется отдельно и долговечно
  4. RulesetМожно потребовать совпадение committer с authenticated pusher
  5. AuditРасследование не опирается только на неподтверждённые строки metadata

Новое правило Committer must match pusher

GitHub добавил repository rule condition:

Committer must match pusher

Если правило включено, push блокируется, когда committer metadata не соответствует ни одному verified email authenticated pusher.

Это закрывает сценарий, где account пытается отправить commit от имени другого человека только за счёт подмены email.

Почему это важно для review policies

Многие процессы доверяют не только коду, но и тому, кто считается автором изменения.

Например:

  • trusted maintainer;
  • release engineer;
  • automation account;
  • security team member.

Если identity можно подделать только metadata, audit и review становятся менее надёжными.

Authenticated pusher позволяет строить policy на реальной учётной записи, которая прошла GitHub authentication.

Это не заменяет signed commits

Push Attribution и cryptographic commit signing решают разные задачи.

Signed commit подтверждает, что commit object был подписан определённым ключом.

Pusher attribution подтверждает, какой GitHub account отправил commit в repository.

В сильной security-модели эти механизмы могут дополнять друг друга.

Что будет с automation и bots

Repository rule нужно тестировать перед обязательным включением.

CI, bots и release automation могут использовать специальные committer emails.

Если metadata не соответствует verified email authenticated account, строгий rule начнёт блокировать такие pushes.

Поэтому rollout лучше начинать с inventory существующей automation.

Можно быстрее расследовать подозрительный commit

Раньше security engineer мог увидеть имя maintainer и только потом идти в audit logs, чтобы понять, кто реально взаимодействовал с repository.

Теперь pusher identity видна там, где отображаются commits, и доступна через API.

Это уменьшает количество шагов при incident response.

Что должен сделать enterprise

Чек-лист для repositories с повышенными требованиями

  • Понять, где author identity используется как сигнал доверия.
  • Проверить automation accounts и их verified emails.
  • Оценить новое правило Committer must match pusher.
  • Не отказываться от signed commits там, где они уже обязательны.
  • Обновить incident-response инструкции с учётом pusher identity.
  • Проверить API/integrations, которые читают commit metadata.

Кому доступен preview

На момент анонса Push Attribution находится в limited public preview для GitHub Enterprise customers.

Для подключения GitHub предлагает обращаться к account team.

Поэтому это пока не глобальное изменение поведения для всех публичных repositories.

Почему нововведение особенно актуально сейчас

Количество автоматических commits растёт.

AI-agents, release bots и CI increasingly создают изменения без ручного git commit со стороны человека.

Чем больше automation, тем важнее разделять:

  • кто логически указан author;
  • кто сформировал commit;
  • какой account реально отправил его на сервер.

Мы уже разбирали, как GitHub усиливает AI-поиск секретов и обновляет CodeQL. Push Attribution закрывает более базовый слой — доверие к identity самого изменения.

Практический вывод

Имя автора в Git теперь всё меньше стоит воспринимать как самостоятельное доказательство.

GitHub делает authenticated pusher отдельной сущностью и даёт возможность enforce совпадение committer metadata с реальным account.

Для enterprise repositories это заметно упрощает audit и уменьшает риск commit identity spoofing.

Официальный источник

GitHub Changelog — Push attribution for commits in limited public preview

Следующий шаг

Нужно решить похожую задачу?

Показать, что preview ограничен GitHub Enterprise customers.

Обсудить задачу

Источники

Обсуждение

Вопросы и комментарии

Можно уточнить детали статьи или поделиться своим опытом. Первый комментарий проходит проверку.

Оставить комментарий

Email не публикуется. Ответ на ваш комментарий придёт на указанную почту. Можно выделять текст, добавлять списки и цитаты; ссылки удаляются.

Картинки — кнопками в редакторе. JPG, PNG или WebP до 3 МБ.

Мы используем приватную аналитику SlimStat, чтобы понимать, какие страницы полезны посетителям, и улучшать сайт. IP-адреса анонимизируются и хэшируются. Вы можете согласиться или отказаться от аналитики.
Cookies и конфиденциальность

Используем необходимые cookies, аналитику и данные форм, чтобы сайт работал корректно и заявки доходили.