Repository navigation
fix(ci): pip-audit 예외 — mcp 1.29.0 새 권고 3건(CVE-2026-116684·116685·116686), semgrep 정확 핀이라 버전 업 불가 · 도달 불가 - #1778
Merged
Merged
Conversation
…686), semgrep 정확 핀이라 버전 업 불가 · 도달 불가 required pip-audit 가 의존성을 건드리지 않은 PR 까지 전부 막고 있었다. 116685·116686 은 MCP 클라이언트가 전제인데 semgrep 1.181.0 소스와 앱에 클라이언트 사용이 없고, 116684 는 SDK HTTP 서버 bearer 인증이 전제인데 그 코드는 `semgrep mcp` 하위 명령뿐이다(우리는 `semgrep scan` 만 부른다). semgrep 이 mcp>=1.30 을 허용하면 CVE-2026-59951 과 함께 지운다. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01R4jYRzichV75XnYLSEFguX
Owner
Author
🔴 SCAManager 분석 결과총점: 44/100 (등급 F) 점수 상세
정적 분석 이슈 (상위 10건)
|
This was referenced Oct 28, 2026
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
|
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.



pytest tests/unit → 8615 passed / 4 skipped
왜 지금 (required check 가 모든 PR 을 막는다)
2026-10-28
mcp1.29.0 에 새 권고 3건이 올라와 requiredpip-audit가 의존성을 건드리지 않은 PR 까지 전부 red 다(#1776 에서 처음 관측).mcp==1.29.0은 semgrep 이 정확 핀으로 강제하는 전이 의존이고, 최신 semgrep 1.182.1 도 같은 핀이라 버전 업으로는 풀리지 않는다(#1733 에서 10-28 재확인). CVE-2026-59951(#1752)과 같은 처리다.streamable_http_client·streamablehttp_client·sse_client·ClientSessionGroup·create_mcp_http_client)mcp를 import 하지 않는다ClientSession·ClientSessionGroup)로 남의 서버 도구 호출AuthSettings+token_verifier)semgrep mcp하위 명령에만 있다. 우리는semgrep scan만 하위 프로세스로 부른다(src/analyzer/io/tools/semgrep.py)확인 방법: semgrep 1.181.0 sdist 를 받아 grep(실행하지 않음) —
mcpimport 는semgrep/commands/mcp.py·semgrep/mcp/**뿐.semgrep/cli.py가 시작 시semgrep.commands.mcp를 import 해 명령을 등록하지만, 그 코드는mcp하위 명령일 때만 돈다.바꾼 것
.github/workflows/ci.ymlpip-audit 스텝에--ignore-vuln3개 + 근거·재검토 조건 주석(기존 두 예외와 같은 형식). 재검토 조건: semgrep 이mcp>=1.30.0을 허용하면 CVE-2026-59951 과 함께 삭제 · 우리가 MCP 클라이언트를 쓰거나semgrep mcp(또는 SDK HTTP 서버 인증)를 띄우면 즉시 삭제. 추적은 #1733 표에 함께 올린다.증거
pip_audit -r requirements.txt -r requirements-dev.txt(pip-audit 2.10.1, CI 와 같은 판): 새 세 ID 를 넣으면No known vulnerabilities found, 5 ignored· exit 0, 빼면 정확히 mcp 3건 · exit 1. (Windows 는PYTHONUTF8=1이 있어야 requirements 의 UTF-8 주석을 읽는다 — 로컬 실행 함정.)ci.yml을 읽는 단위 시험 32파일: 629 passed / 4 skipped.Grok claim-review
사람이 볼 것
pip-audit를 다시 돌리면(gh run rerun --failed) 초록이 된다.스스로 판단한 것
--no-deps감사로 바꾸는 길은 택하지 않았다 — 앞쪽은 분석기 하나를 잃고, 뒤쪽은 전이 의존 전체를 감사에서 뺀다.🤖 Generated with Claude Code
https://claude.ai/code/session_01R4jYRzichV75XnYLSEFguX