현재 상황을 상상해보십시오.Maven : 저장소 및 pluginRepositories의 보안 문제가 pom에 정의되어 있습니까?
귀하는 개발자이며 새로운 (오픈 소스) 프로젝트에 참여하고 싶습니다. 프로젝트는 다른 방법으로 빌드 할 수 있습니다. 그 중 하나는 Maven입니다.
지금 소스 코드 저장소를 다운로드하여 시스템에 대한 이해에서 여러 보안 위험에 노출되는 빌드 프로세스를 시작하는 경우 :
메이븐 [아니라 플러그인] 저장소가 HTTP를 통해 액세스되는 기본 -을 통해 중간자 공격 (Man-in-the-Middle attack)으로 누군가가 당신에게 조작 된 패키지를 보낼 수 있습니다. 도청 된 플러그인 저장소의 경우 빌드 프로세스의 일부로 주입 된 코드로 이어질 수 있습니다.
파일 pom.xml에서 제 3 자 저장소 및 플러그인 저장소를 추가 할 수 있습니다. 공격자가 자신의 플러그인 저장소를 (예 : 오픈 소스 프로젝트의) 프로젝트 pom.xml에 추가 관리하고 다른 플러그인을 공격 할 수있는 경우 타사 저장소의 경우 확실하지 않습니다 - 프로젝트 pom.xml에 정의 된 저장소가 사용자 또는 시스템 수준에서 정의 된 저장소를 대체 할 수 있습니까? 내 관점에서
이 심각한 보안 문제입니다 - 또는 실수 설명이있다?
Maven 기반 프로젝트가있는 경우 - Maven을 실행하는 것이 안전한지 어떻게 확인할 수 있습니까? 신뢰할 수있는 리포지토리 목록이 있습니까 (실행되는 컴퓨터에 해를 끼치 지 않는 코드 만 포함)?
저장소 감염에 대해 언급 한 적이 없습니다. DNS 스푸핑이나 Man-in-the-middle을 통해 감염된 저장소로 리디렉션하는 방법에 대해 이야기했습니다. POM에 대해 이미 Maven을 사용하지 않는 프로젝트가 누군가에 의해 "mavenized"된 경우가있었습니다. 그 사람이 패치를 보내고 패치가 저장소에 통합되었습니다. 패치가 커밋하는 데 가치가 있는지 여부를 프로젝트 관리자 (누가 잘 모르는 사람)가 결정해야합니까? – Robert