서론
OpenAI가 Codex Security CLI 및 TypeScript SDK의 소스 코드를 조용히 공개했습니다.
공개 패키지 @openai/codex-security는 보안 및 엔지니어링 팀이 다음 작업을 수행할 수 있도록 설계되었습니다:
- 코드베이스를 스캔하여 취약점 발견
- 합리적인 발견 결과 검증
- 코드 병합 전 변경 사항 검토
- 여러 스캔에 걸쳐 발견 결과 추적
- 오탐지 표시 및 기억
- 수정 사항이 원래 문제를 해결했는지 검증
- 자동화를 위한 구조화된 결과 내보내기
- CI/CD 워크플로우에 보안 검토 통합
- TypeScript SDK를 통한 맞춤형 보안 도구 구축
이 코드베이스는 Apache License 2.0으로 배포됩니다.
즉, CLI와 SDK 코드는 오픈소스입니다. 그러나 이것이 Codex Security 서비스 전체, 그 기반 모델, 보호되는 모든 발견 결과, 또는 무제한 네트워크 액세스가 이제 오프라인에서 무료로 사용 가능하다는 것을 의미하지는 않습니다.
스캔을 실행하려면 여전히 Codex Security 액세스 권한이 필요합니다. OpenAI는 또한 일부 전체 저장소 스캔, 보호되는 발견 결과 및 고급 사이버 보안 요청은 사이버 보안 신뢰 액세스(Trusted Access for Cyber) 승인이 필요할 수 있다고 밝혔습니다.
이 차이는 매우 중요합니다:
오픈소스 CLI 및 SDK
≠
개방형 가중치 보안 모델
≠
제한 없는 클라우드 스캔 액세스
Codex Security는 원래 Aardvark라는 내부 프로젝트로 시작했습니다. 이후 연구 미리보기 애플리케이션 보안 에이전트로 Codex에 도입되었으며, 새로운 공개 패키지를 통해 개발자는 스캐너를 로컬 터미널, 내부 도구, 대규모 코드베이스 활동, 커밋 전 검사 및 CI 파이프라인으로 가져올 수 있게 되었습니다.
Aardvark에서 Codex Security까지
OpenAI는 2025년 10월에 GPT-5로 구동되는 지능형 보안 연구원인 Aardvark를 처음 출시했습니다.
이 원래 시스템의 설계 목표는 기존의 시그니처 스캐너보다 인간 애플리케이션 보안 연구원처럼 동작하는 것이었습니다.
Aardvark는 단순히 알려진 패턴에 따라 코드를 매칭하는 것 외에도 다음을 수행할 수 있습니다:
- 코드베이스 읽기
- 시스템 작동 방식에 대한 모델 구축
- 새로운 커밋 검사
- 악용 가능성 추론
- 테스트 작성 및 실행
- 보안 도구 사용
- 취약점 설명
- 맞춤형 패치 제안
2026년 3월, OpenAI는 Aardvark를 Codex Security로 개명하고 Codex에 통합했습니다.
이 제품은 Codex Web을 통해 일부 ChatGPT 요금제 사용자에게 연구 미리보기 형태로 제공되며, 연결된 GitHub 저장소를 지원합니다.
이후의 오픈소스 릴리스는 다양한 배포 계층을 추가했습니다.
개발자는 이제 CLI를 설치하거나 TypeScript SDK를 임포트할 수 있으며, 호스팅된 Codex Security 클라우드 경험은 별도로 존재합니다.
실제로 오픈소스로 공개된 내용
공개 GitHub 저장소에는 다음이 포함됩니다:
- Codex Security CLI
- TypeScript SDK
- Docker 및 Docker Compose 리소스
- CI용 명령 및 구조화된 출력 지원
- 스캔 기록 및 발견 결과 관리 기능
- 문서 및 기여 파일
이 패키지는 npm으로 다음과 같이 배포됩니다:
@openai/codex-security
이 저장소의 Apache-2.0 라이선스는 일반적으로 라이선스 조건 내에서 사용, 수정 및 재배포를 허용합니다.
오픈 모델로 포함되지 않은 내용
이번 릴리스는 GPT-5.6 Sol, Terra 또는 전용 Codex Security 모델의 가중치를 제공하지 않습니다.
기본 스캔은 현재 다음을 사용합니다:
gpt-5.6-sol
추론 강도: xhigh
CLI는 인증된 액세스를 통해 추론 서비스를 호출합니다.
저장소는 또한 선택한 모델에 대한 제공자 옵션(OpenRouter 및 Fireworks 등)을 문서화하지만, Codex Security 스캔 워크플로우와 보호된 네트워크 기능은 여전히 OpenAI 측의 승인이 필요할 수 있습니다.
오픈소스는 액세스 제어를 해제하지 않습니다
npm 패키지를 설치한다고 해서 모든 스캔을 실행할 수 있는 권한이 생기는 것은 아닙니다.
OpenAI 문서에 따르면:
- Codex Security 액세스 권한이 필요합니다.
- 일부 저장소 또는 요청에는 '네트워크 신뢰 액세스'가 필요할 수 있습니다.
- 로그인 또는 API 키 설정이 자동으로 '신뢰 액세스'를 부여하지는 않습니다.
- 보안 발견 결과에는 민감한 소스 코드 발췌 및 취약점 악용 세부 정보가 포함될 수 있습니다.
- 사용자는 자신이 소유하거나 평가할 권한이 있는 코드만 스캔해야 합니다.
공개 코드는 워크플로우를 검사 가능하고 확장 가능하게 만듭니다. 고급 네트워크 사용을 둘러싼 보안 및 승인 계층을 제거하지는 않습니다.
이번 릴리스가 중요한 이유
AI 코딩 에이전트는 많은 조직의 검토 속도를 초과할 수 있는 속도로 소프트웨어를 생성하고 수정합니다.
이는 보안 병목 현상을 만듭니다.
제품이 아이디어에서 배포된 애플리케이션까지 며칠 또는 몇 시간 만에 도달할 수 있는 반면, 기존 애플리케이션 보안 검토는 여전히 다음에 의존할 수 있습니다:
- 수동 위협 모델링
- 정적 분석 구성
- 침투 테스트
- 의존성 검토
- 수동 분류
- 릴리스 일정 관리
- 보안 팀의 가용성
문제는 단지 개발자에게 취약점 보고서가 부족하다는 것만이 아닙니다.
많은 유지관리자는 이미 과도한 보고서를 받고 있습니다:
- 중복 발견
- 영향력이 낮은 경고
- 잘못된 심각도 등급
- 도달할 수 없는 코드 경로
- 증거가 없는 발견
- 일반적인 수정 제안
- 프로젝트 아키텍처를 무시한 보고서
Codex Security의 설계는 반대 목표를 중심으로 이루어집니다: 더 적고, 더 맥락에 맞는 발견 결과를 증거와 함께 제공하여 검토자가 무엇을 수정할지 결정할 수 있게 하는 것입니다.
Codex Security 작동 방식
OpenAI는 이 시스템을 다단계 애플리케이션 보안 워크플로우로 설명합니다.
- 저장소 컨텍스트 및 위협 모델 구축
Codex Security는 먼저 저장소를 연구하여 프로젝트의 보안 관련 구조를 이해합니다.
다음을 식별하려고 시도합니다:
- 시스템이 하는 일
- 어떤 구성 요소가 서로를 신뢰하는지
- 사용자 제어 입력이 어디로 들어오는지
- 사용자, 테넌트, 역할 또는 서비스를 구분하는 경계
- 어떤 작업에 권한이 있는지
- 어떤 자산이 민감한지
- 시스템이 공격자에게 노출되는 위치
결과는 일반적인 체크리스트가 아닌 프로젝트별 위협 모델입니다.
팀은 아키텍처 문서, 보안 정책, 중점 영역 및 알려진 공격 벡터를 추가하여 이 컨텍스트를 개선할 수 있습니다.
- 컨텍스트 내에서 취약점 검색
에이전트는 관련 코드를 검토할 때 위협 모델을 사용하여 실제 영향을 판단합니다.
이를 통해 규칙 기반 스캐너가 독립적으로 이해하기 어려운 문제를 추론할 수 있습니다.
예시는 다음과 같습니다:
- 테넌트 간 경계의 인증/권한 부여 격차
- 간접 프롬프트 주입을 통한 권한 있는 도구 접근
- 프록시 추적을 통한 민감한 데이터 노출
- 인증 우회
- 서버 측 요청 위조(SSRF)
- 평범한 구성 요소 간의 위험한 상호 작용
스캐너는 다음을 검토할 수 있습니다:
- 전체 코드 저장소
- 선택된 하나 이상의 경로
- 커밋 범위
- 풀 리퀘스트 변경 사항
- 스테이징 및 비스테이징 작업 트리 변경 사항
- 대규모 활동의 여러 코드 저장소
- 합리적인 발견 결과 검증
가능한 경우 Codex Security는 격리된 환경에서 고신호 문제를 검증하려고 시도합니다.
검증은 다음 질문에 답하는 데 도움이 됩니다:
- 취약한 경로에 도달할 수 있는지
- 제안된 악용 조건이 현실적인지
- 개념 증명이 유효한지
- 문제가 잘못 분류되었는지
- 발견 결과가 실행 중인 시스템에 영향을 미칠 수 있는지
이 단계는 오탐지를 줄이는 것을 목표로 합니다.
모든 발견 결과가 재현되었거나 전체 스캔이 저장소의 보안을 증명한다는 것을 보장하지는 않습니다.
스캔의 coverage.json 파일은 적용 범위 상태를 다음 중 하나로 기록합니다:
완전(Full)
부분(Partial)
알 수 없음(Unknown)
검토자는 스캔을 포괄적인 검토의 증거로 간주하기 전에 제외 사항, 연기된 영역 및 미해결 문제를 읽어야 합니다.
- 맞춤형 수정 제안
수용된 발견 결과에 대해 Codex Security는 현재 시스템에 맞게 조정된 패치를 제안할 수 있습니다.
목표는 단순히 스캐너를 조용하게 만드는 것이 아닙니다.
좋은 수정 사항은 다음을 충족해야 합니다:
근본 원인을 제거하거나 완화합니다.
- 의도된 애플리케이션 동작을 유지합니다.
- 광범위하고 무관한 리팩토링을 피합니다.
- 회귀를 최소화합니다.
- 적절한 경우 증거 또는 테스트를 포함합니다.
- 인간 엔지니어가 검토할 수 있도록 유지합니다.
Codex Security 스캔은 기본적으로 보고서만 제공합니다. 제안된 패치는 여전히 일반적인 코드 검토, 테스트 및 배포 제어 프로세스를 거쳐야 합니다.
- 검토 피드백에서 학습하기
CLI는 스캔 기록을 저장하고 발견 항목에 대한 피드백을 지원합니다.
검토자는 발견 항목을 오탐(false positive)으로 표시하고 이유를 기록할 수 있습니다.
후속 스캔은 현재 코드를 다시 확인할 때 해당 설명을 고려할 수 있습니다.
이는 스캐너가 코드베이스 특정 사실에 적응하면서도 향후 취약해질 수 있는 코드 경로를 영구적으로 억제하지 않도록 도와줍니다.
OpenAI 보고 결과
OpenAI는 미리보기 배포판에서 여러 채택 및 품질 데이터를 발표했습니다.
이는 회사가 보고한 지표이며, 독립적인 벤치마크 테스트 결과가 아닙니다.
2026년 3월 연구 미리보기
OpenAI는 30일 기간 동안 Codex Security에 대해 다음과 같이 밝혔습니다:
| 지표 | OpenAI 보고 결과 |
|---|---|
| 스캔된 커밋 수 | 120만 건 이상 |
| 치명적 발견 수 | 792건 |
| 높은 심각도 발견 수 | 10,561건 |
| 치명적 문제가 포함된 스캔 커밋 | 0.1% 미만 |
OpenAI는 또한 베타 개선 사항을 보고했습니다:
- 지속적으로 스캔되는 코드베이스에서 불필요한 알림이 84% 감소했습니다.
- 심각도가 과장된 발견이 90% 이상 감소했습니다.
- 여러 코드베이스에서 오탐(false positive)이 50% 이상 감소했습니다.
2026년 6월 Daybreak 업데이트
OpenAI는 이후 Codex Security 클라우드 에디션이 다음을 갖추었다고 밝혔습니다:
| 지표 | OpenAI 보고 결과 |
|---|---|
| 스캔된 코드베이스 수 | 30,000개 이상 |
| 스캔된 커밋 수 | 3,000만 건 이상 |
| 수동으로 수정됨으로 표시된 발견 수 | 70,000건 이상 |
| 자동으로 수정된 것으로 확인된 발견 수 | 50만 건 이상 |
규모는 상당하지만, 이러한 수치는 CodeQL, Semgrep, Snyk 또는 수동 침투 테스트와의 통제된 비교로 해석되어서는 안 됩니다.
이러한 도구들은 작동 방식이 다르며, 발견, 수정 및 적용 범위를 다른 방식으로 측정할 수 있습니다.
Codex Security 인터페이스
Codex Security는 이제 여러 관련 인터페이스를 통해 사용할 수 있습니다.
| 인터페이스 | 주요 용도 |
|---|---|
| Codex Security 플러그인 | ChatGPT 데스크톱 앱 또는 Codex CLI에서 대화형 스캔 및 수정 |
| Security Workbench | 저장된 스캔, 발견 항목, 저장소 기록, 적용 범위 및 아티팩트 보기 |
| Codex Security CLI | 반복 가능한 로컬, 터미널, 사전 커밋, 배치 및 CI 워크플로우 |
| TypeScript SDK | 애플리케이션이나 개발자 도구에 스캔 및 수명주기 제어 기능 내장 |
| Codex Security 클라우드 | Codex 클라우드를 통해 연결된 GitHub 저장소 스캔 |
공용 CLI와 SDK는 플러그인과 동일한 일반 스캐너 워크플로우를 사용하지만, 플러그인 디렉터리, CLI 패키지 및 클라우드 연구 미리보기 간에 가용성과 기능 성숙도가 다를 수 있습니다.
빠른 시작: Codex Security 설치 및 실행
다음 명령은 OpenAI의 현재 공식 CLI 문서를 따릅니다.
1단계: 사전 요구 사항 확인
CLI에는 다음이 필요합니다:
Node.js 22 이상
Python 3.10 이상
Codex Security 액세스 권한
GitHub 저장소는 현재 최신 22.x, 24.x 및 26.x 버전을 포함한 보다 구체적인 지원 Node.js 버전 범위를 제공합니다.
환경을 확인하세요:
node --version
python3 --version
2단계: 패키지 설치
npm에서 Codex Security를 설치합니다:
npm install @openai/codex-security
설치된 버전을 확인합니다:
npx @openai/codex-security --version
명령어 목록을 확인합니다:
npx @openai/codex-security --help
3단계: 인증
로컬 대화형 사용의 경우 ChatGPT 계정으로 로그인합니다:
npx @openai/codex-security login
원격 또는 헤드리스 머신의 경우:
npx @openai/codex-security login --device-auth
CI 또는 기타 무인 워크플로우의 경우 환경을 통해 API 키를 제공합니다:
export OPENAI_API_KEY=""
API 키를 소스 코드 관리에 넣지 마십시오.
키 관리자 또는 CI 플랫폼의 보호된 키 시스템을 사용하십시오.
저장된 ChatGPT 로그인과 API 키를 모두 사용할 수 있는 경우 원하는 방법을 명시적으로 선택하십시오:
npx @openai/codex-security scan . --auth chatgpt
또는:
npx @openai/codex-security scan . --auth api-key
인증은 Cyber의 Trusted Access를 자동으로 부여하지 않습니다.
4단계: 비공개 출력 디렉터리 선택
OpenAI는 결과를 스캔 중인 저장소 외부에 저장할 것을 권장합니다.
보고서에는 다음이 포함될 수 있습니다:
- 소스 코드 발췌문.
- 취약점 증거.
- 개념 증명 자료.
- 아키텍처 세부 정보.
- 민감한 경로.
- 수정 지침.
대상 및 결과 디렉터리를 준비합니다:
REPOSITORY=/path/to/repository
SCAN_DIR=/path/outside/repository/codex-security-results
기본 영구 상태 디렉터리를 쓸 수 없는 경우 다른 비공개 디렉터리를 선택합니다:
export CODEX_SECURITY_STATE_DIR=/path/outside/repository/codex-security-state
5단계: 드라이런 확인 실행
모델 작업을 시작하기 전에 로컬 경로와 스캔 구성을 확인합니다:
npx @openai/codex-security scan "$REPOSITORY" \
--output-dir "$SCAN_DIR" \
--dry-run
드라이런은 Codex를 시작하지 않으며 스캔 자격 증명을 로드하지 않습니다.
6단계: 첫 번째 스캔 실행
표준 저장소 스캔을 시작합니다:
npx @openai/codex-security scan "$REPOSITORY" \
--output-dir "$SCAN_DIR"
표준 출력에 머신 판독 가능한 JSON 형식을 요청합니다:
npx @openai/codex-security scan "$REPOSITORY" \
--output-dir "$SCAN_DIR" \
--json
기본적으로 Codex Security는 현재 다음을 사용합니다:
모델: gpt-5.6-sol
추론 강도: xhigh
저비용 구성은 다른 지원 모델 및 강도 수준을 사용할 수 있습니다:
npx @openai/codex-security scan "$REPOSITORY" \
--model gpt-5.6-terra \
--effort high
지원되는 강도 설정은 다음과 같습니다:
minimal(최소)
low(낮음)
medium(중간)
high(높음)
xhigh(매우 높음)
낮은 강도는 시간과 비용을 줄일 수 있지만, 검토의 깊이도 낮아질 수 있습니다.
전체 스캔의 산출 결과
표준 결과 디렉터리에는 다음이 포함될 수 있습니다:
codex-security-results/
├── scan-manifest.json
├── findings.json
├── coverage.json
├── report.md
├── artifacts/
└── exports/
└── results.sarif
report.md
주요 사람이 읽을 수 있는 보고서입니다.
findings.json
심각도, 신뢰도, 영향받은 위치, 증거 및 수정 권장 사항을 포함한 구조화된 발견 사항입니다.
coverage.json
검토 범위, 제외 항목, 지연 처리된 작업, 미해결 문제 및 완전성 평가입니다.
scan-manifest.json
대상, 범위, 생성자 정보 및 봉인된 아티팩트 참조입니다.
artifacts/
취약점 보고서, 개념 증명 파일 또는 관련 증거(있는 경우)입니다.
SARIF 내보내기
SARIF는 GitHub Code Scanning 및 기타 호환되는 보안 도구에서 사용할 수 있습니다.
중요한 영역만 스캔
대규모 모노레포는 매번 전체 스캔이 필요하지 않을 수 있습니다.
특정 경로를 선택하세요:
npx @openai/codex-security scan "$REPOSITORY" \
--path services/billing \
--path packages/auth
이는 한 번의 릴리스가 특정 서비스나 보안 경계에 영향을 미칠 때 유용합니다.
풀 리퀘스트 또는 커밋 범위 검토
기본 개정판과 HEAD 사이에 커밋된 변경 사항을 스캔합니다:
npx @openai/codex-security scan "$REPOSITORY" \
--diff origin/main \
--head HEAD
저장소 매개변수는 Git 작업 트리 루트를 가리켜야 하며, 필요한 개정판이 로컬에 존재해야 합니다.
커밋되지 않은 변경 사항 검토
HEAD 기준으로 스테이징된 변경 사항과 스테이징되지 않은 변경 사항을 스캔합니다:
npx @openai/codex-security scan "$REPOSITORY" \
--working-tree \
--base HEAD
이는 풀 리퀘스트를 만들거나 보안에 민감한 변경 사항을 커밋하기 전에 유용합니다.
심층 스캔 모드 사용
일반 스캔으로 충분하지 않을 때 더 포괄적인 검토를 실행합니다:
npx @openai/codex-security scan "$REPOSITORY" \
--mode deep
심층 모드는 더 오래 걸리며 더 많은 모델 리소스를 소비할 수 있습니다.
OpenAI의 현재 문서에 따르면 저장소 및 경로 대상을 지원하며, diff 또는 작업 트리 대상은 지원하지 않습니다.
컨텍스트 아키텍처 및 보안 정보 추가
에이전트가 시스템을 올바르게 이해하는 데 도움이 되는 내부 문서를 제공하세요:
npx @openai/codex-security scan "$REPOSITORY" \
--knowledge-base /path/to/architecture.md \
--knowledge-base /path/to/security-policies
유용한 컨텍스트에는 다음이 포함될 수 있습니다:
- 신뢰 경계
- 인증 아키텍처
- 테넌트 격리 규칙
- 민감 데이터 분류
- 예상 네트워크 경로
- 보안 불변식
- 위협 모델
- 알려진 예외
- 보완 통제
필요하지 않은 경우 기밀 정보를 포함하지 마세요.
이러한 파일은 보안에 민감한 스캔 워크플로의 일부이므로 적절한 보존 및 접근 통제를 따라야 합니다.
스캔 비용 제어
달러 기준 예상 모델 비용 상한을 설정하세요:
npx @openai/codex-security scan "$REPOSITORY" \
--max-cost 5
이미 진행 중인 요청은 상한에 도달한 후에도 완료될 수 있으므로 최종 금액이 임계값을 초과할 수 있습니다.
비용 제한으로 스캔이 중지되면 Codex Security는 기존 결과를 보존합니다.
부분 결과는 완전한 저장소 범위로 간주되어서는 안 됩니다.
사전 커밋 보안 검사 추가
포함된 Git 훅을 설치하세요:
npx @openai/codex-security install-hook
이 훅은 커밋 전에 스테이징된 변경 사항과 스테이징되지 않은 변경 사항을 스캔합니다.
OpenAI는 다음을 차단한다고 명시합니다:
- 높은 심각도의 발견 사항
- 스캔 오류
기존 사전 커밋 스크립트를 대체하지는 않습니다.
팀은 조직 차원에서 훅을 활성화하기 전에 로컬 성능, 개발자 접근 권한, 모델 비용 및 기존 린트 또는 테스트 훅과의 상호 작용을 검토해야 합니다.
여러 저장소 스캔
먼저 GitHub CLI를 확인하세요:
gh auth login
대화형 저장소 발견 프로세스를 시작합니다:
npx @openai/codex-security bulk-scan
현재 대화형 프로세스는 보관된 저장소와 포크를 제외하며, 스캔 전에 확인을 요구합니다.
준비된 CSV 목록을 사용하여 반복 가능한 스캔 활동을 수행합니다:
npx @openai/codex-security bulk-scan repositories.csv \
--output-dir /path/outside/repositories/security-scans \
--workers 4
동일한 명령을 다시 실행하면 완전한 결과 아티팩트가 이미 있는 저장소를 다시 스캔하지 않고 스캔 활동을 재개할 수 있습니다.
Docker에서 일괄 스캔 실행
공개 저장소에는 Docker 및 Compose 리소스가 포함되어 있습니다.
필요한 이미지와 환경에 대한 계정 접근 권한이 있는 경우, 예시 일괄 명령은 다음과 같습니다:
docker compose run --rm codex-security \
bulk-scan /input/repositories.csv \
--output-dir /output \
--workers 4
OpenAI는 다음을 권장합니다:
- Linux Docker 호스트 사용
- 권한 없는 사용자 네임스페이스 지원
- 결과 및 로그인 상태를 위한 비공개 영구 디렉터리 사용
- 환경 또는 키 관리자를 통한 비밀 제공
- 지원되는 경우 AppArmor 강화 선택적 활성화
컨테이너화는 호스트 노출을 일부 줄이지만 승인된 보안 스캔을 무위험으로 만들지는 않습니다.
실행 간 발견 사항 추적
저장소의 이전 스캔을 나열합니다:
npx @openai/codex-security scans list "$REPOSITORY"
저장된 스캔을 검사합니다:
npx @openai/codex-security scans show SCAN_ID
검토된 발견 사항을 오탐으로 표시합니다:
npx @openai/codex-security findings false-positive FINDING_OCCURRENCE_ID \
--reason "해당 경로는 이미 권한을 확인함"
저장된 스캔을 원래 설정으로 다시 실행합니다:
npx @openai/codex-security scans rerun SCAN_ID
근본 원인별로 발견 사항을 매칭합니다:
npx @openai/codex-security scans match
PREVIOUS_SCAN_ID CURRENT_SCAN_ID
스캔 결과 비교:
```Bash
npx @openai/codex-security scans compare PREVIOUS_SCAN_ID CURRENT_SCAN_ID
비교는 발견 항목을 다음으로 분류합니다:
- 새로 추가됨
- 지속 중
- 다시 열림
- 해결됨
- 알 수 없음
후속 스캔이 관련 영역을 포함하지 않는 경우, 누락된 발견 항목은 알 수 없음 상태로 유지됩니다.
TypeScript SDK 사용
동일한 npm 패키지에는 ECMAScript 모듈 TypeScript SDK가 포함되어 있습니다.
서버 측 Node.js 22 이상이 필요하며, 스캔에는 Python 3.10 이상도 필요합니다.
기본 통합 방식은 다음과 같습니다:
import { CodexSecurity } from "@openai/codex-security";
const security = new CodexSecurity();
try {
const result = await security.run("/path/to/repository", {
outputDir: "/path/outside/repository/results",
});
console.log(result.reportPath);
console.log(result.coverage.completeness);
console.log(result.findings.findings.length);
} finally {
await security.close();
}
SDK는 다음 기능을 통해 장기 실행 워크플로우를 지원합니다:
- 사전 검사
- 유형화된 발견 항목
- 적용 범위 세부 정보
- 진행 상황 콜백
- 예상 비용 제한
- 취소 작업
- 스캔 수명 주기 관리
- 아티팩트 경로 접근
재사용 가능한 애플리케이션은 클라이언트를 생성하고, 필요한 스캔을 실행한 후 클라이언트를 닫아 격리된 런타임 환경을 해제해야 합니다.
Codex Security를 CI에 추가
OpenAI 공식 CI 가이드에서는 GitHub Actions를 사용한 풀 리퀘스트 스캔을 설명합니다.
권장 패턴은 다음과 같습니다:
- API 키를 보호된 저장소 또는 조직 비밀로 저장합니다.
- 저장소 체크아웃 디렉터리 외부에 Codex Security를 설치합니다.
- 패키지 버전을 고정합니다.
- 전체 Git 기록을 체크아웃하되, 체크아웃 자격 증명은 유지하지 않습니다.
- 병합 기준을 계산합니다.
- 풀 리퀘스트의 차이점만 스캔합니다.
- SARIF를 내보냅니다.
- SARIF를 GitHub Code Scanning에 업로드합니다.
- 스캔 아티팩트를 보존합니다.
- 스캔 품질과 실행 시간을 검토한 후에만 심각도 정책을 추가합니다.
공식 예시는 릴리스 시점에 사용 가능한 특정 패키지 버전을 고정합니다. 팀은 릴리스 노트를 확인한 후 의도적으로 버전을 업데이트해야 하며, 저장소 비밀을 사용하여 검토되지 않은 보안 도구를 자동으로 실행해서는 안 됩니다.
핵심 스캔 단계의 간결한 표현은 다음과 같습니다:
- name: 풀 리퀘스트 변경 사항 스캔
env:
OPENAI_API_KEY: ${{ secrets.CODEX_SECURITY_API_KEY }}
BASE_SHA: ${{ github.event.pull_request.base.sha }}
HEAD_SHA: ${{ github.event.pull_request.head.sha }}
SCAN_DIR: ${{ runner.temp }}/codex-security-results
run: |
set -euo pipefail
BASE_REVISION="$(git merge-base "$BASE_SHA" "$HEAD_SHA")"
"$CODEX_SECURITY_BIN" scan . \
--diff "$BASE_REVISION" \
--head "$HEAD_SHA" \
--auth api-key \
--output-dir "$SCAN_DIR" \
--json
> "$RUNNER_TEMP/codex-security.json"
이 발췌문은 실행기가 CLI를 설치하고 검증했으며, 전체 기록이 포함된 풀 리퀘스트 헤드를 체크아웃했고, CODEX_SECURITY_BIN이 정의되어 있다고 가정합니다.
프로덕션 워크플로우의 경우 고정된 작업, SARIF 내보내기, 권한, 아티팩트 보존, 브랜치 보안 검사를 포함한 전체 공식 CI 가이드를 사용하십시오.
보안 체계에서 Codex Security의 위치
Codex Security는 기존의 모든 보안 통제를 대체하기 위한 것이 아닙니다.
다음 도구를 보완할 수 있습니다:
- 정적 애플리케이션 보안 테스트
- 소프트웨어 구성 분석
- 비밀 키 스캔
- 코드형 인프라 스캔
- 컨테이너 스캔
- 의존성 업데이트
- 퍼징
- 동적 애플리케이션 테스트
- 수동 코드 검토
- 침투 테스트
- 버그 바운티 프로그램
- 프로덕션 환경 모니터링
고유한 강점은 저장소 구조와 시스템 의도를 넘나드는 컨텍스트 추론 능력에 있습니다.
성숙한 보안 체계는 결정론적 스캐너로 대용량의 알려진 패턴을 처리하고, 에이전트 스캐너로 파일 간 로직, 악용 가능성 분석, 증거 및 수정 권장 사항을 처리할 수 있습니다.
Codex Security가 보장할 수 없는 사항
저장소가 안전하다는 것을 증명할 수 없음
어떤 스캐너도 임의의 실제 코드베이스에 모든 취약점이 존재하지 않는다는 것을 증명할 수 없습니다.
부분 적용 범위 또는 알 수 없는 적용 범위는 이러한 한계를 더욱 중요하게 만듭니다.
검증이 보편적으로 적용되지 않음
일부 발견 항목은 격리된 환경에서 테스트할 수 있습니다.
다른 발견 항목은 다음에 의존합니다:
- 프로덕션 데이터
- 외부 서비스
- 인프라 구성
- 하드웨어
- 자격 증명
- 비즈니스 로직
- 사용자 행동
자동화된 증명이 없는 발견 항목이 자동으로 오탐을 의미하지는 않으며, 검증된 증명도 해당 취약점의 모든 변형을 밝혀내지 못합니다.
AI 발견 항목은 여전히 수동 검토가 필요함
모델은 아키텍처를 오해하거나, 영향을 과대평가하거나, 불완전한 패치를 제안하거나, 회귀 문제를 도입할 수 있습니다.
보안 책임자는 증거와 수정 방안을 검토해야 합니다.
오픈소스 패키지도 모델 호출이 필요함
패키지 소스 코드는 공개되어 있지만, 기본 스캔은 추론 접근에 의존하지 않는 완전히 로컬 정적 바이너리가 아닙니다.
모델 사용은 비용, 데이터 처리 및 승인 측면에서 고려 사항을 발생시킬 수 있습니다.
민감한 출력은 보호가 필요함
결과 디렉터리는 일반 빌드 출력보다 더 민감할 수 있습니다.
상세한 발견 항목, 개념 증명 파일 또는 취약한 소스 코드 발췌문을 공개 아티팩트에 업로드하지 마십시오.
네트워크 액세스 권한은 제한된 용도로만
소유하거나 평가 권한을 명시적으로 부여받은 저장소 및 시스템에만 도구를 사용하십시오.
OpenAI의 접근 제어는 법적 승인을 대체할 수 없습니다.
보안 스캐너도 위협 모델이 필요함
Codex Security의 가장 큰 개념적 강점은 동시에 실제 요구 사항이기도 합니다.
에이전트는 정확한 컨텍스트가 필요합니다.
저장소만으로는 다음을 설명하지 못할 수 있습니다:
- 어떤 서비스가 공개적으로 액세스 가능한지
- 어떤 ID 제공자가 신뢰되는지
- 네트워크 경계가 존재하는지
- 어떤 데이터가 민감한지
- 업스트림에서 어떤 권한 부여 검사가 수행되는지
- 어떤 배포 기능이 비활성화되어 있는지
- 조직이 어떤 위험을 수용했는지
컨텍스트가 좋지 않으면 발견 품질이 저하될 수 있습니다.
팀은 편집 가능한 위협 모델과 지식 베이스를 선택적 프롬프트 장식이 아닌 일급 보안 자산으로 간주해야 합니다.
자주 묻는 질문
Codex Security란 무엇인가요?
Codex Security는 취약점을 발견, 검증, 우선순위 지정 및 수정을 지원하는 OpenAI의 애플리케이션 보안 에이전트입니다. 내부 프로젝트 Aardvark에서 시작되었으며 이제 사용할 수 있습니다.
플러그인, CLI, TypeScript SDK 및 저장소를 연결하는 클라우드 워크플로우를 통해 구현됩니다.
Codex Security는 완전히 오픈소스인가요?
CLI와 TypeScript SDK는 GitHub에서 Apache 2.0
라이선스는 공개 배포됩니다. 기반 OpenAI 모델, 호스팅 클라우드 서비스, 보호된 발견 결과, 그리고 무제한 사이버 보안 접근은 오픈소스 또는 개방형 가중치 구성 요소로 공개되지 않았습니다.
누구나 Codex Security를 설치하고 실행할 수 있나요?
누구나 공개 패키지에 접근할 수 있지만, 스캔을 실행하려면 Codex Security 접근 권한이 필요합니다. 일부 전체 저장소 스캔이나 고급 네트워크 기능은 '사이버 보안 신뢰 접근(Trusted Access for Cyber)'이 추가로 필요할 수 있습니다.
Codex Security는 어떤 모델을 사용하나요?
현재 CLI 문서에 따르면 스캔은 기본적으로 GPT-5.6 Sol 모델을 사용하며 추론 노력 수준은 xhigh입니다. 사용자는 다른 지원 모델과 노력 수준을 선택할 수 있으며, 공개 저장소에는 선택된 타사 공급업체 구성도 기록되어 있습니다.
Codex Security는 풀 리퀘스트를 스캔할 수 있나요?
네. CLI는 기본 개정판과 헤드 개정판 사이에 커밋된 변경 사항을 스캔할 수 있으므로 풀 리퀘스트 워크플로에 적합합니다. OpenAI는 SARIF 내보내기와 아티팩트 보존을 지원하는 공식 GitHub Actions 가이드도 제공합니다.
Codex Security는 취약점을 자동으로 수정하나요?
범위가 제한된 수정 제안을 할 수 있고 변경 사항이 발견 결과를 해결하는지 검증하는 데 도움을 줄 수 있습니다. 스캔은 기본적으로 보고서만 생성하며, 병합이나 배포 전에 사람이 패치를 검토하고 테스트하고 승인해야 합니다.
Codex Security는 Docker에서 실행할 수 있나요?
저장소에는 비대화형 배치 스캔을 위한 Docker 및 Docker Compose 리소스가 포함되어 있습니다. OpenAI는 프라이빗 영구 스토리지, 키 관리, 지원되는 Linux 격리 기능, 선택적 AppArmor 강화를 권장합니다.
Codex Security의 깨끗한 보고서가 내 애플리케이션의 안전을 증명할 수 있나요?
아니요. 적용 범위는 완전하거나 부분적이거나 알 수 없을 수 있으며, 어떤 자동화 스캐너도 복잡한 애플리케이션에 취약점이 없다고 보장할 수 없습니다. Codex Security를 더 넓은 보안 개발 계획의 한 요소로 사용하십시오.
관련 도구
- Codex Security: 플러그인, CLI, SDK, 클라우드 스캐너 및 지원 워크플로에 대한 공식 개요.
- Codex Security GitHub 저장소: CLI, TypeScript SDK, Docker 리소스 및 기여 워크플로를 포함한 Apache-2.0 소스 코드.
- npm의 Codex Security: CLI 및 SDK 설치를 위한 게시 패키지.
- Codex CLI: OpenAI의 오픈소스 로컬 코딩 에이전트 및 플러그인 호스트.
- GitHub 코드 스캐닝: GitHub의 SARIF 호환 취약점 결과 인터페이스.
- CodeQL: 쿼리 기반 취약점 탐지를 위한 GitHub의 의미론적 코드 분석 엔진.
- Semgrep: 에이전트 보안 검토를 보완하는 규칙 기반 정적 분석 플랫폼.
- OWASP Juice Shop: 승인된 보안 교육 및 스캐너 평가를 위한 의도적으로 취약점이 포함된 애플리케이션.
관련 링크
- Codex Security 문서: 공식 제품 인터페이스 및 워크플로의 시작점.
- Codex Security CLI 빠른 시작: 공식 설치, 인증, 스캔, 기록, 예산, 배치 작업 및 Docker 설명.
- Codex Security TypeScript SDK: 공식 SDK 설정, 스캔 수명 주기, 유형화된 결과, 진행률 및 취소 문서.
- CI에서 Codex Security 실행: OpenAI의 전체 GitHub Actions 및 SARIF 워크플로.
- Codex Security 연구 미리보기: OpenAI의 2026년 3월 출시 기사 및 미리보기 지표.
- Aardvark 소개: 이후 Codex Security가 된 지능형 보안 연구원에 대한 원래 설명.
- Daybreak 보안 이니셔티브: Codex Security 규모, 오픈소스 보안 작업 및 방어적 네트워크 도구에 관한 OpenAI의 2026년 6월 업데이트.
요약
OpenAI는 Codex Security CLI와 TypeScript SDK를 오픈소스로 공개하여 개발자에게 저장소 스캔, 변경 검토, 스캔 기록, 수정 검증, 배치 활동, SARIF 내보내기, CI 검사 및 맞춤형 보안 통합을 위한 Apache-2.0 기반의 공개 기반을 제공했습니다.
이 에이전트는 기본적인 패턴 스캐너와 달리 저장소 컨텍스트와 위협 모델을 구축하고, 해당 컨텍스트에서 취약점을 검색하며, 의심스러운 문제를 가능한 한 검증하고, 인간 검토를 위한 범위가 제한된 수정 제안을 제공합니다.
이번 배포는 무제한 로컬 보안 모델이 아닙니다. 스캔을 실행하려면 여전히 승인된 추론 접근 권한이 필요하며, 일부 고급 사이버 보안 워크플로에는 '사이버 보안 신뢰 접근'이 필요할 수 있습니다. 민감한 발견 결과와 소스 코드 조각도 신중한 저장 및 보존 제어가 필요합니다.
Codex Security는 계층화된 애플리케이션 보안 계획에서 가장 유용합니다. 즉, 저장소에 취약점이 없다는 증거가 아닙니다.
실질적인 변화는 팀이 프로세스 전반에 걸쳐 인증, 위협 모델링, 검증 및 인간 승인을 엄격히 적용하는 한, 보안 검토가 이제 AI 지원 개발 속도에 더 가까워질 수 있다는 것입니다.
몇 분 만에 쇼케이스 사이트를 만들고 리드를 늘리세요
아이디어를 한 문장으로 입력하면 We0 AI가 쇼케이스 사이트, 페이지, CMS를 생성하고 출시 후 고객과 트래픽 확보를 돕습니다.
무료 등록을 위한 하나의 완전한 프로젝트 생성
하나의 완전한 생성 흐름을 시도하고 첫 번째 프로젝트 초안을 빠르게 보는 데 가장 적합합니다.



