왜 PSRT의 변화가 중요한가
파이썬은 전 세계에서 가장 널리 쓰이는 언어 중 하나지만, 그만큼 보안 취약점 관리가 어렵습니다. 지난해 PSRT는 CPython과 pip에 대해 16건의 취약성 권고를 발표했는데, 이는 단일 연도 기준 역대 최대 수치입니다. 그동안 PSRT는 비공개로 운영되다 보니 '누가, 어떻게, 얼마나 신속하게' 대응하는지 외부에서 알기 어려웠습니다. 이번 PEP 811(Python Security Response Team Governance)은 그 투명성을 확보하기 위한 첫걸음입니다.
핵심 변화 세 가지
- PSRT 멤버 명단 공개
- 멤버 및 관리자의 역할과 책임 문서화
- 온보딩/오프보딩 절차 정립 (신규 멤버 영입 기준 투표제)
이미 이 프로세스는 실제로 작동하고 있습니다. PSF 인프라 엔지니어 Jacob Coffee가 2023년 Seth Larson 이후 최초로 '릴리즈 매니저가 아닌' 신규 멤버로 합류했습니다.
보안은 우연히 이루어지지 않습니다. 자원봉사자와 유급 직원이 함께 취약점을 분류하고 조정하며 모든 파이썬 사용자를 안전하게 지키고 있습니다.

PSRT의 실제 업무 방식과 협업 구조
PSRT는 단독으로 모든 취약점을 처리하지 않습니다. 조정자(coordinator)는 해당 프로젝트의 메인테이너와 전문가를 적극적으로 리크루팅합니다. 이 방식의 장점은 세 가지입니다:
- API 일관성 유지 – 기존 API 컨벤션과 위협 모델을 존재한 수정
- 장기 유지보수성 확보 – 급하게 패치를 만들지 않고 지속 가능한 수정
- 영향 최소화 – 기존 사용 사례에 미치는 충격을 최소화
심지어 PSRT는 다른 오픈소스 프로젝트와도 사전 조율을 진행합니다. 최근 사례가 PyPI의 ZIP 압축 차등 공격(differential attack) 대응입니다. 하나의 취약점이 여러 프로젝트에 영향을 미칠 수 있기 때문에, 권고 발표 전에 조정하여 생태계 전체가 당황하지 않도록 합니다.
# PSRT 협업 흐름 예시 (개념 코드)
class VulnerabilityCoordinator:
def __init__(self):
self.affected_projects = []
self.maintainers = {}
def register_maintainer(self, project: str, contact: str):
"""영향 받는 프로젝트의 메인테이너 등록"""
self.maintainers[project] = contact
def pre_disclosure_coordination(self, cve_id: str):
"""공개 전 조정: 모든 관련자에게 비공개 초안 공유"""
for proj, contact in self.maintainers.items():
self.send_secure_draft(cve_id, contact)
# ⅔ 이상 동의 시 공개 진행
if self.votes_for_disclosure >= len(self.maintainers) * 2/3:
self.publish_advisory(cve_id)
이러한 협력 덕분에 PSRT는 코드와 문서 기여와 동등한 수준으로 인정받아야 합니다. Seth와 Jacob은 현재 'GitHub Security Advisories' 워크플로우를 개선하여, 신고자, 조정자, 수정 개발자, 리뷰어를 CVE 및 OSV 레코드에 정식으로 기록하는 작업을 진행 중입니다.

PSRT 멤버가 되는 방법과 주의사항
PSRT 멤버십은 코어 개발자나 트라이저(triager)가 아니어도 지원할 수 있습니다. 필요한 조건은 다음과 같습니다:
- 보안 전문성 – 파이썬 커뮤니티 내에서 신뢰받는 보안 지식
- 기존 멤버의 추천 – 최소 1명의 현 멤버가 지명해야 함
- ⅔ 이상 찬성 – 현 멤버들의 비밀 투표로 승인
- 시간 투자 가능 – 자원봉사 또는 고용주의 후원
⚠️ 주의할 점 PSRT 멤버가 아니어도 취약점 정보를 조기에 받을 수 있는 것은 아닙니다. PSF는 CVE 번호 부여 기관(CNA)으로서 CPython과 pip에 영향을 미치는 취약점 정보를 CVE와 OSV 레코드로 공개합니다. '멤버십 = 얼리 액세스'라는 오해는 금물입니다.
한국 개발 생태계에서의 적용 맥락
국내에서도 많은 기업이 파이썬을 사용하지만, 보안 취약점 대응 프로세스는 여전히 사내 레거시에 의존하는 경우가 많습니다. PSRT의 거버넌스 문서화 사례는 다음과 같은 인사이트를 줍니다:
- 보안팀의 투명성 확보 – 누가, 어떤 권한으로 대응하는지 문서화
- 온보딩 자동화 – 신규 멤버가 업무를 빠르게 파악할 수 있도록 절차 표준화
- 크로스 프로젝트 협력 – 사내 여러 서비스 간 취약점 공유 채널 구축
특히 SI/금융권에서 '보안 담당자 한 명이 모든 걸 처리'하는 구조는 위험합니다. PSRT처럼 명확한 역할 분담과 투표제 도입을 검토해볼 만합니다.

결론: 보안의 지속 가능성을 위한 첫걸음
PEP 811의 승인은 단순한 문서 작업이 아닙니다. 이는 파이썬 생태계가 보안을 '지속 가능한 활동'으로 전환하겠다는 선언입니다. 멤버 명단 공개, 역할 문서화, 온보딩 절차 정립은 모두 장기적인 관점에서 보안 인력의 순환을 원활하게 하기 위함입니다.
다음 단계 학습 방향
- 직접 PSRT에 지원하기 전에, 먼저 GitHub Security Advisories 사용법을 익혀보세요.
- 자신이 관리하는 오픈소스 프로젝트에 CVE 식별자를 등록하는 절차를 알아보는 것도 좋습니다.
- 보안 취약점 신고 시 '책임 있는 공개(Responsible Disclosure)' 원칙을 지키는 방법을 학습하세요.
보안은 제품의 기능이 아니라 프로세스입니다. PSRT의 변화는 모든 오픈소스 프로젝트가 보안 거버넌스를 고민해야 할 시점임을 알려줍니다.
함께 보면 좋은 글
- 팬톤이 에이전트 AI로 색상 전문성을 확장한 방법 AI-Ready 데이터베이스의 핵심 역할
- React, 드디어 독립했다 – React Foundation 출범과 생태계 변화 완전 정리
이 글의 내용은 Python Insider 블로그를 참고하여 재구성했습니다.