당근의 파이썬 공급망 공격 대응 방법
당근이 파이썬 패키지 공급망 공격을 막기 위해 프록시 쿨다운을 도입했다.
LiteLLM과 telnyx에서 이어진 공급망 공격을 계기로, 당근은 사내 PyPI 프록시에 dependency cooldown을 적용했다. 패키지가 막 업로드된 뒤 탐지·격리되기까지의 짧은 노출 시간을 줄이는 것이 핵심이다.
사내 배포는 AWS CodeArtifact로 관리하지만, 사용자가 매번 AWS 자격 증명과 토큰을 다루면 로컬, CI, Dockerfile마다 설정이 복잡해진다. 그래서 프록시를 앞단에 두고, 사용자는 pip이나 uv만 쓰면 되도록 정리했다.
프록시는 CodeArtifact 토큰을 내부에서 자동 관리한다. 토큰은 900초 수명으로 발급하고 300초 전 미리 갱신하며, ±60초 jitter로 여러 인스턴스의 동시 갱신을 분산한다. /health는 프로세스 생존뿐 아니라 토큰 유효성까지 확인하고, 큰 wheel 파일은 메모리에 올리지 않고 8KB 청크로 스트리밍한다.
쿨다운 필터는 PEP 503과 PEP 691을 함께 쓴다.
- 클라이언트에는 기존처럼 PEP 503 HTML을 내려준다.
- 필터링 판단은 업로드 시각이 들어 있는 PEP 691 JSON의
upload-time으로 한다. - 정책은 Central Dogma에서 실시간으로 제어해 활성화 여부, 기간, 예외 패키지를 바꿀 수 있다.
쿨다운은 보안 패치 지연과 기존 악성 패키지 미탐지라는 한계가 있다. 그래도 사내 모든 환경에 일관되게 적용되는 방어선이 생겼고, 실제로 2026년 4월 30일 pytorch-lightning 2.6.2와 2.6.3가 같은 캠페인의 표적이 됐을 때 다운로드를 막아냈다.
이 요약은 원문 이해를 돕기 위한 큐레이션입니다. 저작권은 원저작자에게 있으며, 정확한 내용과 맥락은 원문을 확인하세요.
요약 오류, 출처 표기 문제, 삭제 요청은 문의 · 건의로 알려주세요.
