gh — официальный клиент GitHub для терминала: пул-реквесты, задачи, релизы, сборки, произвольные запросы к API. Версия 2.97.0 вышла 31 июля и закрывает сразу четыре уязвимости, так что обновиться стоит не откладывая.
Что внутри:
🔘 команды, печатавшие внешний текст без обезвреживания управляющих последовательностей, наконец его обезвреживают: это
gh gist view, gh api, gh pr diff, gh release download --output -, gh codespace logs и несколько новых команд про агентов;🔘 адреса запросов собирались без экранирования переменных частей пути, поэтому значение со служебными символами могло увести запрос к другому ресурсу;
🔘
gh auth status без флага показа токена мог напечатать часть токена открытым текстом для форматов с подчёркиванием после префикса, таких как github_pat_, ghs_ и ghu_;🔘
gh attestation verify строил проверку подписанта из --signer-repo и --signer-workflow, не экранируя спецсимволы регулярных выражений, поэтому похожее имя репозитория или процесса могло пройти проверку, рассчитанную на доверенного;🔘 в
gh project item-edit и gh project item-list поля и значения одиночного выбора теперь адресуются по имени: --field "Status" --value "In Progress" вместо внутренних идентификаторов, а именованные поля можно вывести отдельными колонками;🔘 таймаут обращения к хранилищу ключей поднят с 3 до 60 секунд, чтобы окно разблокировки успевало дождаться человека.
Пригодится всем, кто гоняет gh в скриптах и в сборках, и особенно тем, кто ведёт доски GitHub Projects из терминала и до сих пор искал идентификаторы полей руками.
45,7 тысячи звёзд на GitHub, официальный клиент без сопоставимых альтернатив: hub давно не развивается.
Язык: Go. Лицензия: MIT.
@prog_tools