TGViewer
DevSecOps Talks DevSecOps Talks @devsecops_weekly · 8.04K subscribers
Post #877 4.12K
Подделка signed commit в GitHub

Всем привет!

В небольшой статье Автор описывает интересный bug, благодаря которому можно было подделывать signed commit в GitHub от имени любого пользователя.

К сожалению, Автор не описывает что именно натолкнуло его на эту мысль, но он решил исследовать GitHub Enterprise Server путем деобфускации исходного кода Ruby.

Это позволило ему лучше понять процесс того, что происходит «под капотом» и какая последовательность действий осуществляется.

Проанализировав одну функцию Автор заметил, что поле с именем author commit'a проверяется регулярным выражением:
/\Aauthor (.+?) <(.+)>/
Однако, такая «регулярка» никак не отреагирует на… «пустого» пользователя.

Таким образом, добавив несколько полей с author (первое из которых – пустое) проверка «срабатывает», пропускает строку и использует следующее значение по списку.

На текущий момент времени уязвимость устранена (да-да, изменением регулярного выражения 😊), а больше деталей можно найти в статье.
loops Forging signed commits on GitHub Creating fake signed commits
  • 👍 11
  • ❤ 1
  • 😁 1
More from @devsecops_weekly
  1. Oct 6, 2026Генерация подозрительных событий Всем привет! По ссылке можно найти репозиторий с утилитой…
  2. Oct 5, 2026Удаление чувствительных данных из журналов событий Всем привет! Утечки конфиденциальных да…
  3. Oct 2, 2026AI Coding Agent Security Benchmark Всем привет! Команда Endor Labs задалась вопросом наско…
  4. Oct 1, 2026Platform Skills Всем привет! По ссылке доступен GitHub-репозиторий, в котором можно найти…
  5. Sep 30, 2026Vaikora LLM Gateway Всем привет! С повсеместным использованием AI-агентов всё чаще встреча…
  6. Sep 29, 2026Анализ зависимостей и инструментария разработки ПО Всем привет! Анализ ПО начинается не с…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →