Anthropic, PSF(Python Software Foundation)에 150만 달러 투자 및 PyPI 보안 강화 협력
(pyfound.blogspot.com)요약:
- Anthropic이 PSF와 2년 파트너십을 체결하고 Python 생태계 보안 및 지속 가능성을 위해 총 150만 달러(약 21억 원)를 투자.
- 주요 목표는 PyPI(Python Package Index) 공급망 보안 강화로, 패키지 업로드 시 능동적인 자동 검토(automated proactive review) 도구 개발에 집중.
- 알려진 악성코드 데이터셋을 구축하여 기능 분석(capability analysis) 기반의 보안 도구를 설계하고, 이를 다른 오픈소스 생태계로도 확장할 계획.
상세요약:
-
투자 개요 및 배경
AI 모델 Claude의 개발사인 Anthropic은 Python Software Foundation(PSF)과 2년 간의 파트너십을 맺고 150만 달러를 기부했습니다. 이는 Python이 AI 개발의 '링구아 프랑카(공용어)'로서 가지는 중요성을 인정한 것으로, Python 생태계 전반의 보안과 지속 가능성을 높이는 데 사용될 예정입니다. -
오픈소스 보안 혁신: PyPI 공급망 방어
투자의 핵심은 CPython과 PyPI의 보안 고도화입니다.
- 능동적 검토(Proactive Review) 전환: 기존의 사후 대응(reactive) 방식에서 벗어나, PyPI에 업로드되는 모든 패키지를 사전에 자동으로 검토하는 새로운 도구를 개발합니다.
- 기술적 접근: 이를 위해 알려진 악성코드 데이터셋을 새롭게 구축하고, '기능 분석(capability analysis)'에 기반한 탐지 도구를 설계합니다.
- 생태계 확장성: 이 프로젝트의 결과물은 Python에 국한되지 않고, 다른 오픈소스 패키지 저장소(예: npm, Cargo 등)에서도 재사용할 수 있도록 설계되어 전반적인 오픈소스 생태계 보안 수준을 높이는 것을 목표로 합니다.
-
기존 로드맵과의 연계
이번 보안 강화 작업은 Alpha-Omega 프로젝트가 지원해 온 PSF 보안 상주 개발자(Security Developer in Residence) Seth Larson과 PyPI 안전 및 보안 엔지니어 Mike Fiedler의 기존 보안 로드맵 위에서 확장됩니다. Anthropic의 자금은 이들의 로드맵을 가속화하는 데 투입됩니다. -
Python 핵심 인프라 및 커뮤니티 지원
보안 외에도 투자금은 PSF의 핵심 운영 업무를 지원합니다.
- CPython 개발을 주도하는 'Developer in Residence' 프로그램 지원
- 커뮤니티 보조금(Grants) 및 프로그램 운영
- PyPI 등 핵심 인프라 유지보수 및 운영 비용 충당
제미니에게 설명부탁해봤습니다. 저도 보안 전담이 아니라서 모르겠군요.
[심층 리포트: PyPI와 OpenSSF가 주목하는 차세대 보안 기술 'Capability Analysis']
최근 오픈소스 생태계를 위협하는 공급망 공격이 지능화됨에 따라, PyPI(Python Package Index)와 OpenSSF(Open Source Security Foundation)는 기존의 패턴 매칭 방식을 넘어선 'Capability Analysis(기능/역량 분석)' 도입에 박차를 가하고 있습니다.
이 기술은 패키지가 "무엇인 척하는가"가 아닌, "실제로 무엇을 할 수 있는가"를 꿰뚫어 보는 것이 핵심입니다.
- Capability Analysis(기능 분석)란 무엇인가?
기존의 바이러스 검사가 '지명수배자 명단(알려진 악성코드 서명)'을 대조하는 방식이었다면, Capability Analysis는 패키지의 '행동 능력'을 검증하는 방식입니다.
아무리 정상적인 유틸리티로 위장했더라도, 시스템을 장악하거나 정보를 훔치려면 반드시 운영체제의 특정 자원(네트워크, 파일, 프로세스)을 사용해야 합니다. 이 분석 기술은 패키지가 코드를 실행할 때 다음과 같은 '민감한 권한(Capabilities)'을 행사하는지 추적합니다.
- 네트워크(Network): 설치 스크립트가 몰래 외부 IP로 데이터를 전송(Exfiltration)하거나 통신을 시도하는가?
- 파일 시스템(FileSystem): SSH 키, AWS 자격 증명, /etc/passwd 등 민감한 파일에 접근하거나 수정을 시도하는가?
- 프로세스 실행(Execution): 쉘(Shell) 명령어를 실행하거나, 코드를 동적으로 생성(eval, exec)하여 하위 프로세스를 만드는가?
- 실제 사용 및 추정되는 핵심 보안 도구
현재 OpenSSF 프로젝트 및 보안 연구 그룹에서는 이 분석을 수행하기 위해 다음과 같은 도구들을 개발하여 파이프라인에 적용하고 있습니다.
A. OpenSSF Package Analysis (공식 프로젝트)
- 개요: OpenSSF가 주도하는 프로젝트로, PyPI나 NPM에 올라오는 패키지를 격리된 샌드박스 환경에서 실제로 설치하고 실행해 봅니다.
- 작동 원리: 패키지가 실행될 때 발생하는 시스템 호출(System Calls)을 커널 레벨에서 가로채어, "이 패키지가 설치 도중 192.168.x.x로 접속을 시도했다"는 식의 행동 데이터를 수집합니다.
- 기술 스택: gVisor(샌드박스), Strace(시스템 호출 추적) 등을 활용합니다.
B. Packj (팩제이)
- 개요: 학계(조지아 공대 등) 연구를 바탕으로 개발된 도구로, 패키지의 '위험한 기능(Risky Capabilities)'을 태깅하는 데 특화되어 있습니다.
- 작동 원리: 정적 분석과 동적 분석을 병행합니다. 소스 코드 내에서 민감한 API 호출을 찾아내고, 패키지의 메타데이터를 분석하여 '버려진 패키지'인지, '타이포스쿼팅(이름 사칭)'인지 등을 판별합니다.
- 특징: "이 패키지는 오디오 라이브러리인데 네트워크 통신 기능과 주소록 접근 기능이 있다"와 같은 비정상적인 권한 조합을 감지합니다.
C. GuardDog (가드독)
- 개요: Datadog에서 공개한 CLI 도구로, Semgrep(정적 분석 엔진)을 활용하여 악성 패턴을 찾아냅니다.
- 작동 원리: 패키지 내에 숨겨진 난독화된 코드, 채굴기 스크립트, 실행 파일 다운로더 등 '악성 기능'이 구현된 코드 패턴(Heuristics)을 식별합니다.
D. Falco (팔코) & Sysdig
- 개요: 클라우드 네이티브 환경의 런타임 보안 도구입니다.
- 역할: 컨테이너 내부에서 패키지가 실행될 때 발생하는 비정상적인 행위(예: 예기치 않은 쉘 접속, 민감한 파일 읽기)를 실시간으로 탐지하는 엔진으로 활용됩니다.
- 관련 참고 자료 및 링크
해당 기술에 대한 더 깊은 이해를 위해 원문 프로젝트와 블로그를 참고하실 수 있습니다.
-
OpenSSF Package Analysis 공식 블로그 (발표 및 원리 설명)
https://openssf.org/blog/2022/… -
OpenSSF Package Analysis 깃허브 (소스 코드 및 아키텍처)
https://github.com/ossf/package-analysis -
Packj 깃허브 (도구 다운로드 및 상세 기능)
https://github.com/ossillate-inc/packj -
GuardDog 깃허브 (Datadog의 PyPI/NPM 악성 패키지 탐지 도구)
https://github.com/DataDog/guarddog -
PyPI Security 리포트 (악성 패키지 신고 및 처리 절차)
https://pypi.org/security/
아마 패키지를 받아서 코드를 실행하고 언팩하거나 정적분석, 동적분석 이런걸 하면서 코드가 뭐하는지 보는걸로 알고 있어요. 주로 악성코드가 저런식으로 퍼지니까요.