GitHub, 노출된 자격 증명 즉시 회수하는 API 출시
자격 증명(Credential) 노출 시 피해를 최소화하기 위해, Credential revocation API가 확장됨
GitHub OAuth 및 GitHub App 토큰 유형 지원으로, 노출된 자격 증명에 대한 대량 회수(Bulk Revocation) 가능
무료 API로 시간당 60회, 요청당 1,000개 토큰 제한, 토큰 소유자에게 이메일 알림(Email Notification) 제공
API 작동 방식 및 보안 강화
본 API는 무단 접근(Unauthenticated) 방식으로, 노출된 토큰을 회수하여 보안 사고(Security Incident) 발생 시 피해를 최소화한다.
토큰 회수: 유효한 토큰을 받으면 즉시 회수하고, 토큰 소유자의 보안 로그(Security Log)에 기록
조직 접근 권한 제거: 노출된 토큰이 GitHub 조직에 접근 권한을 가지고 있다면, 해당 권한 즉시 제거
재활성화 불가: 회수된 자격 증명은 재활성화할 수 없으며, 토큰 소유자는 새로운 자격 증명을 발급받아야 함
대량 회수(Bulk Revocation) 기능의 중요성
글에 따르면, 이 API는 자신의 것이 아닌 토큰도 회수할 수 있도록 지원하여, 오픈소스 생태계(Open Source Ecosystem) 전반의 보안을 강화한다.
대량 회수 요청: 레포지토리(Repository) 등에서 발견된 노출된 토큰에 대해 일괄 회수 요청(Bulk Revocation Request) 가능
지원 토큰 유형: Personal access tokens, OAuth app tokens, GitHub App user-to-server tokens, GitHub App refresh tokens 등 다양한 토큰 유형 지원
활용 사례: 취약점 분석(Vulnerability Analysis) 도구를 통해 노출된 토큰을 찾아, 신속하게 회수 가능
API 사용 시 고려 사항
본 API는 무분별한 사용(Abuse)을 방지하기 위해, 사용량에 제한을 둔다.
요청 제한: 시간당 60회, 요청당 최대 1,000개의 토큰 회수 가능
알림: 토큰 회수 시, 토큰 소유자에게 이메일 알림(Email Notification) 전송
주의 사항: API 사용 시, GitHub Community에서 논의를 통해, 최신 정보 및 사용 가이드를 확인하는 것이 권장됨