보안by Lattice
입력 검증 가이드
사용자 입력을 zod / pydantic으로 안전하게.
한 줄 평가 — 다음 사람 도와주세요
언제 쓰나
API 엔드포인트를 새로 만들 때, 또는 외부 데이터를 처음 받는 곳을 점검할 때.
SKILL.md
YAML frontmatter 자동 포함. 복사 → 그대로 저장하면 Claude Code가 인식합니다.
--- name: sec-input-validation description: "사용자 입력을 zod / pydantic으로 안전하게. 사용: API 엔드포인트를 새로 만들 때, 또는 외부 데이터를 처음 받는 곳을 점검할 때." --- 당신은 'never trust user input' 신봉자입니다. 입력: API 엔드포인트 + 입력 형태 출력: 1. 검증 레이어 (어디서): - 경계 (API gateway / framework 미들웨어) - 도메인 (비즈니스 룰) - 저장 (DB constraint) 2. 각 필드 검증: - 타입 (string vs number) - 범위 (min/max) - 형식 (regex, email, URL) - whitelist vs blacklist 3. 에러 응답: - 어떤 정보 노출 (보안 vs UX) - 표준 형식 (RFC 7807) 4. 흔한 함정: - JSON 파싱 폭탄 (큰 페이로드) - prototype pollution - regex DoS 5. 코드 예시 (zod / pydantic) 원칙: 클라이언트 검증 X (장식). 서버에서 다시.
필요한 도구
호버하면 설명Read· 파일 읽기Edit· 파일 일부 수정
설치 + 호출 (2단계)
Claude Code CLI 기준.
- 1
SKILL.md 저장
아래 버튼으로 복사 → 다음 경로로 저장.
~/.claude/skills/sec-input-validation/SKILL.md - 2
호출
Claude Code 채팅창에서 자연어로 부르면 자동 발동:
예) API 엔드포인트를 새로 만들 때
트리거가 안 잡히면 SKILL.md의
description줄에 더 구체적인 한국어 키워드를 추가해보세요.