--- name: rhel-cve description: Red Hat RHEL CVE를 조사해 Confluence용 한국어 Markdown 리포트를 작성한다. CVE ID 단독 입력도 처리한다. --- # RHEL 취약점 조사 스킬 Red Hat에서 제공하는 제품별 취약점 상태와 패치 자료를 모아 근거가 드러나는 답을 만든다. 확인하지 않은 값은 채워 넣지 않는다. ## 시작할 때 모드 결정 | 사용자가 보낸 것 | 결과 | 지침 | |---|---|---| | CVE 하나 또는 Red Hat CVE 페이지 주소 | 단일 건 Markdown 파일 | `references/report-format.md` | | CVE 여러 건 또는 RHSB 주소 | CVE별 분석을 합친 Markdown 파일 | `references/report-format.md` | | 여러 CVE의 요약 목록을 명시적으로 요청 | 분류·집계가 있는 Markdown 파일 | `references/batch-summary.md` | | 특정 제품 영향, 버전, 설명문에 관한 질문 | 근거가 있는 대화 답변, 파일 없음 | 아래 참고 지침 | RHSB 링크를 받으면 페이지에 나열된 CVE와 보안 공지를 먼저 식별한다. 여러 건을 받으면 입력에서 나온 건수와 중복 제거한 CVE 수를 분리해 둔다. 여러 건을 받았더라도 요약을 요청하지 않았다면 통합 리포트 모드를 쓴다. 질문 속 CVE 하나는 사용자가 파일을 요청하지 않는 한 답변 모드로 처리한다. 영향 여부를 묻는 질문에 식별자가 없어 다시 묻는 경우에도 원래 답변 모드를 유지한다. 식별자를 받으면 먼저 대화로 영향 여부와 근거를 답하며, 사용자가 파일이나 리포트를 별도로 요청하지 않았다면 파일 리포트 작성이나 전달을 예고하지 않는다. ## 조사 순서 1. CVE 식별자를 정규화한다. 사용자가 기준으로 삼을 RHEL 버전을 줬다면 그 버전만 평가한다. 2. `references/data-sourcing.md`의 원문 수집 순서를 따른다. Red Hat 제품 페이지와 Hydra 자료를 분리해 확인하고, 패치가 있으면 errata에서 릴리스 세부 정보를 대조한다. 3. 제품 판정에는 Hydra의 제품 상태와 영향 릴리스 자료를 각각 사용한다. 두 자료를 합쳐 하나의 상태처럼 쓰지 않는다. JSON과 XML의 결과가 다르면 차이를 보고한다. 4. RPM 비교가 필요한 경우 원본 EVR 전체를 유지하고 RPM 규칙으로 비교한다. 사용할 비교 수단을 확인하지 못하면 추정하지 않는다. 5. EPSS와 KEV 자료는 `scripts/epss_kev.py`로 조회할 수 있다. 출력에 포함된 조회 URL과 오류를 함께 확인한다. 6. `references/judgment-rules.md`의 판정 절차를 적용하고, 선택한 모드에 맞춰 문서를 작성한다. 7. 파일을 만들 경우 원문 수집과 판정을 마친 뒤 보고서 구조의 간결한 HTML 미리보기를 먼저 제시하고 확인을 받는다. 사용자가 완성 리포트를 즉시 요청하면 미리보기 승인을 생략한다. 승인 후 파일을 만들고 `scripts/check_report.py`를 실행한다. 이 도구는 문서 틀만 검사하므로 숫자·제품·출처는 원문과 별도로 맞춘다. 검증 답변 모드는 이 확인을 거치지 않는다. ## 판정 경계 - 자료가 내려오지 않은 경우와 조회에 성공했지만 항목이 없는 경우는 다르게 적는다. - 특정 제품 상태가 자료에 없다는 사실만으로 해당 제품이 영향받지 않는다고 결론 내리지 않는다. - 출처 간 불일치, 범위 제한, 대체 자료, 실패 지점을 감추지 않는다. - KEV 목록 등재는 Red Hat 제품의 상태를 대신 판정하지 않는다. - 출력물의 고정 주의문은 제품별 취약성 증거로 쓰지 않는다. - 외부 소스는 실제로 열어 확인한 URL만 출처 목록에 넣는다. ## 리포트와 보안 단건·통합 리포트의 제목, 고정 구획, 표 구조는 `references/report-format.md`를 따른다. 다건 요약은 `references/batch-summary.md`만 기준으로 한다. 고객·조직·호스트 식별정보는 출력 파일이나 저장소 예제에 넣지 않는다. 예제와 fixture는 예약된 가상 식별자만 쓴다. 외부 시스템에 게시하거나 변경을 적용하지 않는다. 필요한 정보가 빠졌으면 식별자나 대상 버전을 한 번에 물어본다. ## 포함 파일 - `references/data-sourcing.md`: 자료원 선택과 실패 처리 - `references/judgment-rules.md`: 제품 상태·버전 비교 판단 - `references/report-format.md`: 단일 및 통합 보고서 서식 - `references/report-example.md`: 시험용 가상 단일 보고서 - `references/batch-summary.md`: 요청형 다건 요약 서식 - `scripts/epss_kev.py`: EPSS·KEV의 읽기 전용 일괄 조회 - `scripts/check_report.py`: 보고서 구조 검사