Skip to content

fix(security): Trivy의 requirements 잠금 파일 탐지 누락 수정 - #1969

Draft
seonghobae wants to merge 2 commits into
mainfrom
codex/trivy-custom-requirements-manifests
Draft

fix(security): Trivy의 requirements 잠금 파일 탐지 누락 수정#1969
seonghobae wants to merge 2 commits into
mainfrom
codex/trivy-custom-requirements-manifests

Conversation

@seonghobae

Copy link
Copy Markdown
Contributor

원인과 변경

기본 Trivy 탐지가 requirements-strix-ci-hashes.txt를 누락해, 취약한 aiohttp 3.14.1이 있어도 결과가 비어 있었습니다. Naruon의 동일 merge-ref에서 pip 파일 패턴을 추가하면 탐지된 manifest가 4개에서 11개로 늘고 CVE-2026-69244 HIGH가 검출됩니다. 이 수치는 관찰한 두 archive의 탐지 범위이며 조직 전체 개선율이 아닙니다.

기존 Security Scan과 Scheduled Security Scan의 Trivy action 두 곳에 trusted TRIVY_FILE_PATTERNS 환경값만 추가합니다. 기본 탐지, severity, 수정판 없는 취약점 처리, SARIF 보존 및 hard-fail parser, 권한을 유지합니다. workflow/job/step/스캔 호출은 늘리지 않으며 PR checkout의 별도 설정 파일을 신뢰하지 않습니다.

검증

대상 head: 61033f2
기준 main: dd0b96f

  • RED: 기존 설정에서 2 failed, 4 passed.
  • 최종 head 일반 계약 테스트 71 passed; GITHUB_ACTIONS=true 계약 테스트 71 passed. 두 실행 모두 exit 0.
  • 실제 step의 env 값과 지원되지 않는 with 입력 부재를 검사합니다. 새 YAML 의존성을 추가하지 않았습니다.
  • 두 workflow actionlint 및 git diff --check exit 0.
  • Trivy 0.74 fixture에서 기본 탐지는 대상 없음, 실제 TRIVY_FILE_PATTERNS 환경 경로는 대상 파일 탐지. 검증 전후 head 동일.
  • 주 작업 세션이 전체 diff, exact-head 영수증과 소비자 원본 JSON을 독립 확인했습니다.

Naruon 기존 #1244의 의존성 패치는 별도이며 중앙 잠금 파일은 이미 aiohttp 3.14.3입니다. 본 PR은 의존성 복제가 아닌 공통 탐지 누락 수리입니다. 연구·공식 문서 근거는 docs/doctoring/trivy-custom-requirements-manifest-coverage.md에 기록했습니다.

미완료 경계

Mac 잠금으로 최신 Visual Inspection은 미완료입니다. 현재 자격 증명의 Project 조회 scope도 부족해 프로젝트 항목 연결은 미확인입니다. 잠금/권한을 우회하지 않고 Draft로 유지합니다. 실제 GitHub Actions, 독립 승인, 보호 병합 및 소비자 실행은 로컬 검증과 별도이며 아직 완료로 주장하지 않습니다.

Signed-off-by: Seongho Bae <me@seonghobae.me>
Signed-off-by: Seongho Bae <me@seonghobae.me>
@coderabbitai

coderabbitai Bot commented Sep 6, 2026

Copy link
Copy Markdown

Important

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Trigger a manual review

To automatically review draft PRs, update your CodeRabbit configuration:

reviews:
  auto_review:
    drafts: true

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@seonghobae

Copy link
Copy Markdown
Contributor Author

전체 회귀 검증을 추가했습니다. 정확한 head 61033f205ce058ac3692260dc7a52e4daf05b64b에서 tests/ 전체 2958 passed, 1 skipped, 120.18초, terminal exit0입니다. 검증 전후 head 동일, tracked 작업 트리 clean, stderr 0바이트를 주 작업 세션도 영수증에서 직접 확인했습니다. JUnit SHA256: 978a5af21dd5a4b2231ea388f34e8e07b58cfce7ab54665b222e496ae0a94061. LLVM 19 도구가 없는 호스트에서 해당 도구 검증 1건이 skip됐습니다.

기존 focused 71개 검사와 별개의 전체 tests/ 결과이며 전체 coverage 또는 모든 환경 검증으로 주장하지 않습니다. 실제 hosted 스캔, 보호 병합, 최신 Visual Inspection은 여전히 별도 미완료 항목입니다. 소스 변경이나 Ready 전환은 하지 않았습니다.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant