해커들이 오픈 소스 소프트웨어를 악용하여 악성 코드를 머신에 주입하려 시도하고 있으며, 이는 라이브러리나 애플리케이션 사용자에게도 영향을 미칠 수 있습니다. 최근에는 손상된 패키지 릴리스 및 클라우드 액세스 토큰을 훔치기 위해 설계된 가짜 패키지를 포함하여 여러 가지 위험한 PyPI 보안 문제가 발생했습니다. 한 예로, 손상되어 코인마이너를 다운로드하는 코드를 포함한 ultralytics 패키지가 있습니다. 또 다른 예로는 클라우드 액세스 토큰을 훔치는 가짜 패키지 캠페인이 있었으며, 삭제되기 전에 14,100회 이상 다운로드되었습니다. 이러한 문제를 예방하기 위해 Python의 공식 패키지 스캔 기술인 pip-audit를 지속적인 통합 및 유닛 테스트에 통합할 수 있습니다. Pip-audit는 PyPA의 공식 취약성 목록을 확인하며, 명령줄에서 실행하거나 GitHub Action으로 설정할 수 있습니다. 또한 프로젝트의 개발 종속성에 추가하거나 전역적으로 설치할 수 있으며, pip-audit를 실행하고 문제가 발견되면 실패하도록 유닛 테스트를 만들 수 있습니다. 종속성 업그레이드에 지연을 추가함으로써 개발자는 악성 패키지 설치 위험을 줄일 수 있습니다. 문제는 종종 며칠 내에 보고되고 해결되기 때문입니다. 이는 uv의 기능을 사용하여 특정 기간 동안 최신 패키지를 제외하는 등 종속성 업그레이드에 지연을 두는 방식으로 수행할 수 있습니다. Pip-audit와 종속성 업그레이드 지연을 결합함으로써 개발자는 워크플로우에 추가적인 보안 계층을 추가하고 악성 패키지 설치 위험을 줄일 수 있습니다. 전반적으로 pip-audit를 통합하고 종속성 업그레이드에 지연을 추가하면 악성 패키지 설치를 방지하고 보안 문제의 위험을 줄이는 데 도움이 될 수 있습니다.
mkennedy.codes
"Michael Kennedy's Thoughts on Technology": Python Supply Chain Security Made Easy
Create attached notes ...
