fix: v1.7.1 — 보안 하드닝 (다중에이전트 감사 3건) - #8
Merged
Merged
Conversation
신뢰할 수 없는 프로젝트를 진단하는 스킬 특성상 위협 모델 1순위인 결과지 인젝션·비밀키 검사 우회·유출 경로를 수정 (dev v2.7.1과 동일). - [High] HTML/PDF 결과지 이스케이프 의무(report-formats.md 2장): 분석 대상에서 온 값(파일명·소견·코드 인용·프로젝트명)을 HTML 삽입 전 5문자 엔티티 치환 강제. 악성 파일명 raw passthrough로 인한 저장형 XSS 차단. - [High] 정답지 제외의 비밀키 우회(SKILL.md 절대 규칙 9): EXPECTED.md 제외를 진단 채점 한정으로 좁히고 SEC/PII/HARD-01은 항상 검사. - [Medium] HTML/PDF 비밀키 자가 점검(report-formats.md 5장): FORM-11이 .md만 보므로 HTML/PDF 저장 전 키 값 부재를 직접 대조하도록 의무화. - [위생] CI 최소권한 + 액션 버전업(ci.yml): permissions: contents: read + actions/checkout@v5, setup-python@v6 (2026-06-16 Node 20 종료 대응). 절차 문서·CI만 변경. 진단 카탈로그·채점기·픽스처·정답지 무변경. CI 4종(버전 정합·56 테스트·채점 회귀·링크) 로컬 green. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Ps-Neko
added a commit
that referenced
this pull request
Jun 13, 2026
신뢰할 수 없는 프로젝트를 진단하는 스킬 특성상 위협 모델 1순위인 결과지 인젝션·비밀키 검사 우회·유출 경로를 수정 (dev v2.7.1과 동일). - [High] HTML/PDF 결과지 이스케이프 의무(report-formats.md 2장): 분석 대상에서 온 값(파일명·소견·코드 인용·프로젝트명)을 HTML 삽입 전 5문자 엔티티 치환 강제. 악성 파일명 raw passthrough로 인한 저장형 XSS 차단. - [High] 정답지 제외의 비밀키 우회(SKILL.md 절대 규칙 9): EXPECTED.md 제외를 진단 채점 한정으로 좁히고 SEC/PII/HARD-01은 항상 검사. - [Medium] HTML/PDF 비밀키 자가 점검(report-formats.md 5장): FORM-11이 .md만 보므로 HTML/PDF 저장 전 키 값 부재를 직접 대조하도록 의무화. - [위생] CI 최소권한 + 액션 버전업(ci.yml): permissions: contents: read + actions/checkout@v5, setup-python@v6 (2026-06-16 Node 20 종료 대응). 절차 문서·CI만 변경. 진단 카탈로그·채점기·픽스처·정답지 무변경. CI 4종(버전 정합·56 테스트·채점 회귀·링크) 로컬 green. Co-authored-by: Ps-Neko <207958392+Ps-Neko@users.noreply.github.com> Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
요약
신뢰할 수 없는(남의·감염 가능성 있는) 프로젝트를 진단하는 스킬 특성상, 위협 모델 1순위인 결과지 인젝션·비밀키 검사 우회·유출 경로를 보안 감사 + 적대 검증으로 점검해 수정했습니다. 비공개 개발판(dev v2.7.1)에서 먼저 검증·머지한 동일 수정을 공개판에 반영합니다.
수정 내역 (v1.7.0 → v1.7.1)
report-formats.md2장: 분석 대상에서 온 모든 값(파일명·소견·코드 인용·프로젝트명)을 HTML 삽입 전 5문자(& < > " ') 엔티티 치환 절대 규칙 추가SKILL.md규칙 9: 제외를 진단 채점 한정으로 좁히고 SEC-01·SEC-02·PII-01·HARD-01은 제외 파일도 항상 검사report-formats.md5장: HTML/PDF 저장 전 키 값 부재를 md와 동일 기준으로 직접 대조 의무화ci.yml:permissions: contents: read+ actions/checkout@v5·setup-python@v6 (2026-06-16 Node 20 종료 대응)악용 시나리오 (High 2건)
</style><img src=x onerror=…>.py같은 파일명을 두면 결과지(.html)에 raw로 박혀, 사용자가 더블클릭하거나 PDF 변환(headless 브라우저가file://로드) 시 실행. 기존<script> 금지는 Claude의 작성만 제약할 뿐 데이터 passthrough를 못 막음.EXPECTED.md에 숨기면 공개 전 검진 SEC 스캔이 건너뛰어 거짓 "자동 점검 통과 ✅"가 가능.범위
절차 문서 + CI만 변경. 진단 카탈로그·채점기·픽스처·정답지 무변경. CI 4종(버전 정합·56 테스트·채점 회귀·링크) 로컬 green.
🤖 Generated with Claude Code