파이썬 패키지 업로드 플랫폼인 PyPI(Python Package Index)를 운영하는 PSF(Python Software Foundation)가 3월부터 4월에 걸쳐 미국 사법부로부터 사용자 데이터를 요구하는 소환장이 3회 발행됐다는 사실을 밝혔다. PSF는 이 소환장과 관련된 법적 상황에 대한 설명을 받지 않았음에도 불구하고 PyPI 사용자 5명 데이터가 요청됐다고 한다.
PyPI는 파이썬 패키지를 올릴 수 있는 플랫폼으로 PyPI에 등록된 패키지는 ‘pip install’ 명령으로 설치할 수 있다. PyPI에 패키지를 등록하려면 사용자 계정을 등록해야 하며 이번 사법부가 소환장을 발행한 건 이 사용자 계정에 대한 정보다. 다만 PyPI 측은 왜 사법부가 사용자 데이터를 요구하는 것인지에 대한 법적인 상황에 대해선 일절 밝히지 않았다고 한다.
PSF에 의하면 사법부가 요구해온 사용자 데이터에는 PSF가 소유하고 있지 않은 게 있어 프라이버시 관점에서 사용자 데이터 공개에는 소극적이었지만 변호사와 상담한 결과 최종적으로 데이터 제공에 응한 걸 밝히고 있다.
사법부로부터 요구된 사용자 데이터와 PyPI가 제공한 데이터는 이렇다. 먼저 이름. PyPI 데이터베이스에는 ‘username’이라는 요소가 있으며 여기에 이름이 등록되어 있다. 표시명은 사용자 스스로 변경이 가능하지만 PyPI 사용자 표시명 변경 이력은 기록되어 있지 않다고 한다.
다음은 주소. PyPI는 우편 주소와 거주 주소를 등록할 필요가 없으며 사용자 이메일 주소만 저장되므로 사법부에는 이메일 주소만 제공했다. 이어 액세스 기록. PyPI는 프로젝트에 대한 모든 변경 기록을 인덱스에 보관한다. 이는 데이터베이스에 기록되어 있어 사용자명과 IP 주소를 빼고 XMLRPC API로 공개되고 있다고 한다. 또 계정 작성이나 이메일 송신, 메일 주소 변경, 로그인 실패 등 사용자 이벤트 기록도 보관 유지되고 있어 데이터베이스로부터 취득할 수 있다고 한다.
4번째는 세션 시간과 지속 시간, 세션과 관련된 네트워크 주소 등 기록이다. PyPI에선 세션 시간 그러니까 로그인한 시간은 데이터로 제공되고 있지만 세션 지속 시간은 기록하고 있지 않다고 한다. 5번째 서비스 기간과 이용한 서비스 종류. 이는 PyPI라는 사용자 계정이 작성된 날짜와 마지막으로 로그인에 성공했을 때의 기록에 해당한다는 것. 일련의 기록은 데이터베이스에 저장되며 PyPI에는 비공개 정보가 있다.
6번째는 전화번호 또는 IP 주소. 각 사용자에 대한 모든 IP 주소가 공유됐다. 이들은 데이터베이스 기록에서 얻은 것으로 PyPI에는 비공개다. 7번째는 서비스 결제 수단과 지불 소스. PyPI는 사용자 사용료를 설정하지 않으므로 신용카드 결제 기록이 존재하지 않는다. 8번째는 사용자가 올린 파이썬 패키지 기록. 사용자별로 관련된 모든 프로젝트 목록이 제공됐다. 이들은 데이터베이스 기록에서 얻은 것으로 PyPI에는 비공개다. 9번째는 사용자가 올린 파이썬 패키지를 다운로드한 IP 로그. PyPI는 IP 주소를 포함한 패키지 다운로그 로그를 보유하고 있지 않다. 다운로드 로그는 CDN이 보고하는 GeiIP만 포함하는 파이프라인에서 처리되며 데이터세트(Google BigQuery Public)에서 가져온 것이다.
PSF 측은 PyPI 사용자 프라이버시는 PSF와 PyPI 관리자에게 가장 중요하며 가능하면 사용자 데이터를 보호하기 위해 노력하고 있다면서 하지만 이번에는 변호사 조언을 받아 요청 데이터를 제공하는 게 유일한 행동 방침으로 판단해 요구에 부응했다고 밝히고 있다. 관련 내용은 이곳에서 확인할 수 있다.