Skip to content

2FA / CME flaky 수정 / 보안 단위 테스트#3

Merged
Sangmoo merged 4 commits into
masterfrom
claude/objective-ritchie-e7492f
May 19, 2026
Merged

2FA / CME flaky 수정 / 보안 단위 테스트#3
Sangmoo merged 4 commits into
masterfrom
claude/objective-ritchie-e7492f

Conversation

@Sangmoo
Copy link
Copy Markdown
Owner

@Sangmoo Sangmoo commented May 19, 2026

No description provided.

Sangmoo and others added 4 commits May 7, 2026 14:22
…her + Docker 분리 컨테이너

stdio 전용이던 MCP server 에 HTTP transport 추가 — 사내망 1대를 여러 개발자 PC 가
mcp-remote 로 공유하는 경로. per-request X-Api-Key 패스스루로 audit/rate limit
은 사람별로 분리 유지.

핵심 변경:
- claude-toolkit-mcp/src: MCP_TRANSPORT=stdio|http 분기, StreamableHTTPServerTransport
  + Express, X-Api-Key 헤더 → per-request ToolkitClient
- ToolkitClient: baseUrl/apiKey 옵션 주입 가능 (env fallback 유지)
- platform/McpServerLauncher.java: ApplicationReadyEvent 시 node child process spawn,
  @PreDestroy 로 동시 종료 (mvn spring-boot:run 시점 자동 기동)
- application.yml: toolkit.mcp.* 설정 (auto-start, host, port, node, project-root)
- claude-toolkit-mcp/Dockerfile: node:20-alpine 멀티스테이지 + tini + healthcheck
- docker-compose.yml: claude-toolkit-mcp 서비스 추가, 컨테이너 안 launcher 는
  TOOLKIT_MCP_AUTOSTART=false 로 중복 spawn 방지
- service/: systemd unit + Windows NSSM 스크립트 (별도 호스트 배포용)
- docs/mcp-setup.md: §5-2 사내망 공유 / §5-3 dev 자동기동 / §5-4 Docker 배포

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…d() reflection

원인: Spring Boot 2.x / JDK 1.8 빌드인데 Spring Boot 3 가정으로 작성되어
docker build 시 컴파일 실패.

- jakarta.annotation.PreDestroy → javax.annotation.PreDestroy
- Process.pid() (Java 9+) → reflection 으로 wrapping (Java 8 에서는 "?" 표시)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…y 수정

- AccountController.disable-2fa: ADMIN 계정은 2FA 비활성화 차단 (로그인 강제 + 비활성화 차단으로 필수화 완성)
- 신규 단위 테스트: TotpServiceTest(14) + TwoFactorAuthHandlerTest(5) + AccountController2faTest(5)
- SecuritySmokeTests: 2FA pending 인터셉터/비활성화 권한 검증 4건 추가
- HarnessSqlOptimization/SpMigration/LogRca StreamingTest: mock chatStream 에 50ms 지연
  추가 — Spring MVC 가 SseEmitter async-context 리스너를 등록하기 전에 백그라운드
  스레드가 emitter.complete() 로 MockAsyncContext.listeners 를 순회하며 발생하던
  ConcurrentModificationException (전체 mvn test 시 간헐 실패) 해소
- README.md / docs/index.html v4.7.2 갱신

전체 테스트 통과: Tests run: 319, Failures: 0, Errors: 0

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@Sangmoo Sangmoo merged commit f0a3997 into master May 19, 2026
1 check passed
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