월 100만 다운로드 오픈소스 패키지 자격증명 탈취
원제: Open source package with 1 million monthly downloads stole user credentials
왜 중요한가
오픈소스 공급망 보안의 취약성을 보여주며, 개발자 계정 보안 강화의 중요성을 시사한다.
월 1백만 다운로드를 기록하는 오픈소스 패키지 element-data가 공격자에 의해 악성 버전 0.23.3으로 변조되어 사용자 자격증명을 탈취했다. 개발자의 GitHub 계정 취약점을 악용한 공격으로, 약 12시간 후 패키지가 제거됐다.
기계학습 시스템 모니터링 도구인 element-data 오픈소스 패키지가 공격자에 의해 악성 코드가 삽입된 버전으로 변조되는 사건이 발생했다. 공격자는 개발자가 생성한 GitHub 액션의 취약점을 악용해 개발자 계정에 접근했다. 악성 코드가 포함된 풀 리퀘스트를 통해 bash 스크립트를 실행시켜 개발자 계정 내의 민감한 데이터를 탈취했다.
탈취된 계정 토큰과 서명 키를 이용해 공격자는 정상 패키지와 거의 구별되지 않는 악성 버전 0.23.3을 Python Package Index와 Docker 이미지 계정에 배포했다. 이 악성 패키지는 실행 시 사용자 프로필, 웨어하우스 자격증명, 클라우드 제공업체 키, API 토큰, SSH 키 등 민감한 데이터를 수집했다.
개발자들은 제3자 신고를 통해 침해 사실을 인지했으며, 3시간 만에 악성 패키지를 제거하고 모든 자격증명을 교체했다. 또한 취약점을 수정하고 다른 모든 GitHub 액션을 감사했다. 버전 0.23.3을 설치한 사용자들에게는 즉시 안전한 버전 0.23.4로 교체하고 모든 자격증명을 교체하도록 권고했다.