Skip to content

[11/13] CONSTRUCTION 완료 전 정적분석 + 시큐어코딩 리뷰 서브에이전트 #6

@bluejayA

Description

@bluejayA

배경

현재 CONSTRUCTION 단계에서 code-generation → build-and-test로 진행되지만, 코드 품질과 보안에 대한 체계적 검증 단계가 없음. 기존 code-review 스킬은 PR 단위의 일반 리뷰에 초점이 맞춰져 있어, 정적분석/보안 관점의 전문 리뷰가 부재.

제안

code-generation 완료 후 별도 Claude 서브에이전트가 정적분석 + 시큐어코딩 리뷰를 수행하는 게이트 추가. 설계상에서

정적분석 체크리스트

  • 코드 복잡도 (깊은 중첩, 과도한 분기)
  • Dead code / 미사용 import·변수
  • 에러 핸들링 누락 (uncaught exception, 빈 catch 블록)
  • 하드코딩된 설정값 (매직 넘버, 문자열 리터럴)
  • 의존성 이슈 (순환 의존, 불필요한 외부 패키지)

시큐어코딩 체크리스트 (OWASP Top 10 기반)

  • Injection (SQL, Command, XSS, Path Traversal)
  • 인증/인가 결함 (하드코딩된 시크릿, 권한 검증 누락)
  • 민감 데이터 노출 (로그에 비밀번호/토큰 출력, 평문 저장)
  • 입력 검증 부재 (사용자 입력 미검증, 타입/범위 체크 누락)
  • 안전하지 않은 설정 (CORS *, debug=True, 비활성 CSRF 보호)
  • 의존성 보안 (알려진 취약 버전 사용)

언어별 특화 규칙

  • Python: eval()/exec() 사용, pickle 역직렬화, subprocess shell=True
  • Go: 에러 무시(_ = err), race condition (goroutine 공유 변수)
  • Rust: unsafe 블록 정당성, .unwrap() 남용
  • Swift: force unwrap(!) 남용, 키체인 미사용 민감 데이터 저장
  • Java/Spring: SQL 문자열 연결, @CrossOrigin("*"), 부적절한 예외 노출

출력 형식

  • 심각도 분류: Critical / High / Medium / Low
  • 각 이슈: 파일:라인, 카테고리, 설명, 수정 제안
  • 게이트 규칙: Critical → 머지 차단(필수 수정), High → 사용자 판단, Medium/Low → 권고

실행 방식

  • 적절한 skill 이 있다면 찾아서 재활용. 아니면, 별도의 sub-agent로 하면 될 듯 하고 codex와 같은 외부 AI 는 활용필요성 적음
  • code-generation 완료 후, build-and-test 이전에 실행
  • 선택적 실행 (사용자 요청 시 또는 workflow-planning depth에 따라 자동)

기대 효과

  • 보안 취약점 조기 발견 (프로덕션 배포 전 차단)
  • 코드 품질 일관성 확보
  • CLAUDE.md의 "보안 자동 검토" 원칙을 체계적으로 이행

영향 범위

  • construction-orchestrator (리뷰 게이트 추가)
  • 신규 스킬: static-security-review 또는 기존 code-review 확장
  • workflow-planning (depth에 따른 자동 실행 여부 결정)

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions