GitHub 자격 증명을 토큰 유형별로 끊는다: 사고 대응의 범위를 좁히는 법
GitHub가 보안 사고 때 PAT·SSH 키·OAuth 앱 토큰 등을 유형별로 일괄 철회하도록 지원한다. 지원 범위와 기존 자동화 영향, 적용 전 점검 사항을 정리한다.
GitHub가 보안 사고 때 사용자의 모든 자격 증명을 한꺼번에 끊는 대신, 토큰 유형을 골라 일괄 철회할 수 있게 했다. 2026년 8월 18일 공개된 기능은 개인 액세스 토큰, SSH 키, OAuth 앱 토큰, GitHub App 사용자 액세스 토큰처럼 서로 다른 인증 수단을 구분해 사고 범위를 좁힌다.
무엇이 바뀌었나
기존의 자격 증명 ‘킬 스위치’는 한 사용자의 인증 수단 전체에 적용됐다. 이제 엔터프라이즈 소유자, 조직 관리자, 그리고 엔터프라이즈 자격 증명 관리 권한을 받은 구성원은 특정 종류의 토큰만 선택해 SSO 승인1을 해제하거나 자격 증명 자체를 삭제·철회할 수 있다.
예를 들어 Enterprise Managed Users(EMU)2 계정의 개인 액세스 토큰이 유출된 정황이 있다면 그 사용자의 PAT만 없애고 SSH 키는 유지할 수 있다. 엔터프라이즈 수준에 있던 일괄 조치가 조직 수준의 웹 UI와 REST API에도 제공되며, 실행 기록은 감사 로그에 남고 영향받은 사용자에게 이메일이 발송된다.
개발자에게 왜 중요한가
사고 대응에서는 차단 속도와 업무 연속성이 충돌한다. 모든 자격 증명을 끊으면 공격자의 접근을 넓게 막을 수 있지만, 무관한 배포 키와 개발 환경까지 멈출 수 있다. 유형별 철회는 유출 경로가 확인된 경우 영향 범위를 줄이면서 대응할 선택지를 준다.
다만 세밀한 버튼이 생겼다고 피해 범위가 자동으로 작아지는 것은 아니다. 하나의 CI 작업이 PAT와 SSH 키를 함께 쓰거나, 유출된 토큰으로 새 자격 증명을 만들 수 있었다면 단일 유형 철회만으로 충분하지 않다. 감사 로그와 최근 사용 기록, 해당 토큰의 권한과 파생 작업을 함께 확인해야 한다.
기존 프로젝트 영향
애플리케이션 코드나 토큰 형식이 바뀌는 업데이트는 아니다. 정상 상태에서는 기존 토큰이 그대로 동작한다. 변화는 조직과 엔터프라이즈의 사고 대응 절차, 자동화 스크립트와 권한 위임 방식에 있다.
API를 자동화한 팀은 호출 주체가 필요한 관리자 권한을 갖는지, 대상이 조직인지 엔터프라이즈인지, SSO 승인 해제와 자격 증명 철회 중 어떤 작업을 하는지 구분해야 한다. 이번 엔터프라이즈 자격 증명 승인 API는 2026-03-10 API 버전을 사용한다. 조직 수준 엔드포인트는 공식 문서의 지원 범위와 요청 형식을 기준으로 시험해야 한다.
적용 전 확인 사항
- 토큰 유형별 소유자, 사용 시스템, 만료일과 최소 권한을 자산 목록에 연결한다.
- ‘SSO 승인 해제’와 ‘토큰 자체 철회’를 사고 유형별 절차에서 분리한다.
- 웹 UI와 API 조치가 감사 로그 및 사용자 알림에 남는지 시험 계정으로 확인한다.
- 철회 뒤 CI/CD, 자동 배포, Git 작업과 운영 봇에 미치는 영향을 점검하고 새 자격 증명 발급 절차를 준비한다.
- 유출 범위가 불명확하거나 계정 탈취가 의심되면 유형별 조치에만 의존하지 말고 세션, 비밀번호, 복구 수단과 다른 자격 증명도 함께 조사한다.
- GitHub의 공개 자격 증명 철회 API는 노출된 토큰 값을 신고하는 별도 용도다. 조직 관리자용 일괄 철회 API와 혼동하지 않는다.
이번 기능은 보안 사고의 ‘큰 빨간 버튼’을 없애는 변화가 아니라, 증거가 충분할 때 더 정밀하게 누를 수 있는 버튼을 추가한 것이다. 실제 효과는 조직이 토큰의 소유와 용도를 미리 파악하고, 넓은 차단으로 전환할 조건까지 연습해 두었을 때 생긴다.
출처
- GitHub Changelog — Credential revocation and deauthorization by token type (2026-08-18)
- GitHub Docs — Revoking your credentials
- GitHub REST API — Revocation
1 SSO 승인: 조직의 SAML SSO 환경에서 특정 자격 증명이 조직 리소스에 접근하도록 허용한 연결.
2 EMU: 기업이 GitHub 사용자 계정의 수명 주기와 접근을 중앙 관리하는 Enterprise Managed Users 환경.