이 자주 묻는 질문에서는 Codex Security 클라우드를 다룹니다. Codex 작업에서 실행되는 로컬 스캔과 워크플로우에 대해서는 Codex Security 플러그인 빠른 시작을 참고하세요.
시작하기
Codex Security란 무엇인가요?
소프트웨어 보안은 여전히 엔지니어링 분야에서 가장 어렵고 중요한 문제 중 하나입니다. Codex Security는 LLM 기반 보안 분석 툴킷으로, 소스 코드를 검사하고 우선순위에 따라 정렬된 구조화된 보안 이슈를 제안 패치와 함께 반환합니다. 개발자와 보안 팀이 대규모 환경에서도 보안 이슈를 발견하고 수정할 수 있도록 지원합니다.
왜 중요한가요?
소프트웨어는 현대 산업과 사회의 기반이며, 취약점은 시스템 전반의 위험을 초래합니다. Codex Security는 잠재적 보안 이슈를 지속적으로 식별하고, 가능한 경우 검증하며, 수정안을 제안하는 방어자 우선 워크플로우를 지원합니다. 이를 통해 팀은 개발 속도를 늦추지 않고 보안을 강화할 수 있습니다.
Codex Security는 어떤 비즈니스 문제를 해결하나요?
Codex Security는 의심되는 이슈를 증거와 제안 패치가 포함된, 검증되고 재현 가능한 보안 이슈로 확정하기까지의 과정을 단축합니다. 따라서 기존 스캐너만 사용할 때보다 트리아지 부담과 오탐을 줄일 수 있습니다.
Codex Security는 어떻게 작동하나요?
Codex Security는 임시 격리 컨테이너에서 분석을 실행하고 대상 레포지토리를 일시적으로 복제합니다. 코드 수준 분석을 수행한 뒤 설명, 파일과 위치, 심각도, 근본 원인, 권장 해결 방법이 포함된 구조화된 보안 이슈를 반환합니다.
검증 단계가 포함된 보안 이슈의 경우, 시스템은 동일한 샌드박스에서 제안된 명령어나 테스트를 실행합니다. 그런 다음 성공 또는 실패 여부, 종료 코드, stdout, stderr, 테스트 결과, 생성된 diff나 아티팩트를 기록하고 그 출력을 검토용 증거로 첨부합니다.
SAST를 대체하나요?
아니요. Codex Security는 SAST를 보완합니다. LLM을 활용한 의미론적 추론과 자동 검증을 추가하고, 기존 SAST 도구는 여전히 광범위한 영역을 결정론적으로 검사합니다.
기능
분석 파이프라인은 어떻게 구성되나요?
Codex Security는 다음과 같은 단계별 파이프라인을 사용합니다:
- 분석 단계에서는 레포지토리의 위협 모델을 구축합니다.
- 커밋 스캔 단계에서는 병합된 커밋과 레포지토리 기록을 검토해 잠재적 보안 이슈를 찾습니다.
- 검증 단계에서는 오탐을 줄이기 위해 잠재적 보안 이슈를 샌드박스에서 재현하려고 시도합니다.
- 패치 생성 단계에서는 Codex와 연동하여 PR을 열기 전에 검토자가 확인할 수 있는 패치를 제안합니다.
엔지니어는 GitHub, Codex 및 표준 검토 워크플로우에서 Codex Security와 함께 작업할 수 있습니다.
어떤 언어를 지원하나요?
Codex Security는 프로그래밍 언어에 구애받지 않습니다. 실제 성능은 레포지토리에서 사용하는 언어와 프레임워크에 대한 모델의 추론 능력에 따라 달라집니다.
스캔이 완료되면 어떤 결과가 제공되나요?
심각도와 검증 상태가 포함되고 우선순위가 지정된 보안 이슈가 제공되며, 가능한 경우 제안 패치도 제공됩니다. 보안 이슈에는 크래시 출력, 재현 증거, 호출 경로 컨텍스트 및 관련 주석도 포함될 수 있습니다.
고객 코드는 어떻게 격리되나요?
각 분석 및 검증 작업은 세션 전용 도구가 있는 임시 Codex 컨테이너에서 실행됩니다. 검토를 위해 아티팩트를 추출하며, 작업이 완료되면 컨테이너를 제거합니다.
Codex Security는 패치를 자동으로 적용하나요?
아니요. 제안 패치는 권장 수정안입니다. 사용자는 보안 이슈 UI에서 이를 검토한 후 GitHub에 PR로 푸시할 수 있지만, Codex Security는 레포지토리에 변경 사항을 자동으로 적용하지 않습니다.
스캔하려면 프로젝트를 빌드해야 하나요?
아니요. Codex Security는 컴파일 단계 없이도 레포지토리와 커밋 컨텍스트를 바탕으로 보안 이슈를 생성할 수 있습니다. 자동 검증 중 이슈를 재현하는 데 도움이 된다면 컨테이너 안에서 프로젝트 빌드를 시도할 수도 있습니다. 환경 설정에 대한 자세한 내용은 Codex 클라우드 환경을 참고하세요.
Codex Security는 어떻게 오탐을 줄이고 잘못된 패치를 방지하나요?
Codex Security는 두 단계로 작동합니다. 먼저 모델이 잠재적 보안 이슈의 우선순위를 정합니다. 이어서 자동 검증 단계에서 새로 생성한 컨테이너 안에 각 이슈의 재현을 시도합니다. 재현에 성공한 보안 이슈는 검증된 것으로 표시되므로 사람이 검토하기 전에 오탐을 줄이는 데 도움이 됩니다.
초기 스캔에는 시간이 얼마나 걸리며, 그 이후에는 어떻게 되나요?
초기 스캔 시간은 레포지토리 크기, 빌드 시간, 검증 단계로 넘어가는 보안 이슈 수에 따라 달라집니다. 일부 레포지토리는 스캔에 몇 시간이 걸릴 수 있고, 규모가 큰 레포지토리는 며칠이 걸릴 수 있습니다. 이후 스캔은 새 커밋과 증분 변경 사항에 집중하므로 일반적으로 더 빠릅니다.
위협 모델이란 무엇인가요?
위협 모델은 레포지토리를 스캔할 때 사용하는 보안 컨텍스트입니다. 간결한 프로젝트 개요와 함께 진입점, 신뢰 경계, 인증 관련 가정, 위험도가 높은 컴포넌트 등 공격 표면에 관한 세부 정보를 담습니다. 자세한 내용은 위협 모델 개선에서 확인하세요.
위협 모델은 어떻게 생성되나요?
Codex Security는 모델에 레포지토리 아키텍처와 보안 진입점을 요약하고, 레포지토리 유형을 분류하고, 특화된 추출기를 실행한 다음, 결과를 스캔 전반에서 사용할 프로젝트 개요 또는 위협 모델 아티팩트로 통합하도록 요청합니다.
수동 보안 검토를 대체하나요?
아니요. Codex Security는 검토 속도를 높이고 보안 이슈의 우선순위를 정하는 데 도움을 주지만, 코드 수준 검증, 악용 가능성 검사 또는 사람이 수행하는 위협 평가를 대체하지는 않습니다.
위협 모델을 편집할 수 있나요?
예. Codex Security가 초기 위협 모델을 생성하며, 아키텍처, 위험 요소, 비즈니스 컨텍스트의 변화에 맞춰 이를 업데이트할 수 있습니다. 편집 워크플로우는 위협 모델 개선에서 확인하세요.
위협 모델링을 사용하기 전에 스캔을 설정해야 하나요?
예. 위협 모델 지침은 스캔 대상과 방식에 따라 달라지므로 레포지토리를 먼저 설정해야 합니다. Codex Security 설정을 참고하세요.
제안 패치에는 어떤 내용이 포함되나요?
보안 이슈에 대한 해결 방법을 생성할 수 있는 경우, 제안 패치에는 파일 이름 및 줄 컨텍스트와 함께 적용 가능한 최소한의 diff가 포함됩니다.
패치가 사용자의 PR 브랜치를 직접 수정하나요?
아니요. 이 워크플로우는 유지관리자와 검토자가 적용 전에 살펴볼 수 있도록 diff, 패치 파일 또는 제안된 변경 사항을 생성합니다.
검증
자동 검증이란 무엇인가요?
자동 검증은 의심되는 이슈를 격리된 컨테이너에서 재현하려고 시도하는 단계입니다. 재현 성공 여부를 기록하고 로그, 명령어, 관련 아티팩트를 증거로 수집합니다.
검증에 실패하면 어떻게 되나요?
해당 보안 이슈는 검증되지 않은 상태로 남습니다. 로그와 보고서에는 시도한 내용이 계속 기록되므로 엔지니어가 다시 시도하거나, 추가로 조사하거나, 재현 단계를 조정할 수 있습니다.