사이버보안 연구원들은 실수로 유출된 GitHub 토큰을 발견했다고 밝혔습니다. 이 토큰을 사용하면 Python 언어의 GitHub 저장소, Python 패키지 인덱스(PyPI), Python 소프트웨어 재단(PSF) 저장소에 대한 높은 액세스 권한이 부여될 수 있습니다.
GitHub Personal Access Token을 발견한 JFrog는 해당 비밀이 Docker Hub에 호스팅된 공개 Docker 컨테이너에서 유출되었다고 밝혔습니다.
“이 사례는 예외적인데, 잘못된 사람의 손에 들어갔을 경우 잠재적 결과를 과대평가하기 어렵기 때문입니다. PyPI 패키지에 악성 코드를 주입할 수 있었고(모든 Python 패키지를 악성 패키지로 대체하는 것을 상상해 보세요) Python 언어 자체에도 주입할 수 있었습니다.” 소프트웨어 공급망 보안 회사가 말했습니다.
공격자는 잠재적으로 관리자 접근 권한을 무기화하여 Python 프로그래밍 언어의 핵심이나 PyPI 패키지 관리자와 관련된 소스 코드를 오염시킴으로써 대규모 공급망 공격을 조직할 수 있었습니다.
JFrog는 인증 토큰이 Docker 컨테이너 내부, 컴파일된 Python 파일(“build.cpython-311.pyc”)에서 발견되었으며, 이 파일이 실수로 정리되지 않았다는 점을 지적했습니다.
2024년 6월 28일 책임 있는 공개에 따라 PyPI 관리자 Ee Durbin과 연결된 GitHub 계정에 대해 발행된 토큰은 즉시 취소되었습니다. 비밀이 야외에서 악용되었다는 증거는 없습니다.
PyPI에 따르면 해당 토큰은 2023년 3월 3일 이전에 발행되었으며, 보안 로그가 90일 이후에는 제공되지 않기 때문에 정확한 날짜는 알 수 없다고 합니다.
“cabotage-app5를 로컬에서 개발하고 코드베이스의 빌드 부분을 작업하는 동안 지속적으로 GitHub API 속도 제한에 부딪혔습니다.”라고 Durbin은 설명했습니다.
“이러한 속도 제한은 익명 액세스에 적용됩니다. 프로덕션에서 시스템이 GitHub 앱으로 구성된 동안, 저는 게으름의 일환으로 로컬 호스트 GitHub 앱을 구성하는 대신 내 액세스 토큰을 포함하도록 로컬 파일을 수정했습니다. 이러한 변경 사항은 원격으로 푸시되도록 의도된 적이 없습니다.”
Checkmarx는 PyPI에서 일련의 악성 패키지를 발견한 후, 피해자의 동의나 지식 없이 Telegram 봇으로 민감한 정보를 유출하도록 설계되었습니다.
문제의 패키지(testbrojct2, proxyfullscraper, proxyalhttp 및 proxyfullscrapers)는 손상된 시스템에서 .py, .php, .zip, .png, .jpg 및 .jpeg와 같은 확장자와 일치하는 파일을 스캔하여 작동합니다.
Checkmarx 연구원 Yehuda Gelb는 “Telegram 봇은 이라크에 있는 여러 사이버 범죄 활동과 연관이 있습니다.”라고 말하며, 봇의 메시지 기록이 2022년까지 거슬러 올라간다고 언급했습니다.
“봇은 소셜 미디어 조작 서비스를 제공하는 지하 시장으로도 기능합니다. 금융 도난과 관련이 있으며 피해자의 데이터를 빼돌려 착취합니다.”