약 2만 여 기업 ‘비상’, “모든 인스턴스 로테이션·업데이트해야”
앞서 깃허브 통합·배포 저장소 ‘tj-actions/changed-files’ 해킹
‘액션’에 코드 수정, 버전 태그 소급 업데이트하는 ‘악성 커밋’ 발견

깃허브 이미지. (출처=게티이미지)
깃허브 이미지. (출처=게티이미지)

[애플경제 전윤미 기자] 지난 14일 2만 곳 이상의 저장소기업과 기관, 단체들이 깃허브 통합과 배포를 위한 저장소 ‘tj-actions/changed-files GitHub Action’에 대한 해킹으로 위험에 처하게 되었다. 이에 모든 기업과 조직들은 정보 보안과 비밀 보호에 안간힘을 쓰고 있다.

‘GitHub Actions’는 개발자가 소프트웨어 빌드와 테스트를 자동화할 수 있도록 하는 지속적인 통합 및 지속적인 배포(CI/CD) 서비스다. 워크플로는 새 코드가 저장소에 변경사항을 추가해 이를 최상위 리비전(head revision)의 일부분으로 만들어주는 ‘커밋’처럼, 특정 이벤트에 의해 트리거된다.

2만3천여 저장소 ‘액션’에서 악성 커밋

23,000개가 넘는 저장소에서 사용되는 ‘tj-actions/changed-files’은 모든 파일과 디렉토리를 검색하는 ‘GitHub Action’이다. 앞서 지난 14일 보안회사 스텝시큐리티(StepSecurity) 연구원들은 ‘Action’에서 악성 커밋을 발견했다. 공격자들은 코드를 수정하고 여러 버전 태그를 소급적으로 업데이트함으로써, 악성 커밋을 활용했다.

스텝시큐리티는 “침해된 ‘Action’은 GitHub Actions 빌드 로그에 CI/CD 비밀을 인쇄한다”면서 “공개저장소처럼 워크플로 로그에 공개적으로 액세스할 수 있는 경우엔 누구나 이 로그를 읽고 노출된 비밀을 얻을 수 있다”고 밝혔다. 다만 유출된 비밀이 원격 네트워크 대상으로 유출되었다는 증거는 없다는 얘기다.

결국 침해된 ‘Action’은 CI/CD 비밀을 훔치는 악성 파이썬 스크립트를 실행함으로써 수천 개의 CI 파이프라인에 영향을 미친다.

이때 발견된 (취약점) CVE는 깃허브 ‘Actions’가 활성화된 공개 깃허브 저장소에 영향을 미치며, 모든 버전이 영향을 받았다. 또 다른 보안회사 엔도르 랩스(Endor Labs)도 자사 블로그에서 이를 언급하며, “소프트웨어를 빌드하는 기업이나 조직의 경우 손상된 ‘Action’을 사용하는 경우 파이프라인을 재구성해야 할 수도 있다”면서 “해당 공격은 ‘중단’을 야기하진 않지만, 기업이나 팀이 다른 변경을 하는 것을 차단할 수 있다.”고 밝혔다.

깃허브 이미지. (출처=셔터스톡)
깃허브 이미지. (출처=셔터스톡)

공격자는 나아가서 ‘Action’으로 만든 다른 오픈소스 라이브러리나, 바이너리, 아티팩트에 대한 소프트웨어 공급망을 손상시키려 시도할 수 있다. 그래서 “수천 개의 오픈소스 패키지에 영향을 미칠 수 있다”는 경고도 나온다.

앞서 스텝시큐리티는 “현재로선 다운스트림 오픈소스 라이브러리나 컨테이너가 영향을 받았다는 증거는 없다.”면서도 “그러나 오픈소스 유지 관리자와 보안 커뮤니티가 잠재적인 2차 손상을 면밀히 감시하기 위해 특별히 주의를 기울여야 할 것”이라고 당부했다.

이에 깃허브에선 ‘Action’을 제거했으며 사용자는 대체 수단을 찾아야 한다. 만약 손상된 ‘Action’을 사용하는 CI 파이프라인은 캐시된 버전을 사용하지 않는 한 충돌할 수 있다는 경고다.

‘깃허브 액션’ 이상 확인하는 방법

‘스텝시큐리티’는 ‘tj-actions/changed-files Action’의 모든 버전을 사용하는 사용자에게 “사고가 해결될 때까지 즉시 사용을 중단할 것”을 조언했다. 대신에 무료로, 보안 드롭인 대체품 ‘step-security/changed-files’가 출시되었다. 이를 활용해 현재의 워크플로에서 ‘t j-actions/changed-files’의 모든 인스턴스를 속히 업데이트할 필요가 있다는 조언이다.

사용자는 또한 리포지토리에서 코드 검색을 수행, ‘tj-actions/changed-files Action’의 모든 인스턴스를 찾아야 한다. 깃허브 ‘Actions’ 워크플로 실행 로그를 검토, ‘Action’의 최근 실행을 찾아내는 것도 방법이다. 만약 그게 발견되면 즉시 로테이션해야 한다는 조언이다.

기업들은 이에 그치지 않고 다음 단계에 대비해야 한다는 주문이다. 즉 영향을 받는 수천 개의 오픈 소스 깃허브 리포지토리가 적절한 보안 조치를 취하고, 비밀을 취소/변경하려면 시간이 걸릴 수 밖에 없다. 그래서 “공격자가 누구며, 왜 그런 짓을 했는지에 따라 피해의 크기나 범위도 달라질 것”이라며 주의를 당부했다.

저작권자 © 애플경제 무단전재 및 재배포 금지