공개 리포지토리의 보안 취약점을 해결하는 PR을 처리하는 가장 좋은 방법은 무엇입니까?


22

공개 리포지토리가있는 오픈 소스 프로젝트는 안전하게보고되었지만 아직 공개되지 않은 보안 취약점을 해결하는 풀 요청 (PR)을 어떻게 가장 잘 처리해야합니까?

수백 명의 기고자와 함께 오픈 소스 프로젝트에 참여하고 있습니다. 정기적으로 예정된 월별 릴리스의 일환으로 1 년에 여러 번 보안 공지 및 취약점을 게시합니다. 패치 된 버전을 사용할 수있을 때까지 취약점에 대한 정보를 게시하지 않습니다. 프로젝트 관리 시스템 (JIRA)에서 보안 문제를 안전하게 관리 할 수 ​​있습니다. 그러나 보안 취약점이 GitHub에 제출 될 때이를 해결하는 PR을 가릴 수있는 좋은 방법은 없습니다. 우리는 사람들이 이러한 수정 프로그램을 출시하기 전에 찾아 제로 데이 익스플로잇을 생성 할 수 있을지 걱정합니다.

우리는 주요 리포지토리를 포크하는 개인 저장소를 사용하는 것을 고려했지만 현재 검토 및 QA 워크 플로 중 많은 부분이 PR에서 발생합니다. 워크 플로를 보안 팀 전용 개인 저장소로 이동하면 수정 프로그램이 공개 될 때 타르볼을 생성하고 sourceforge에 게시하는 데 걸리는 시간까지 창을 줄이므로 크게 개선됩니다. 또한 PR을 공개 베타에 병합하는 것을 피해야 할 것입니다.

그 방향으로 가기 전에 오픈 소스가있는 오픈 소스 프로젝트에서 시험판 보안 버그 수정 패치를 처리하는 가장 좋은 방법이 무엇인지 알고 싶습니다. GitHub와 다른 플랫폼을 사용하여 문제를 더 잘 해결할 수 있다면 GitLab으로의 마이그레이션을 평가하고 있다고 언급해야합니다.


1
모범 사례 설정이 있는지 확실하지 않습니다. GitLab은 본질적으로 개인 GitHub입니다. 오픈 소스 및 보안 수정 문제의 균형을 맞추는 것은 쉽지 않습니다. 보안 팀원이 아닌 사람들로부터 몇 개의 보안 수정 프로그램이 제공됩니까?
Berin Loritsch

대부분의 문제는 다른 사람들에 의해보고되지만 보안 팀에 속하지 않은 문제는 5/5 미만일 것입니다.
Joe Murray

1
내 의견으로는, 프로세스의 일부를 비공개로해야한다면 GitHub 외부에서해야합니다 (GH가 공개되기 때문에). 이 특정 부분이 완료되고 모든 사람이 코드를 검토 한 후; 공식 프로세스로 '돌아 가기'만하면 가능한 빨리 병합 될 GH에 대한 PR을 만들 수 있습니다. 프로세스에서 다른 도구를 사용하여 해당 예외를 관리 할 수 ​​있습니다.
Emerson Cardoso

2
즉각적인 완전 공개 (즉, 지연없이 공개)는 완벽하게 합법적 인 일입니다.
Miles Rout

1
이 질문은 보안 문제가 팀에 의해 공개되지 않는 한 세계에 알려지지 않은 것으로 가정합니다. 그것은 단순히 사실이 아닙니다. 발견 된 보안 문제는 어딘가에 의도가 나쁜 사람에 의해 알려진 것으로 간주됩니다. 이제 다른 사람이 이미이 문제에 대해 알고 있고 악용 할 수 있다고 가정하면 더 이상 정기 월별 릴리스까지 수정 릴리스를 연기 할 수 없습니다. 최대한 빨리 해제해야합니다. 이는 정기적 인 PR 흐름을 따르는 데 아무런 문제가 없음을 의미합니다. 최신 릴리스 브랜치, 병합, 태그, 릴리스에 대한 PR.
Jory Geerts

답변:


1

이를위한 프로토콜은 공개적으로 취약점을 보이는 위험 요소를 결정하는 것입니다. 보안 관련 사항이있을 경우 해당 PR은 보안 팀만 볼 수있는 개인 저장소에 있어야합니다. 풀 요청 생성 및 실행에 사용하는 플랫폼에 관계없이 적용됩니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.