Skip to content

fix: v1.7.1 — 보안 하드닝 (다중에이전트 감사 3건) - #8

Merged
Ps-Neko merged 1 commit into
mainfrom
fix/security-v1.7.1
Jun 13, 2026
Merged

fix: v1.7.1 — 보안 하드닝 (다중에이전트 감사 3건)#8
Ps-Neko merged 1 commit into
mainfrom
fix/security-v1.7.1

Conversation

@Ps-Neko

@Ps-Neko Ps-Neko commented Jun 13, 2026

Copy link
Copy Markdown
Owner

요약

신뢰할 수 없는(남의·감염 가능성 있는) 프로젝트를 진단하는 스킬 특성상, 위협 모델 1순위인 결과지 인젝션·비밀키 검사 우회·유출 경로를 보안 감사 + 적대 검증으로 점검해 수정했습니다. 비공개 개발판(dev v2.7.1)에서 먼저 검증·머지한 동일 수정을 공개판에 반영합니다.

수정 내역 (v1.7.0 → v1.7.1)

심각도 발견 수정
🟠 High HTML/PDF 결과지에 이스케이프 규칙 부재 → 저장형 XSS report-formats.md 2장: 분석 대상에서 온 모든 값(파일명·소견·코드 인용·프로젝트명)을 HTML 삽입 전 5문자(& < > " ') 엔티티 치환 절대 규칙 추가
🟠 High 정답지 제외(절대 규칙 9)가 비밀키 은닉처 SKILL.md 규칙 9: 제외를 진단 채점 한정으로 좁히고 SEC-01·SEC-02·PII-01·HARD-01은 제외 파일도 항상 검사
🟡 Medium FORM-11(비밀키 값 검사)이 .md만 봄 report-formats.md 5장: HTML/PDF 저장 전 키 값 부재를 md와 동일 기준으로 직접 대조 의무화
⚪ 위생 CI 토큰 광역 권한 + Node 20 액션 ci.yml: permissions: contents: read + actions/checkout@v5·setup-python@v6 (2026-06-16 Node 20 종료 대응)

악용 시나리오 (High 2건)

  • XSS: 악성 프로젝트에 </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

신뢰할 수 없는 프로젝트를 진단하는 스킬 특성상 위협 모델 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
Ps-Neko merged commit 3e33de8 into main Jun 13, 2026
2 checks passed
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>
@Ps-Neko
Ps-Neko deleted the fix/security-v1.7.1 branch June 13, 2026 09:44
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