CI에서 Codex Security를 실행하면 Pull Request나 병합 요청의 변경 사항을 검토하고 기본 브랜치를 스캔하며 보안 이슈와 스캔 범위를 기록으로 남길 수 있습니다. 워크플로우 구성, 보고서 처리, 정책 적용 옵션은 사용하는 CI 서비스의 가이드를 참고하세요.
워크플로우 준비
스캔을 실행하려면 Codex Security 접근 권한이 필요합니다. CI 서비스의 시크릿 저장소에 OpenAI API 키를 CODEX_SECURITY_API_KEY라는 이름으로 저장한 뒤, 스캔 프로세스의 OPENAI_API_KEY 환경 변수에 이 값을 연결하세요.
신뢰할 수 있는 리포지터리와 변경 사항만 스캔하세요. 스캔은 러너의 로컬 권한으로 실행되며 승인을 기다리지 않습니다. 스캔과 관련 없는 자격 증명과 배포 단계는 별도 작업으로 분리하세요.
승인된 Daybreak 모델 사용
Trusted Access for Cyber를 통해 Daybreak Blue를 사용하려면 GitHub Action의 model 입력값을 gpt-6-sol로, cyber-access-program 입력값을 daybreak_blue로 설정하세요. CLI에서 직접 스캔할 때는 --model gpt-6-sol과 --cyber-access-program daybreak_blue를 사용하세요.
Daybreak Blue가 활성화되어 있고 선택한 모델에 접근할 수 있는 프로젝트의 API 키를 사용하세요. 모델이나 프로그램을 지정하는 것만으로는 접근 권한이 부여되지 않습니다. GitHub Action 설정은 Daybreak 접근 권한 구성(선택 사항)을 참고하세요.
연동 방식 선택
GitHub Actions 워크플로우 추가
Pull Request 검사와 리포지터리 정기 스캔을 설정하려면 GitHub Actions 가이드를 참고하세요. Codex Security Action은 CLI를 설치하고 보고서를 저장하며 작업 요약과 소스 코드 주석을 추가합니다. 가이드에서는 러너 설정, 선택 사항인 Daybreak 접근 권한 구성, SARIF 업로드, 심각도 정책 적용을 다룹니다.
GitLab CI/CD 파이프라인 추가
병합 요청 스캔, 기본 브랜치 스캔, 정기 스캔을 설정하려면 GitLab CI/CD 가이드를 참고하세요. 먼저 스캔만 수행하는 파이프라인을 구성한 뒤 보고서 처리와 정책 적용을 추가하세요. 필요하면 보안 이슈를 수정하고 수정 결과를 검증하는 단계도 도입하세요.
다른 CI 시스템 사용
공개 패키지 @openai/codex-security를 설치하고 CLI를 직접 실행하세요. --auth api-key를 사용하고 리포지터리 전체 또는 변경 사항(diff) 중 스캔 대상을 선택하세요. 출력은 Git 작업 트리 외부의 비공개 디렉터리에 저장하세요. 러너에는 CLI 빠른 시작에 명시된 종속성이 갖춰져 있어야 합니다.
스캔 옵션, diff에서 비교할 리비전, 보고서 형식, 상태 및 출력 디렉터리, 재시도 방식은 CLI 레퍼런스를 참고하세요.
심각도 정책 선택
처음에는 스캔 결과를 참고용으로 활용하세요. 대표적인 보안 이슈와 스캔 범위, 비용, 실행 시간을 검토한 뒤 어떤 결과가 나오면 병합을 차단할지 결정하세요.
보안 이슈를 평가할 때는 스캔이 얼마나 빠짐없이 이루어졌는지도 확인하세요. 심각도 정책은 현재 스캔에서 발견한 보안 이슈 중 심각도가 설정된 임계값 이상인 이슈를 평가합니다. 리포지터리 요약에 표시되는 이전 스캔의 미해결 보안 이슈는 이 정책에 영향을 주지 않습니다. 스캔이 불완전하면 보안 이슈가 보고되지 않았더라도 검토하지 않은 영역이 남아 있을 수 있습니다.
Action 릴리스 action-v0.3.0에서 스캔 완료는 설정한 분석이 유효한 결과를 생성했다는 뜻입니다. 범위에서 제외된 항목이나 보류된 조사 등 스캔 범위에 관한 참고 사항이 있어도 심각도 정책은 그대로 적용됩니다. 스캐너나 필수 보고 단계에서 오류가 발생하면 작업이 실패합니다. CLI 0.3.0은 입력, 실행, 결과 무결성 또는 필수 출력에 문제가 생기면 종료 코드 2를 반환합니다. 결과를 평가할 때는 coverage.json을 확인하세요. 스캔이 완료되었다고 해서 모든 취약점을 발견했다는 보장은 없습니다.
GitHub Actions 가이드 또는 GitLab CI/CD 가이드에 따라 정책 적용 방식을 설정하세요. CLI를 직접 연동하는 경우에는 심각도 정책 적용 및 종료 코드를 참고하세요.