$codex-security:triage-finding을 사용해 현재 리포지터리를 기준으로 기존 보안 이슈를 검토하세요. 이 워크플로우는 읽기 전용 정적 분석을 수행합니다. Codex는 각 보안 이슈를 아직 입증되지 않은 주장으로 보고, 코드를 실행하지 않고 리포지터리에서 근거를 확인합니다.
평가하려는 리포지터리를 작업 범위로 설정한 Codex 프로젝트에서 이 워크플로우를 실행하세요. Codex에는 리포지터리의 소스 코드를 읽을 권한이 필요합니다. Jira와 Linear에서는 커넥터로 보안 이슈 데이터를 가져올 수 있고, GitHub에서 보안 이슈를 가져오려면 인증된 GitHub REST 액세스가 필요합니다. 어느 경우든 Codex가 소스 코드에 별도로 접근할 수 있어야 합니다.
이 워크플로우는 $codex-security:validation과 다릅니다. 검증 워크플로우에서는 코드를 빌드하거나 실행하고, 테스트나 개념 증명을 만들거나, 실제 인터페이스를 사용해 보고된 문제를 재현하거나 반증할 수 있습니다. 기존 백로그를 분류하고 우선순위를 정할 때는 분류 워크플로우를 사용하세요. 정적 근거만으로 판단하기 어려운 보안 이슈를 실행 결과로 판별할 수 있다면 검증 워크플로우를 사용하세요.
백로그 분류는 기존 보안 이슈를 대상으로 합니다. 리포지터리에서 새로운 취약점을 찾으려면 보안 스캔을 실행하세요. 분류 과정에서는 리포지터리를 변경하거나 문제를 수정하지 않습니다.
분류할 보안 이슈 선택
다음 출처에서 보안 이슈를 하나 또는 여러 개 제공할 수 있습니다.
| 출처 | 제공할 정보 | 요구 사항 |
|---|---|---|
| 붙여넣은 보안 이슈 또는 로컬 보안 이슈 | SARIF 결과, CVE 또는 GHSA, 보안 권고문, 스캐너가 생성한 티켓, 버그 바운티 보고서, Codex Security 보안 이슈 아티팩트 또는 취약점이 의심되는 내용을 일상 언어로 설명한 글 | 커넥터가 필요하지 않습니다. |
| Jira 또는 Linear | 보안 또는 취약점 관련 이슈의 정확한 URL이나 식별자, Jira JQL 쿼리 또는 Linear의 팀, 프로젝트, 검색어를 제공하세요. Codex는 분류에 앞서 선택한 이슈의 내용을 가져옵니다. | Atlassian Rovo를 통한 Jira 연결 또는 Linear 연결에 읽기 권한이 필요합니다. |
| GitHub | 리포지터리를 지정하고 보안 이슈 출처로 코드 스캔, Dependabot 취약점 및 멀웨어, 보안 권고문 및 비공개 취약점 보고서, 전체 출처 중 하나를 선택하세요. 리포지터리를 지정하지 않으면 Codex는 현재 Codex 프로젝트에 연결된 GitHub 리포지터리가 있을 때 해당 리포지터리를 사용합니다. GitHub 이슈는 기본적으로 포함되지 않습니다. 특정 이슈를 제공하거나 GitHub 이슈를 포함해 달라고 명시하세요. |
gh auth token, GH_TOKEN, GITHUB_TOKEN 등으로 인증된 GitHub REST 액세스가 필요하며, 선택한 리포지터리와 해당 유형의 보안 이슈를 읽을 권한이 있어야 합니다. |
Codex는 원본 보안 이슈를 각각 추적할 수 있도록 입력 순서대로 이슈마다 결과를 하나씩 남깁니다. 중복으로 보이는 이슈도 합치거나 제외하지 않습니다.
읽기 전용 분류 실행
보안 이슈를 붙여넣거나 로컬 아티팩트를 사용할 때는 다음과 같은 프롬프트를 보내세요.
$codex-security:triage-finding 스킬로 아래에 제시한 기존 보안 이슈를 이 리포지터리의 근거에 따라 분류하세요.
[Paste the findings or provide the artifact path.]
Jira 또는 Linear 이슈를 사용할 때는 대상 이슈를 지정하고 원본 시스템은 읽기 전용으로 사용하도록 요청하세요.
$codex-security:triage-finding 스킬로 [Jira or Linear issue URLs, identifiers, or query]로 지정한 보안 이슈를 가져온 뒤 이 리포지터리의 근거에 따라 분류하세요.
원본 이슈를 변경하지 마세요.
GitHub 보안 이슈를 사용할 때는 리포지터리와 출처를 지정하세요.
$codex-security:triage-finding 스킬로 [code scanning, Dependabot vulnerabilities and malware, security advisories and private vulnerability reports, or all]에 해당하는 보안 이슈를 [owner/repository]에서 가져온 뒤 이 리포지터리의 근거에 따라 분류하세요.
현재 Codex 프로젝트에 연결된 GitHub 리포지터리를 사용하려면 보안 이슈의 출처만 지정하세요.
$codex-security:triage-finding 스킬로 GitHub에서 [code scanning, Dependabot vulnerabilities and malware, security advisories and private vulnerability reports, or all]에 해당하는 보안 이슈를 가져온 뒤 이 리포지터리의 근거에 따라 분류하세요. 현재 Codex 프로젝트에 연결된 GitHub 리포지터리를 사용하세요.
Codex는 현재 소스 코드와 적용되는 SECURITY.md 정책을 확인한 뒤 입력된 보안 이슈별로 판정 결과를 반환합니다. 각 주장을 뒷받침하는 근거와 반박하는 근거를 모두 기록하고 아직 답을 얻지 못한 질문도 함께 남깁니다.
결과 검토
| 판정 | 의미 |
|---|---|
confirmed |
리포지터리의 근거에 따르면 명시된 전제 조건에서 취약한 코드 경로에 도달할 수 있으며, 이 경로는 지원되는 보안 경계를 넘습니다. |
not_actionable |
리포지터리의 근거로 해당 주장을 배제할 수 있습니다. 예를 들어 사용 중인 버전이 영향을 받지 않거나, 해당 경로에 도달할 수 없거나, 보호 장치가 효과적으로 작동하거나, 해당 기능이 배포 대상에 포함되지 않는 경우입니다. |
needs_review |
필요한 정보가 없거나 모호한 경우, 또는 실행 시점의 동작이나 환경, 정책에 따라 결론이 달라지는 경우로, 리포지터리의 근거만으로는 판정할 수 없습니다. |
순위를 참고해 confirmed 이슈 중 무엇을 먼저 수정할지, needs_review 이슈 중 무엇을 먼저 조사할지 정하세요. 순위는 두 그룹에서 각각 매깁니다.
판정 이유를 읽으면서 영향을 받는 코드와 공격에 필요한 전제 조건을 함께 살펴보세요. 순위에 따라 조치하기 전에 근거가 주장과 부합하는지, 아직 답을 얻지 못한 질문은 무엇인지 확인하세요. 여기서 confirmed는 리포지터리의 정적 근거가 주장을 뒷받침한다는 뜻이며, 애플리케이션을 실행해 문제를 재현했다는 뜻은 아닙니다.
분류 결과를 검토한 뒤 Codex에 업데이트를 요청해야 Jira, Linear 등 원본 백로그의 기록이 변경됩니다.
다음 단계
-
confirmed: 담당자가 보안 이슈를 수정 대상으로 받아들이면$codex-security:fix-finding을 사용해 문제를 수정하고 수정 결과를 검증하세요. 분류 워크플로우는 후속 작업에 필요한 정보를 프롬프트로 바로 사용할 수 있게 정리하지만 스킬을 자동으로 호출하지는 않습니다. -
needs_review: 코드를 실행해 부족한 근거를 확보할 수 있다면$codex-security:validation을 사용해 실행 중인 코드에서 보안 이슈를 검증하세요. 분류 결과에서 보고된 문제, 영향을 받는 위치, 전제 조건, 정적 근거, 아직 입증되지 않은 부분을 함께 전달하세요.$codex-security:validation 스킬로 백로그 분류 결과에서 [triage item ID or source ID]에 해당하는 보안 이슈를 동적으로 검증하세요. 보고된 문제를 재현하거나 해당 주장을 반증하세요. 무엇을 테스트했는지 기록하고 여전히 불확실한 점을 나열하세요.분류와 달리 검증 과정에서는 코드를 빌드하거나 실행하고, 테스트나 개념 증명을 만들거나, 실제 인터페이스를 사용할 수 있습니다. 실행 제어에 관한 자세한 내용은 Codex 승인 및 보안 정책을 참고하세요.
-
needs_review: 제품 정책이나 배포 상황에 따라 판정이 달라진다면 코드를 변경하기 전에 결과에 나열된 미해결 질문에 답하세요. -
not_actionable: 근거를 분류 기록과 함께 보관하세요. Codex는 원본 티켓을 자동으로 닫거나 업데이트하지 않습니다. -
제공한 백로그에 없는 취약점을 찾으려면 보안 스캔을 실행하세요.