PEP 815 – RECORD.jws와 RECORD.p7s 사용 중단
- Author:
- Konstantin Schütze <konstin at mailbox.org>, William Woodruff <william at yossarian.net>
- Sponsor:
- Emma Harper Smith <emma at python.org>
- PEP-Delegate:
- Paul Moore <p.f.moore at gmail.com>
- Discussions-To:
- Discourse thread
- Status:
- Final
- Type:
- Standards Track
- Topic:
- Packaging
- Created:
- 04-Dec-2025
- Post-History:
- 09-Jun-2025, 08-Dec-2025
- Resolution:
- 28-Jan-2026
번역·라이선스 안내
이 비공식 한국어 번역은 원문 Copyright 절의 Public Domain or CC0-1.0, whichever is more permissive 조건에 따라 제공합니다. 원저자와 공식 원문은 그대로 표시합니다. 수정되지 않은 기준 원문 · 공식 최신판
초록
이 PEP는 RECORD.jws 및 RECORD.p7s 휠 서명 파일을 사용 중단합니다. 도구가 이 파일들을 지원하지 않으므로, 사실상 사용되지 않는 이 파일들은 내세우는 보안을 제공하지 못합니다. 휠 서명이 필요한 사용자는 그 대신 색인 호스팅 증명을 참조하십시오.
동기
주요 Python 패키징 도구 중 RECORD.jws나 RECORD.p7s의 생성 또는 검사를 지원하는 도구는 없습니다. 특히 pip와 uv는 모두 RECORD에 있는 해시를 검증하지 않는데, 이 검증은 서명 파일을 사용하기 위한 필수 조건입니다. 바이너리 배포 형식은 이 파일들을 보안 기능으로 제시하고 있어 사용자에게 혼란을 줄 수 있습니다.
휠을 해싱하고 서명하는 최신 방식은 아카이브 내부 정보에서 색인에 제시되는 아카이브 외부 정보로 옮겨 갔으며, 단순 저장소 API의 해시와 증명이 그 예입니다. RECORD에 있는 해시와 달리, pip와 uv 같은 도구는 색인이 제공하는 해시를 검증합니다.
두 파일 모두 사실상 사용되지 않습니다. GitHub에서 path:**.dist-info/RECORD로 검색하면 63만 5천 건의 결과가 나오지만, path:**.dist-info/RECORD.jws는 서로 다른 결과가 8건이고 path:**.dist-info/RECORD.p7s는 결과가 0건입니다.
명세
RECORD.jws 및 RECORD.p7s 파일은 사용 중단되며, 이를 반영하도록 바이너리 배포 형식 명세가 갱신될 것입니다. 빌드 백엔드와 기타 도구는 이 파일들을 휠에 추가해서는 안 됩니다(MUST NOT). 설치 프로그램은 이 파일들을 검증하려고 시도해서는 안 되며(SHOULD NOT), 이 파일들은 계속해서 RECORD에서 제외됩니다.
하위 호환성
작성자가 알고 있는 빌드 백엔드와 설치 프로그램 중 변경이 필요한 것은 없습니다. 이들은 RECORD 파일을 처리할 때 이 파일들을 건너뛰는 것 외에는 이 파일들을 지원하지 않기 때문입니다. 현재 이 파일들을 작성하는 빌드 백엔드가 있다면, 해당 기능을 사용 중단하고 최종적으로 제거해야 합니다.
출처를 검증하려는 사용자는 색인 호스팅 증명을 참조하십시오.
보안 영향
이 PEP는 명세에 제시된 보안 기능과 도구가 지원하는 보안 기능 사이의 괴리를 줄임으로써 Python 패키징 생태계의 보안을 강화합니다.
Copyright
This document is placed in the public domain or under the CC0-1.0-Universal license, whichever is more permissive.