GitHub 이슈나 PR에 이미지를 첨부하려면 보통 웹 UI에 직접 접속해서 업로드해야 합니다. 공식 API가 업로드를 지원하지 않기 때문입니다. gh-attach는 이 문제를 우회하는 gh CLI 확장으로, 로컬 브라우저에 저장된 로그인 쿠키를 읽어 웹과 동일한 업로드 API를 호출합니다.

동작 방식
gh-attach는 단순한 도구가 아닙니다. GitHub 공식 API의 한계를 우회하기 위해 브라우저 세션을 활용합니다. 사용자가 Chrome, Firefox, Safari 등으로 GitHub에 로그인해 두면, 해당 브라우저의 쿠키를 읽어 동일한 업로드 엔드포인트에 요청을 보냅니다. 결과적으로 별도 인증 절차 없이 사용자의 GitHub 계정으로 파일이 첨부됩니다.
설치와 사용
$ gh extension install sudosubin/gh-attach
$ gh attach ./image.png -R owner/repo
# https://github.com/user-attachments/assets/...

설치는 gh CLI 확장으로 한 줄이면 끝납니다. 사용법도 직관적입니다. 첨부할 파일 경로와 -R owner/repo로 대상 리포지토리만 지정하면, 출력으로 GitHub가 호스팅하는 이미지 URL을 반환합니다.
주요 기능
- 브라우저 호환성: Chrome, Firefox, Safari 등 주요 브라우저의 쿠키 지원. Profile이나 Container 단위로도 지정 가능합니다.
- 자동 세션 선택: 로그인된 GitHub 계정과 일치하는 세션을 자동으로 골라줍니다.
- 스크립트 연동:
--json,--jq,--template옵션을 지원해 파이프라인에 끼우기 좋습니다. - 배포 형태: Go로 작성되었으며 gh 확장 또는 standalone 바이너리(Homebrew, GitHub Release)로 받을 수 있습니다.
어떤 작업에 유용한가
작성자는 스크린샷을 매번 수동으로 첨부하기 귀찮아서 만들었다고 합니다. 하지만 실전에서 더 빛을 발하는 순간은 에이전트가 PR을 만들 때입니다. PR 생성 에이전트가 다이어그램, 검증 스크린샷, 결과 그래프를 자동으로 업로드하게 만들면, 사람의 개입 없이도 시각적 증거가 포함된 풀 리퀘스트를 던질 수 있습니다.
정리
GitHub 공식 API가 업로드를 지원하지 않는 한, 이런 식의 브라우저 세션 우회는 현실적인 선택지입니다. 단순한 도구지만 CI/에이전트 워크플로에 녹여 넣으면 체감 효율이 크게 올라갑니다. GitHub 저장소는 아래 링크에서 확인할 수 있습니다.
GitHub: https://github.com/sudosubin/gh-attach
'자동화&툴 리뷰' 카테고리의 다른 글
| Davit — Apple Containers용 네이티브 macOS UI, Docker Desktop 없이 macOS 네이티브로 컨테이너 관리 (0) | 2026.07.10 |
|---|---|
| Trusted Publishing을 패키지 신뢰 신호로 보면 안 되는 이유 — PyPI OIDC가 푸는 문제와 남기는 함정 (0) | 2026.07.09 |
| sneakerweb — USB 한 개에 웹사이트를 담아 옮기는 P2P 프로토콜 (0) | 2026.07.08 |
| OpenPrinter - 수리 가능한 컴팩트 오픈 프린터 (0) | 2026.07.07 |
| OpenPrinter — 수리 가능한 컴팩트 오픈 프린터, DIY 메이커의 새로운 표준 (0) | 2026.07.06 |