---
id: [[P-Reinforce|P-Reinforce]]-AI-050
category: "10_Wiki/💡 Topics/Security & [[Reliability|Reliability]]"
confidence_score: 0.99
tags: [security, owasp, vulnerability, secure coding]
last_reinforced: 2026-06-XX
github_commit: "[P-Reinforce] Processed OWASP Top 10."
---

# [[OWASP Top 10|OWASP Top 10]] (웹 애플리케이션 보안 취약점)

## 📌 한 줄 통찰 (The Karpathy Summary)
> 웹 애플리케이션 개발 시 가장 빈번하고 치명적인 상위 10가지 보안 위험 목록으로, 개발 초기 단계부터 '[[Shift|Shift]]-Left' 원칙에 따라 코딩과 테스트 전반에 걸쳐 방어 로직을 적용하는 것이 필수적이다.

## 📖 구조화된 지식 (Synthesized Content)
- **개념:** OWASP(Open Web Application Security Project)가 매년 발표하는 웹 보안 취약점 목록이며, 모든 개발 팀이 반드시 숙지해야 할 기본적인 '최소한의 방어선'을 정의한다.
- **주요 위험 요소 및 대응 원칙 (예시):**
    1. **Injection (주입 공격):** 가장 흔하며 치명적이다. 사용자 입력을 신뢰하지 않고, 모든 입력에 대해 반드시 파라미터화된 쿼리(Prepared [[State|State]]ment)를 사용해야 한다.
    2. **Broken Authentication:** 인증 메커니즘을 강력하게 관리해야 한다. 비밀번호 암호화는 최신 알고리즘(Argon2 등)과 복잡한 정책을 따라야 하며, 세션 관리에 주의한다.
    3. **Cross-Site Scripting (XSS):** 사용자 생성 콘텐츠 출력 시 반드시 컨텍스트 기반 이스케이프(Contextual Escaping) 처리를 거쳐 악성 스크립트 실행을 막아야 한다.
    4. **Security Misconfiguration:** 기본 설정값을 변경하지 않고 사용하는 실수를 최소화하며, 모든 컴포넌트는 최소 권한 원칙에 따라 운영되어야 한다.

## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
- **과거 데이터와의 충돌:** 보안은 단순히 패치를 적용하는 문제가 아니라, 개발 프로세스(SDLC) 전체에 걸쳐 '보안을 기본으로 생각하는' 문화적 접근이 필요하다.
- **정책 변화:** [[SAST|SAST]]/DAST 같은 자동화된 테스트 도구 활용 외에도, 설계 단계에서부터 보안 취약점 분석(Threat Modeling)을 의무화하고, 코드를 검토할 때마다 (Pull Request 기반의) 보안 체크리스트를 도입하는 것이 현대적 표준이다.

## 🔗 지식 연결 (Graph)
- Parent: [[DevSecOps|DevSecOps]]
- Related: [[SAST (Static Application Security Testing)|SAST (Static Application Security [[Testing]])]] , [[DAST (동적 애플리케이션 보안 테스트)|DAST (동적 애플리케이션 보안 테스트)]] , Security by Design

---