핵심 요약
당근의 Python Chapter는 내부 PyPI 프록시 앞단에 얇은 프록시를 두고 CodeArtifact로의 요청을 안전하게 중개해 자격 증명 취급을 단순화했습니다. 프록시는 900초 토큰을 300초 선갱신하고 ±60초 지터를 적용하며 8KB 청크 단위로 스트리밍 응답을 제공합니다. 또한 PEP 503 HTML 목록과 PEP 691 JSON 데이터를 결합해 cooldown를 적용하고 Central Dogma로 정책을 동적으로 조정합니다. 단일 진입점으로 사용자 경험을 유지하고 Prometheus로 모니터링합니다. LiteLLM 및 PyTorch Lightning 사례를 통해 차단 효과도 확인했습니다.
구현 방법
- CodeArtifact 앞에 얇은 프록시를 두고 매 요청에 새로운 인증 헤더를 첨부해 전달
- 토큰 관리: 900초 토큰 라이프사이클, 만료 300초 전 선갱신, ±60초 지터, 상태 확인 엔드포인트로 건강 점검
- 8KB 단위 스트리밍으로 대용량 파일도 메모리 과부하 없이 처리
- PEP 503 HTML 목록과 PEP 691 JSON 데이터를 병행 활용해 cooldown 필터링 수행
- 중앙 구성 관리인 Central Dogma로 cooldown 활성화 여부, 기간, 예외 패키지를 실시간으로 조정
- 내부 팀용 단일 진입점 유지로 파이프라인과 도구 간 정책 일관성 확보
- Prometheus로 다운로드 흐름 및 프록시 성능 관찰
주요 결과
- 내부 파이프라인 전반에 걸쳐 정책 일관성과 가시성 확보
- 짧은 토큰 수명/주기적 갱신으로 자격 증명 노출 최소화
- 요청 목록에서 cooldown 필터링을 통한 공급망 공격 차단 효과 확인(LiteLLM 관련 악성 버전 차단 사례, PyTorch Lightning 유사 공격 차단 사례)


