Codex Security Cloud에서 연결된 GitHub 리포지터리의 첫 스캔을 실행하고 보고된 보안 이슈를 검토하세요. 이후 새 커밋에 대한 모니터링을 활성화할 수 있습니다.
Codex Security Cloud는 Codex Cloud에서 스캔을 실행합니다. 데스크톱 앱이나 CLI에서 로컬 리포지터리를 스캔하려면 별도의 Codex Security 플러그인을 사용하세요.
시작하기 전에
Codex Security Cloud에 액세스할 수 있고 Codex Cloud 설정이 완료된 워크스페이스를 사용하세요. 스캔하려는 GitHub 리포지터리를 연결할 권한이 필요합니다. 해당 리포지터리의 클라우드 환경은 설정 과정에서 만들 수 있습니다.
플러그인을 사용할 수 없다면 워크스페이스 관리자에게 본인의 액세스 권한을 확인해 달라고 요청하세요. 원하는 리포지터리가 목록에 없으면 리포지터리 선택 화면에서 액세스 설정을 열고 GitHub 앱이 어떤 조직과 리포지터리에 액세스할 수 있는지 확인하세요. 직접 권한을 부여할 수 없다면 GitHub 관리자에게 리포지터리를 추가해 달라고 요청하세요.
1. 플러그인 설치 및 열기
- ChatGPT 웹 또는 데스크톱 앱에서 플러그인을 여세요.
- 플러그인 마켓플레이스에서 Codex Security Cloud를 검색하세요.
- 플러그인을 설치하고 활성화한 다음, 설치된 플러그인 목록이나 사이드바에서 Security Cloud를 여세요.
2. GitHub 연결
워크스페이스에 Codex Cloud가 설정되어 있는지 확인하세요. 플러그인에서 스캔을 선택하세요. 연결 안내가 표시되면 GitHub 연결을 선택하고 본인의 GitHub 계정으로 로그인하세요. 스캔을 시작하는 사람은 각자 자신의 계정을 연결해야 하며, 해당 리포지터리에 대한 액세스 권한도 있어야 합니다.
Codex Security Cloud는 워크스페이스 단위의 연결을 지원하지 않습니다.
3. 리포지터리 스캔 시작
- 새 스캔에서 리포지터리를 선택하세요.
- 환경을 확인하세요. 자동을 선택하면 스캔을 시작할 때 환경이 생성됩니다. 기존 환경을 선택하려면 사용자 지정을 사용하세요. 자세한 설정 방법은 Codex Cloud 환경을 참고하세요.
- 스캔 방식에서 일회성 스캔을 선택하세요.
- 만들기를 선택하세요.
스캔 목록에서 해당 스캔을 열어 진행 상황을 확인하세요. 스캔이 끝나면 보고된 보안 이슈를 해석하기 전에 스캔 상태와 대상을 확인하세요. 스캔이 실패하거나 취소된 경우에는 그때까지 나온 결과를 부분적인 검토 결과로 해석하세요.
4. 보안 이슈 및 수정 방법 검토
보안 이슈를 여세요. 미해결 보안 이슈에서 상태가 신규, 분류 완료 또는 진행 중인 이슈를 검토하세요. 목록을 검색하거나 필터를 사용해 결과를 좁히세요. 심각도 및 상태 차트에서 조건에 맞는 보안 이슈의 분포를 확인할 수 있습니다.
미해결 보안 이슈를 필터링하고 검토하세요. 화면에 표시된 리포지터리, 보안 이슈, 건수는 모두 가상의 예시입니다.
스캔 결과나 보안 이슈에서 개별 이슈를 여세요. 영향을 받는 코드와 리비전, 공격자가 이용할 수 있는 경로, 검증 근거를 확인하세요. 아직 검증되지 않은 가정이 있다면 그 내용을 살펴본 뒤 해당 이슈가 실제로 적용되는지 판단하세요. 스캔에서 보안 이슈가 보고되지 않았더라도 리포지터리에 취약점이 없다고 단정할 수는 없습니다.
리포지터리 보안 이슈에 표시된 Codex로 수정 옵션을 선택하면 Codex 대화가 시작됩니다. Codex는 현재 코드를 기준으로 이슈를 확인하고 수정 사항을 구현한 뒤 관련 테스트를 실행합니다. 해당 대화에서 변경 사항과 테스트 결과를 검토하세요.
커밋 모니터링에서 보고된 보안 이슈에는 패치가 제안될 수 있습니다. 초안 pull request 만들기를 선택하기 전에 제안된 패치를 검토하세요. 각 작업의 결과가 다르므로 해당 이슈에 표시된 워크플로우를 따르세요.
5. 새 커밋 모니터링
첫 스캔 결과를 검토한 뒤에는 새 커밋이 추가될 때마다 변경 사항을 모니터링할 수 있습니다.
- 스캔을 선택한 다음 리포지터리를 선택하고 환경을 확인하세요.
- 스캔 방식에서 지속적 스캔을 선택하세요. Codex Security는 리포지터리의 기본 브랜치를 스캔합니다.
- 커밋 기록 스캔 시작 시점 항목에서 기간을 선택하세요. 기간이 길수록 더 많은 맥락을 파악할 수 있지만 첫 스캔에 시간이 더 걸립니다.
- 필요한 경우 위협 모델의 범위를 정하는 데 참고할 지침을 추가하세요.
- 만들기를 선택하세요.
지속적 스캔을 설정하세요. 화면에 표시된 리포지터리는 가상의 예시입니다.
모니터링을 조정하려면 리포지터리를 열고 대상 리포지터리를 선택한 다음 모니터링 설정을 여세요. 클라우드 환경을 변경하고, 며칠치 커밋 기록을 검토할지 선택하고, 모니터링을 일시 중지하거나 활성화할 수 있습니다. 변경 사항을 적용하려면 저장을 선택하세요.
스캔 소유자, 편집 권한을 부여받은 사용자, Codex Security 관리자는 모니터링 설정을 변경할 수 있습니다. 모니터링 일시 중지를 포함한 모든 변경 사항은 해당 리포지터리의 공유 설정에 적용되므로 워크스페이스의 다른 사용자에게도 영향을 줍니다. 설정을 편집할 수 없다면 스캔 소유자나 Codex Security 관리자에게 변경을 요청하세요.
모니터링 설정에서 생성된 위협 모델을 검토하고, 코드만으로 확인할 수 없는 배포 환경이나 보안 관련 정보를 추가하세요. 위협 모델 개선을 참고하세요.
빌드, 검증, 결과 해석에 관한 질문은 클라우드 FAQ를 참고하세요. GitHub pull request를 검토하려면 보안 검토를 사용하세요.