Codex Security CLI and SDK의 개요
Codex Security는 OpenAI의 모델 기반 취약점 스캐너이며, 이 저장소에는 명령줄 도구(cs 또는 codex-security), TypeScript SDK, Codex 플러그인, GitHub Action이 들어 있습니다. 저장소, 선택한 경로, Git diff를 스캔해 소스 근거가 담긴 Markdown 보고서를 저장하고, 발견 사항 검증, 패치 생성, 수정 확인, SECURITY.md 초안 작성, SARIF, JSON, CSV 내보내기를 할 수 있습니다. 발견 사항은 Linear, Jira, GitHub로 보낼 수 있습니다.
분석은 모델 제공업체에서 실행됩니다. ChatGPT 로그인이나 API 키를 통한 OpenAI, 또는 Amazon Bedrock, OpenRouter, Fireworks AI, Cheaper Inference를 쓸 수 있습니다. 클라이언트는 Apache-2.0이며 2026년 7월 말부터 공개되어 있고, npm v0.10.0은 2026년 11월 12일에 나왔습니다.
Codex Security CLI and SDK, 쓸 만한 가치가 있습니까?
진지하고 빠르게 발전하는 보안 도구이며, 제공업체가 스스로의 한계를 드물 만큼 자세히 문서화합니다. 패턴을 대조하는 대신 리뷰어처럼 모델이 코드를 맥락 속에서 읽고, 발견 사항마다 근거를 저장해 사람이 추론을 확인할 수 있게 합니다. Standard 스캔, Standard 스캔을 반복하고 중복을 제거하는 Deep 스캔, 풀 리퀘스트용 diff 스캔, SARIF 내보내기로 보안팀이 CI에서 필요로 하는 대부분을 다룹니다.
이 도구는 무엇에 접근할 수 있는지가 대부분의 도구보다 더 중요합니다. SECURITY.md에 따르면 도구는 로컬 계정으로 실행되므로, 신뢰하는 저장소만 스캔하라고 안내합니다. 정책 생성은 선택한 소스에 읽기 전용으로 접근하며 네트워크, 웹, 앱, MCP가 꺼집니다. 발견 사항 검증도 읽기 전용이고 네트워크와 웹 검색이 꺼지며, 빌드, 테스트, 개념 증명 익스플로잇, 애플리케이션 실행은 하지 않습니다. 쓰기를 하는 단계는 패치입니다. 샌드박스가 시작되는지 먼저 확인하고 안 되면 SANDBOX_UNAVAILABLE로 거부합니다. 반면 --external-sandbox를 쓰면 Codex의 파일과 네트워크 통제가 꺼지고 격리는 사용자의 컨테이너에 맡겨집니다. Deep 스캔 워커는 읽기 전용이지만 OpenAI의 표현으로는 격리된 오프라인 환경이 아니며, 상위 세션의 MCP 서버를 물려받습니다. 코드는 선택한 모델 제공업체로 전송됩니다.
주의할 점: 클라이언트는 공개되어 있지만 스캐너의 실체는 비용을 내고 쓰는 모델이며, 일부 요청과 보호된 발견 사항에는 OpenAI의 Trusted Access for Cyber 프로그램이 필요합니다. 비용은 추정치이고, --validate는 --max-cost와 함께 쓸 수 없으며, 문서는 macOS에서 /tmp 아래 쓰기 제한이 완전히 적용되지 않는다고 경고합니다. 프로젝트는 빠르게 움직여 스타 12,856개, 열린 이슈와 풀 리퀘스트 156건이 있고 최근 버전의 changelog에는 업그레이드 안내가 있습니다. 따라서 README가 요구하는 대로 Action을 검토한 커밋 SHA에 고정해야 합니다.
결론: 가장 잘 맞는 자리는 풀 리퀘스트 diff와 주간 전체 스캔이며, 패치를 병합하기 전에 모든 보고서를 사람이 읽어야 합니다. 실행당 저렴하고 결과가 결정적인 Trivy나 Semgrep 같은 기존 스캐너를 대체하기보다 그 옆에 함께 두는 도구입니다.
제 역할을 하는 곳
저장소 40개에서 GitHub Actions를 운영하는 플랫폼팀
새 SaaS 계약 없이 저장소별 주간 취약점 보고서를 받고 싶다
주간 워크플로를 복사하고 CODEX_SECURITY_API_KEY를 추가한 뒤 검토한 커밋 SHA에 고정합니다. 예제는 스캔당 추정 $5로 제한하고, 작업을 실패시키지 않고 발견 사항을 보고합니다.
결제 서비스를 검토하는 보안 엔지니어
병합 전에 풀 리퀘스트 변경에서 인증과 인젝션 버그를 확인하고 싶다
cs scan . --diff origin/main은 커밋된 변경만 스캔합니다. --validate는 각 발견 사항을 읽기 전용으로 다시 확인하며 네트워크와 웹 검색은 꺼집니다. 검증 호출은 비용 집계에 들어가지 않으므로 지출을 지켜봐야 합니다.
직원 30명 규모 SaaS 회사의 보안 책임자
주요 API의 SECURITY.md와 위협 모델을 작성하고 싶다
cs policy . --path services/api는 저장소 밖에 정책 초안을 만들고 기존 파일은 건드리지 않습니다. cs export로 저장된 위협 모델을 Markdown으로 꺼내 검토합니다.
도입 전 확인할 점
- 설정
- Node.js 22.13 이상(22.x), 24.x 또는 26.x와 Python 3.10 이상이 필요합니다. npm install --global @openai/codex-security, cs login 후 저장소에서 cs scan .을 실행합니다. CI에서는 OPENAI_API_KEY나 CODEX_API_KEY를 씁니다.
- 연동
- Codex 플러그인, TypeScript SDK, GitHub Action, GitLab CI, Docker Compose 일괄 스캔, Linear, Jira, GitHub 이슈, SARIF, JSON, CSV, ServiceNow 내보내기, CrowdStrike 등 다른 스캐너 결과 가져오기를 지원합니다.
- 데이터와 개인정보
- 소스는 설정한 모델 제공업체로 전송됩니다. 스캔 상태는 로컬 디렉터리에 남습니다. --codex analytics.enabled=false를 넘기지 않으면 Codex 사용 분석이 켜져 있습니다. 로컬 계정으로 실행되며, Deep 스캔 워커는 상위 세션의 MCP 서버를 물려받습니다.
- 대규모 사용 시 비용
- 스캔마다 모델 사용료가 들고, Deep 스캔은 Standard 스캔을 반복하므로 더 비쌉니다. --max-cost와 --max-total-cost로 추정 한도를 정하며, GitHub Actions 사용 시간은 별도입니다.
- 제한
- 비용 한도는 추정치라 진행 중인 요청이 넘을 수 있습니다. 드라이 런은 Deep 스캔 샌드박스를 검증하지 않습니다. macOS에서는 /tmp 아래 쓰기 제한이 완전히 적용되지 않으며, 일부 발견 사항에는 Trusted Access for Cyber가 필요합니다.
좋은 점
- 발견 사항마다 소스 근거를 저장합니다
- 검증은 읽기 전용이며 네트워크와 웹 검색이 꺼집니다
- diff 스캔, SARIF 내보내기, 고정된 GitHub Action이 CI에 맞습니다
- OpenAI, Bedrock, OpenRouter, Fireworks AI에서 동작합니다
아쉬운 점
- 내 계정으로 실행되며, Deep 스캔 워커는 격리되지 않고 MCP 서버를 물려받습니다
- 스캔마다 모델 사용료가 들고, 비용 한도는 추정치입니다
- 일부 발견 사항은 Trusted Access for Cyber 승인이 필요합니다
- 변경이 잦은 CLI로 업그레이드 안내가 자주 나옵니다
추천 대상
CI에 모델 기반 코드 리뷰를 넣고 싶고, 보고서마다 사람이 읽을 수 있는 보안팀과 플랫폼팀에 맞습니다.