공개 제원 및 실행 환경
Apache-2.0 라이선스로 공개된 Codex Security는 사용자가 소유하거나 평가 권한을 가진 코드의 보안 문제를 찾고 검증하며 리뷰하는 CLI 및 TypeScript SDK다. 실행을 위해서는 Node.js 22 버전 이상이 필수적이며, 스캔 및 결과 내보내기 기능을 사용하려면 Python 3.10 버전 이상이 필요하다. Python 3.10 환경에서는 `tomli` 패키지를 추가로 설치해야 한다.
기본적으로 적용된 모델은 `gpt-5.6-sol`이며, 추론 강도는 'extra-high reasoning effort'로 설정되어 있다. 사용자는 `--model` 옵션을 통해 모델을 변경할 수 있으며, `--codex` 옵션으로 세부 설정을 조정한다. 인증은 OpenAI 계정 로그인 또는 `OPENAI_API_KEY`, `CODEX_API_KEY` 환경 변수를 통해 수행한다.
작동 방식 및 분석 파이프라인
스캔 파이프라인은 요청된 경로 확인, 랭킹, 파일 리뷰, 검증, 공격 경로(attack-path) 분석의 단계로 처리된다. `npx codex-security scan` 명령어를 통해 개별 저장소를 분석하며, GitHub 저장소의 경우 `bulk-scan`을 통해 최근 90일 이내에 푸시된 저장소를 탐색하고 선택적으로 스캔할 수 있다. 분석 결과는 `toon`, `json`, `yaml`, `jsonl` 형식으로 출력이 가능하며, 보안 표준 포맷인 SARIF(Static Analysis Results Interchange Format)로 내보내어 `<scan-dir>/exports/results.sarif` 경로에 저장한다.
인프라 수준의 격리를 위해 Docker 이미지가 제공된다. 이 이미지는 비대화형 일괄 스캔을 지원하며, 포함된 `compose.yaml`은 모든 리눅스 기능을 제거(drop all capabilities)하고 새로운 권한 부여를 방지하며 비루트(nonroot) 사용자로 실행되는 강화된 샌드박스 환경을 구성한다. 특히 Docker의 기본 seccomp 프로필이 샌드박스에 필요한 사용자 및 마운트 네임스페이스를 차단하므로, 전용 seccomp 프로필을 적용해 필요한 네임스페이스 작업만 허용하는 구조를 갖췄다.
에이전트 친화적인 발견과 구조화된 출력을 위해 Incur를 사용하며, MCP(Model Context Protocol) 서버 등록을 통해 읽기 전용 메타데이터 명령을 노출한다. 다만 스캔, 인증, 내보내기, 검증, 패치 작업은 MCP 전송 계층에서 활성 스캔을 취소할 수 없으므로 CLI에서만 수행 가능하다.
도입 제약 및 운영 영향
CI/CD 파이프라인에 도입할 때는 `--fail-on-severity` 옵션을 통해 특정 심각도 이상의 취약점이 발견될 경우 종료 코드 1을 반환하도록 설정해 빌드를 차단할 수 있다. 런타임 오류나 불완전한 커버리지의 경우 종료 코드 2를 반환한다. 또한 `install-hook`을 설정하면 커밋 전 staged 및 unstaged 변경 사항을 자동으로 스캔하여 고위험 취약점이 포함된 커밋을 방지한다.
출력 디렉터리 설정에는 엄격한 제약이 따른다. 결과 저장 경로는 반드시 스캔 대상 디렉터리 및 이를 포함하는 Git 워크트리 외부에 위치해야 하며, macOS와 Linux에서는 해당 디렉터리의 권한이 현재 사용자에게만 제한된 `chmod 700` 상태여야 한다. 데이터 처리량에도 상한선이 존재하여 매니페스트 16MiB, 결과물 128MiB, 커버리지 32MiB를 초과하는 스캔은 봉인(sealing) 전 단계에서 거부된다.
실무자는 대규모 저장소의 일괄 분석이 필요할 경우, 대화형 CLI보다는 전용 seccomp 프로필이 적용된 Docker 이미지와 CSV 기반의 비대화형 워크플로우를 선택해야 한다.




