문서

공개 정책

Coroid에서 비공개 취약점의 세부 정보를 어떻게 내부에 보관하는지, 해당 정보가 GitHub에 표시되거나 알림 및 내보내기 파일에 포함되는 방식, 그리고 비공개 수정 사항이 어떻게 배포되는지를 설명합니다.

수정이 완료되기 전에 취약점 세부 정보를 공개하면 공격자에게 더 유리할 뿐입니다. 보안 기능은 비공개 상태인 모든 취약점의 세부 정보를 Coroid 내부에 보관하며, 언제 외부로 공개할지는 권한을 가진 사용자만 결정합니다.

공개 및 비공개

각 취약점은 다음 두 종류 중 하나입니다:

  • 공개: 이미 공개된 취약점으로, 예를 들어 공개된 권고안이 있는 종속 라이브러리의 경우입니다. 수정용 Pull Request에는 해당 권고안이 명시될 수 있습니다.
  • 비공개: 그 외의 모든 경우로, 감사 과정이나 Coroid 리뷰, 코드 규칙 검사에서 발견된 자체 코드 내 문제나 유출된 인증 정보 등이 여기에 해당합니다.

취약점이 공개되는 경우는, 철회되지 않은 공개 권고안과 연동되거나 소유자 또는 관리자가 비공개 수정 사항을 배포할 때뿐입니다.

공개 제어 장치

Coroid에서 Coroid 외부로 공개되는 모든 내용은 먼저 공개 제어 장치를 거칩니다: 리뷰 본문, 인라인 리뷰 코멘트 및 요약, 검사 결과 및 주석, pull request 제목 및 설명, 커밋 메시지, 이슈 코멘트, Slack 및 이메일 메시지, 내보내기 파일 등이 해당됩니다. 이 장치는 텍스트 내에 포함된 보안 문제 여부를 확인하며, 확인 여부와 관계없이 적용됩니다.

공개 저장소이거나 Coroid가 그 가시성을 확인할 수 없는 저장소의 경우, 비공개 취약점은 링크가 포함된 중립적인 문구로 대체됩니다:

Coroid에서 잠재적 보안 문제를 발견했습니다. 세부 정보는 Coroid에서 확인할 수 있습니다.

비공개 저장소의 경우, 해당 텍스트가 그대로 공개됩니다. 아직 확인되지 않은 취약점의 경우 "확인되지 않은 보안 문제: Coroid에서 아직 검증하지 않았습니다"라는 표시가 붙습니다.

인증 정보는 어디에서나 항상 마스킹 처리됩니다. 자세한 내용은 다음을 참조하세요유출된 기밀 정보.

저장소 가시성

Coroid는 저장소가 비공개임을 명확히 나타내는 최근 읽기 결과가 GitHub의 이벤트를 통해 또는 GitHub에 직접 문의하여 1시간 이내에 확보된 경우에만 해당 저장소를 비공개로 간주합니다. 내부 저장소는 공개로 분류됩니다. 만약 구분할 수 없다면 해당 저장소를 공개로 처리합니다.

알림 및 내보내기

  • 종 모양 아이콘: 비공개 취약점의 경우 종 모양 아이콘에는 심각도와 프로젝트명만 표시되며, 예로 "심각한 취약점을 조치해야 합니다"라는 메시지와 함께 보안 섹션의 해당 취약점으로 연결되는 링크가 포함됩니다.
  • Slack 및 이메일에는 취약점이 조치가 필요하다는 내용과 링크만 포함되며, 취약점 세부 정보나 코드는 포함되지 않습니다.
  • 내보내기: CycloneDX 내보내기 파일에는 공개된 취약점만 목록에 포함됩니다. 조직 설정 번들에는 취약점 정보가 전혀 포함되지 않습니다.

공개 저장소에서의 수정 작업

비공개 저장소에서는 비공개 취약점에 대한 수정 사항이 일반적인 pull request로 처리됩니다. 커밋 메시지와 설명에는 공격 내용이 아닌 수정 내용이 기술됩니다.

공개 저장소이거나 Coroid가 그 가시성을 확인할 수 없는 저장소의 경우, 공개된 pull request, 브랜치 또는 커밋을 통해 수정 전에 취약점이 노출될 수 있습니다. 따라서 Coroid는 그러한 수정 사항을 해당 저장소에 커밋하지 않습니다. 수정 작업은 취약점 세부 정보를 밝히지 않고 중단되며, 준비된 변경 사항은 "비공개 수정 사항"으로 보관됩니다.비공개 수정 사항.

비공개 수정 사항

비공개 수정 사항이 적용된 취약점은 "비공개 수정 사항" 섹션에 표시됩니다.비공개 수정 사항. 소유자와 관리자만 이를 확인할 수 있습니다.

  • 수정 사항 다운로드는 준비된 변경 사항을 "파일"로 저장하여 직접 검토하거나 적용할 수 있도록 합니다..patch파일은 직접 검토하거나 적용할 수 있습니다.
  • 배포는 해당 취약점이 이제 공개되었음을 기록하고, 준비된 변경 사항을 그대로 적용하여 pull request를 열도록 하는 작업을 생성합니다. 조정된 배포 일정이 정해진 등 수정 사항과 취약점이 공개될 준비가 되면 배포 버튼을 누르세요. Coroid에서 직접 배포하기에 너무 큰 수정 사항도 다운로드하여 수동으로 적용할 수 있습니다.
  • 삭제는 준비된 변경 사항을 삭제합니다.

배포 및 삭제 내역은 조직 감사 로그에 기록되며, 둘 다 Coroid에서 준비된 변경 사항을 삭제합니다.

아무도 배포하거나 삭제하지 않는 비공개 수정 사항은 제한된 기간 동안 보관됩니다. 180일이 지나면 소유자와 관리자에게 알림이 발송되고, 365일이 되면 해당 수정 사항이 삭제되며 이에 대한 안내가 전달됩니다.

계획됨

  • 프로젝트별 보안 담당자, 소유자 및 관리자와 함께 비공개 수정 사항을 검토하고 배포할 수 있는 권한을 가집니다.
  • GitHub 비공개 포크: GitHub 저장소의 보안 권고안에 속한 비공개 포크에서 회귀 테스트까지 포함하여 수정 사항을 준비하는 방식으로, Coroid에 보관하는 대신 사용합니다.
  • 유지 관리자에게 보고서 전송: 종속성 코드에 취약점이 존재할 경우, 유지보수자에게 전달할 비공개 보고서를 작성하며, 이 보고서는 반드시 사람이 직접 발송합니다.