2.3 KiB
2.3 KiB
id: SEC-INPUT-001 category: "10_Wiki/💡 Topics/AI" confidence_score: 1.0 tags: [security, software-engineering, input-validation, data-inteGrity, 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, Data-Privacy-Foundations, LLM-Security-and-Safety
- Raw Source: 10_Wiki/Topics/AI/Input-Validation-Strategies.md