PyPI 저장소에서 발생한 두 건의 최근 사건으로 소프트웨어 공급망의 취약점이 드러났습니다. 공격자들은 PyTorch Lightning 및 Intercom-client와 같은 합법적인 패키지의 변조된 버전을 게시하는 데 성공했습니다. 이러한 변종에는 사용자 시스템에 저장된 액세스 자격 증명을 추출하도록 설계된 숨겨진 코드가 포함되어 있어, 오픈 소스 라이브러리를 신뢰하는 개발자와 기업에 대한 위험이 증가하고 있음을 보여줍니다.
공격자가 합법적인 PyPI 패키지를 어떻게 조작했는가 🔍
공격자들은 typosquatting 및 dependency confusion 기술을 사용하여 악성 버전을 유포했습니다. PyTorch Lightning의 경우, 악성 코드는 설치 중에 실행되어 환경 변수와 자격 증명이 포함된 구성 파일을 수집했습니다. Intercom-client의 경우, 패키지를 가져올 때 악성 코드가 활성화되어 제어되는 서버로 HTTP 요청을 통해 데이터를 유출했습니다. 두 사례 모두 Python 생태계에 대한 신뢰를 악용했으며, 수동 종속성 검토가 여전히 어려운 과제로 남아 있습니다.
PyPI에 대한 맹목적인 신뢰 설치의 역설 🤔
프로세스를 자동화하는 코드를 작성하는 동일한 개발자들이 패키지 내용을 검토하지 않고 설치하는 것은 아이러니합니다. 판매자의 얼굴이 좋아 보인다는 이유로 중고차를 구매하고 보닛을 열어보지 않는 것과 같습니다. 공격자들은 기술적 게으름이 수익성 높은 공격 벡터라는 것을 알고 있습니다. 그동안 우리는 목록 정렬용 라이브러리의 최신 업데이트에 키로거가 포함되지 않았기를 바라며, 마치 신앙 행위처럼 pip install을 계속 실행하고 있습니다.