TGViewer
Инструменты программиста Инструменты программиста @prog_tools · 12.9K subscribers
Post #2867 1.51K
Скрипт печатает в терминал то, что пришло из чужого репозитория: описание гиста, дифф пул-реквеста, логи сборки. Если в этом тексте есть управляющие последовательности, терминал их выполнит, и увиденное вами перестанет совпадать с тем, что там написано.

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
  • 🗿 2
  • ❤ 1
  • 🐳 1
  • 💯 1
  • 👨‍💻 1
More from @prog_tools
  1. Sep 21, 2026Rust Glancer тратит в 100 раз меньше памяти при анализе Rust-кода Rust Glancer — работающи…
  2. Sep 21, 2026Herdr: параллельные ИИ-агенты в одном терминале Herdr показывает несколько сессий агентов…
  3. Sep 20, 2026Как переходить между каталогами с zoxide zoxide запоминает, какие каталоги вы открываете ч…
  4. Sep 20, 2026Как искать по коду с ripgrep с учётом .gitignore ripgrep (rg) рекурсивно ищет строки по ре…
  5. Sep 19, 2026Три вещи, которые невозможно объяснить человеку, родившемуся после 2005-го: зачем нужен бы…
  6. Sep 19, 2026Task: кроссплатформенный запуск задач проекта Task — быстрый инструмент сборки для повторя…
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 →