문서

보호 조치 및 적용

각 보안 보호 조치의 활성화 방법, observe와 enforce의 의미, 그리고 적용이 준비 게이트를 통과할 때까지 대기하는 이유를 설명합니다.

보안 → 설정에는조직 기본값이 있으며 각 프로젝트는 이 기본값을 따릅니다. 누군가 별도의 설정을 지정하기 전까지는 모든 프로젝트가 동일한 기본값을 사용합니다;기본값 사용하면 기본값으로 되돌릴 수 있습니다. 소유자와 관리자는 설정을 변경할 수 있고, 구성원은 해당 설정을 읽기 전용으로만 확인할 수 있습니다.

Observe와 enforce

각 보호 조치는 두 가지 별개의 상태를 가집니다:

  • Observe: 탐지, 기록 및 표시를 수행합니다. 발견 사항은 보안 섹션에 나타나며, Coroid Security풀 요청 검사에서 해당 발견 사항을 보고하지만 검사를 실패시키지는 않습니다.
  • Enforce: 검사를 실패시킵니다. 선택된 심각도 이상의 발견 사항을 유발하는 변경 사항은 검사를 실패시키며, Coroid의 작업도 그 단계를 넘어서 풀 요청을 생성하지 않습니다.

적용에는 범위별로 세 가지 옵션이 있습니다:

옵션의미
상속 (기본값)해당 보호 조치의 플랫폼 준비 게이트를 통과한 후에 적용됩니다.
적용이 범위에 대해 명시적으로 선택한 설정과 동일합니다.
Observe만플랫폼의 상태와 관계없이 절대 검사를 실패시키지 않습니다.

**모든 보호 조치는 처음에는 observe 상태로 시작됩니다.**Coroid는 해당 보호 조치가 준비 게이트를 통과한 후에만 적용를 활성화합니다. 종속성의 경우에는 커버리지 테스트와 잘못된 차단이 없는 관찰 기간이 필요하며, 비밀번호 및 코드 규칙의 경우에는 아래에 설명된 보정 과정과 동일한 관찰 기간이 요구됩니다. 그전까지는 상속 또는 적용으로 설정된 보호 조치는 observe 상태를 유지하며, 설정에도 그렇게 표시됩니다. 게이트를 통과하면 상속으로 설정된 항목은 모두 적용 상태가 되고, Observe만으로 설정된 항목은 계속 observe 상태를 유지합니다.

적용은 "GitHub가 병합을 방지한다"는 것과 같지 않습니다. GitHub는 저장소에서Coroid Security검사가 필수인 경우에만 병합을 차단합니다. 자세한 내용은GitHub 권한과 Coroid 보안 검사를 참조하세요..

보정된 규칙

유출된 비밀번호와 코드 스캔은 보정 과정을 통과한 탐지기 버전에서만 적용됩니다. 실제 코드와 합성 비밀번호로 구성된 레이블이 있는 데이터셋에서 측정한 정확도와 재현율, 실제 병합된 변경 사항을 재실행하여 측정한 잘못된 차단률, 반드시 통과해야 하는 오류 사례 기록, 그리고 잘못된 차단이 없는 14일간의 관찰 기간이 이에 해당합니다.

새 탐지기 버전이 자동으로 적용를 담당하지는 않습니다. 이전에 승인된 버전이 새 버전이 observe 상태로 작동하는 동안 적용를 계속 담당하며, 새 버전은 자신의 보정 과정을 통과한 후에야 적용를 맡게 됩니다. 승인된 버전이 작동할 수 없으면 적용된 보호 조치는 자신을 사용할 수 없다고 보고하며 검사를 실패시키고, 무조건 통과시키지는 않습니다.

설정

보호 조치전환조정
취약한 종속성Observe적용; "이상부터 적용" (기본값: 높음)
취약한 종속성 수정켜기 또는 끄기"이상부터 수정 작업 개시" (기본값: 높음); 프로젝트별 pull request 개방 수정 제한 (기본값: 5개, 최대 50개); 에이전트 시간 예산은 조직 기본값을 따릅니다.
유출된 비밀번호Observe적용. 조직 기본값에서만 적용: 새 비밀번호 차단 및 가장 큰 변경 사항 스캔.
코드 스캔Observe적용; 사용자 지정 스캔 명령; 규칙 목록
풀 요청에 대한 보안 리뷰Observe적용; "이상부터 적용" (기본값: 높음)
GitHub 보안 알림Observe없음
보안 감사켜기 또는 끄기실행 주기: 매일, 매주(기본값) 또는 매월

일부 보호 조치는 다른 요소에 의존합니다:

  • 풀 요청에 대한 보안 리뷰는 프로젝트의 품질 관리에서 Coroid 리뷰가 활성화되어 있어야 합니다. Coroid 리뷰가 비활성화되면 해당 행에 그 사실이 표시되고 보호 조치는 아무 작업도 수행하지 않습니다.
  • 취약한 종속성 수정조직 기본값 설정은 내장된 보안 수정 명령을 켜거나 끕니다. 자세한 내용은 풀 요청 수정.
  • 보안 감사는 사용자가 설정을 변경하지 않는 한 계획에 따라 작동합니다. 유료 요금제에서는 켜지고 무료 요금제에서는 꺼집니다. 자세한 내용은보안 감사.

보안 기능은 품질 관리에서 지정한 설정대로 작동합니다.

보안 기능의 보호 조치는 품질 관리의 제어 수단에 의존하지 않습니다. 품질 관리에서 안티슬롭 기능을 비활성화하면 해당 기능의 품질 규칙만 적용이 중지될 뿐, 보안의 코드 규칙에는 영향을 주지 않습니다. 풀 요청 시에는Coroid Security자체 검사를 수행하며, 프로젝트에 게시된 Delivery 그래프가 있는지 여부와 관계없이 동작합니다.

스캐너 구성은 Coroid에서 가져옵니다.

스캐너는 Coroid가 이 설정들과 보안에서 허용된 예외 사항을 바탕으로 생성한 구성으로 실행되며, 테스트 대상 변경 사항에 포함된 파일로부터는 구성 정보를 가져오지 않습니다. 스캐너 구성을 추가하거나 수정하는 변경 사항(osv-scanner.toml, .gitleaks.toml, .gitleaksignore, .github/secret_scanning.yml, .secrets.baseline및 유사 항목)은 기본 커밋의 구성 하에서 검증되며 결과적으로security.policy-changed결과가 도출됩니다. 저장소 파일을 통해 예외 사항을 제안할 수 있지만, 이는 소유자나 관리자가 보안 설정에서 해당 예외를 승인한 경우에만 적용됩니다. 동일한 규칙은 Coroid 자체의 수정 작업에도 적용됩니다. 즉, 에이전트가 제외 항목을 변경하여 자체 검사를 통과시키는 것은 불가능합니다.

설정은 조직과 함께 이동합니다.

이security설정은 다른 품질 정책과 함께 조직 설정 번들의 일부이며, 각 프로젝트의 최신 위협 모델도 마찬가지입니다. 예외 사항, 결과 및 증거는 설정이 아닌 결과물이며 이동하지 않습니다. 자세한 내용은설정 이식성.