---
id: SEC-INPUT-001
category: Unified
confidence_score: 1.0
tags: [security, software-engineering, input-validation, data-inte[[Grit|Grit]]y, defensive-programming]
last_reinforced: 2026-04-26
---

# Input Validation Strategies (입력 검증 전략)

## 📌 한 줄 통찰 (The Karpathy Summary)
> "모든 외부 입력을 잠재적 위협으로 간주하고, 시스템의 경계에서 데이터의 형식과 의도를 엄격히 심사하라" — 사용자나 다른 시스템으로부터 유입되는 데이터가 기대하는 형식, 길이, 타입에 맞는지 확인하여 인젝션 공격이나 런타임 오류를 원천 차단하는 방어적 설계 전략.

## 📖 구조화된 지식 (Synthesized Content)
- **추출된 패턴:** "Never Trust User Input" — 신뢰할 수 없는 경계(Trust Boundary)를 통과하는 모든 데이터에 대해 화이트리스트 기반의 검증을 수행하고, 안전한 형태로 변환(Sanitization)하여 시스템 내부로 전달하는 필터링 패턴.
- **주요 전략:**
    - **Type Checking:** 기대하는 데이터 타입(String, Int 등) 여부 확인.
    - **Range & Format Validation:** 숫자의 범위나 이메일/날짜 등의 정규식 패턴 검치.
    - **Whitelisting:** 허용된 값의 목록 외에는 모두 거부 (가장 안전한 방식).
    - **Sanitization:** 위험한 특수 문자(<, >, ' 등)를 안전한 문자로 치환.
- **의의:** SQL Injection, XSS, Buffer Overflow 등 고질적인 소프트웨어 보안 취약점의 80% 이상을 예방할 수 있는 가장 기본적이고 강력한 보안 수단.

## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
- **과거 데이터와의 충돌:** 단순한 문법적 검증에서 벗어나, 이제는 LLM 시대에 맞춰 '프롬프트 인젝션'과 같은 의미론적 위협(Semantic Threat)을 감지하고 차단하는 지능형 검증이 필수적으로 요구됨.
- **정책 변화:** Antigravity 프로젝트는 에이전트에게 전달되는 모든 사용자 발화와 외부 파일 데이터를 처리하기 전, 보안 스캔 및 형식 검증 레이어를 거치도록 강제함.

## 🔗 지식 연결 (Graph)
- Software-Architecture-Patterns, Cloud-Security-[[Mastery|Mastery]], Data-Privacy-Foundations, [[LLM-Security-and-Safety|LLM-Security-and-Safety]]
- **Raw Source:** 10_Wiki/Topics/AI/Input-Validation-Strategies.md
