GitHub

다운로드 51
업데이트 2025. 11. 29.

GitHub 비공개 저장소 사외 ZIP 다운로드

조직 외부에서 GitHub 비공개 저장소의 코드를 ZIP 파일로 다운로드 시 탐지합니다.

쿼리

GitHub 감사 로그에서 실시간으로 비공개 저장소 ZIP 다운로드 로그를 추출합니다. 내부망 대역이 아닌 출발지 IP 주소를 조건으로 사외 다운로드를 구분합니다.

| search action == "repo.download_zip" and visibility != "public"
| rename actor_ip as src_ip, actor as user
| matchnet guid="bb994ca4-1471-4b91-89f2-99a61bd529b5" field="src_ip" invert=t

메시지

  • GitHub 비공개 저장소 사외 ZIP 다운로드: 계정 $user ($src_ip), 저장소 $repo

출력 필드 순서

  • _log_time, src_ip, user, action, repo, visibility, user_agent

위협 분석

  • 공격자는 탈취한 GitHub 계정을 이용하여 비공개 저장소의 소스 코드를 외부 네트워크에서 직접 다운로드할 수 있습니다.
  • ZIP 다운로드는 대량의 코드 및 자산을 단일 파일로 빠르게 반출할 수 있어 내부 정보유출 시도에서 자주 악용됩니다.
  • 정당한 개발 활동에서는 대부분 사내 네트워크 또는 VPN을 활용하므로, 외부망에서 이루어진 비공개 저장소 다운로드는 높은 위험도를 갖습니다.

오탐 유형

  • 사용자가 출장지, 재택 환경, VPN 미사용 상태 등 정당한 외부 네트워크에서 업무를 수행하는 경우에도 탐지될 수 있습니다.
  • 특정 자동화 스크립트나 CI/CD 환경이 외부 IP 대역에서 실행되는 경우 오탐이 발생할 수 있습니다.
  • 외부 협력사가 제한된 권한으로 비공개 저장소를 다운로드하는 업무 절차가 존재하는 조직에서는 해당 작업도 탐지에 포함될 수 있습니다.

대응 방안

  • 사용자 확인 및 행위 검증
    • 다운로드한 사용자에게 해당 행위가 의도된 작업인지 즉시 확인합니다.
    • 사용자 단말 또는 스크립트 환경에서 비정상적인 프로세스나 크리덴셜 노출 여부를 점검합니다.
  • 저장소 접근 권한 점검
    • 문제의 계정이 불필요하게 많은 저장소에 접근 가능한지 점검하고 최소 권한 원칙(Least Privilege)에 따라 조정합니다.
  • PAT 및 인증 수단 점검/폐기
    • 의심 계정이 사용하는 PAT·SSH 키·OAuth 토큰이 유출되었을 가능성이 있다면 즉시 폐기하고 재발급합니다.
  • 이상 다운로드 패턴 조사
    • 동일 계정으로 동일 시점에 다수의 ZIP 다운로드가 발생했는지, 또는 비정상적인 User-Agent나 IP 주소 변경 패턴이 있는지 조사합니다.
  • 보안 강화 조치
    • 외부망에서의 GitHub 접근에 대해 MFA 강제 적용, 저장소 다운로드 제한 정책 적용 등을 검토합니다.
    • 단말에서 악성코드 감염이 확인될 경우 즉시 격리·치료 후 재발 방지 조치를 실시합니다.

MITRE ATT&CK