2016-06-03 4 views
4

github's docs에서 "프로젝트를 유지하고 요청을 체계적으로 안전하게"유지하는 방법으로 보호 지점을 언급합니다. 그러나 일부 연구를 한 후에는 모델에 실제 보안이 추가되지 않습니다. 다음 설명이 부정확합니까?github로 보호되는 지점은 실제 보안을 제공하지 않습니다.

github의 보호 분기는 status api를 'successful'으로 사용하여 태그 지정 커밋을 사용합니다. 그런 다음 합치기 요청이 API를 통해 성공적으로 태그 지정되지 않은 경우 github은 원하는 분기 (예 : 마스터)에 병합, 강제 푸시 등을 방지합니다.

리포지토리에 대한 푸시 액세스 권한이있는 사용자는 누구나 API를 통해 커밋에 수동으로 성공적인 상태를 적용 할 수 있습니다. 예를 들어

:

  • 사용자는 빌드가
  • 당김 요청이 상태로 병합하는 것을 허용하지 않습니다
  • GitHub의이
  • 개발자를 실패 실패한 테스트가의 마스터로 끌어 오기 요청을이 수동으로 API를 사용하여 테스트를 거치지 않고 커밋에 태그를 붙일 수 있습니다.
  • 실패한 코드가 보호 된 브랜치에 들어갑니다.

보호 된 지점은 좋은 코드 품질 검사를 제공 할 수 있지만 상태 API에 대한 제한이 없으므로 이러한 검사가 무시되는 것을 방지 할 수있는 방법은 없습니다.

+0

분명히 할 수 있습니까? 현재 설명이 정확한지 묻는 중입니까? –

+0

API를 수동으로 조작하여 보호 된 지점과 리포의 공식 워크 플로우를 의도적으로 우회 할 수있는 공동 작업자가 있다면 API를 수동으로 조작하여 리포의 공식 워크 플로우를 리커버리 할 수 ​​있습니다. 그 다음 사람은 코드에 백도어를 삽입 할 것입니다. –

+0

손상이 완료 될 때까지 누군가를 신뢰할 수 있는지 어떻게 알 수 있습니까? 우리는 특정 보안 인증에 대한 제 3 자 감사에 대한 응답으로 이러한 통제를 구현합니다. –

답변

0

내가 Github와 대화 한 후에 푸시 액세스 권한이 있으면 상태 API를 사용할 수 있다는 것을 확인했습니다. 사용할 수있는 미세한 제어 장치가 없습니다.

관련 문제