이 문서는 OWASP의 모든 공격(www-community)과 Cheat Sheet(CheatSheetSeries) 항목을 보안 카테고리에 대응시키고, 각 항목을 공식 공개 페이지에 연결합니다. 한 카테고리 안에서 같은 위험을 다루는 공격과 Cheat Sheet는 체크리스트 한 줄에 쉼표로 구분해 함께 나열합니다. 직접 대응하는 짝이 없는 항목은 한 줄을 단독으로 차지합니다.
- 이 자료의 공로는 OWASP에 있습니다. 공격 페이지는
https://owasp.org/www-community/attacks/<attack>주소에, Cheat Sheet는https://cheatsheetseries.owasp.org/cheatsheets/<cheat>.html주소에 있습니다.
1. 인젝션(일반)
- Code Injection, Injection Prevention, Injection Prevention in Java (interpreter)
- Direct Dynamic Code Evaluation (Eval Injection) (interpreter)
- Function Injection (interpreter)
- Resource Injection (network)
- Special Element Injection (interpreter)
- Custom Special Character Injection (interpreter)
- Comment Injection Attack (interpreter)
- Parameter Delimiter (interpreter)
- Server-Side Includes (SSI) Injection (interpreter)
- Input Validation, Bean Validation (interpreter)
2. SQL / 데이터베이스 인젝션
- SQL Injection, SQL Injection Prevention, Query Parameterization (sql)
- Blind SQL Injection (sql)
- SQL Injection Bypassing WAF (sql)
- RSQL Injection (interpreter)
- Database Security (sql)
- NoSQL Security (interpreter)
3. OS / 명령어 인젝션
- Command Injection, OS Command Injection Defense (interpreter)
4. LDAP / XPath / XML 인젝션
- LDAP Injection, LDAP Injection Prevention (interpreter)
- XPATH Injection (interpreter)
- Blind XPath Injection (interpreter)
- XML External Entity (XXE) Prevention, XML Security (xml)
5. 크로스 사이트 스크립팅(XSS)
- Cross Site Scripting (XSS), Cross Site Scripting Prevention, XSS Filter Evasion (browser)
- DOM Based XSS, DOM based XSS Prevention, DOM Clobbering Prevention (browser)
- Reflected DOM Injection (browser)
- XSS in Converting File Content to Text (browser)
- XSS in subtitle (browser)
- Cross Frame Scripting (browser)
- Cross Site Tracing (browser)
- Content Security Policy (browser)
6. 크로스 사이트 요청 위조(CSRF)와 클릭재킹
- Cross Site Request Forgery (CSRF), XSRF, Cross-Site Request Forgery Prevention (http-request)
- Clickjacking, Clickjacking Defense (browser)
- Cross Site History Manipulation (XSHM) (browser)
- Form action hijacking (network)
- Reverse Tabnabbing (browser)
7. 리다이렉트와 포워드
- Open Redirect, Unvalidated Redirects and Forwards (network)
- Execution After Redirect (EAR) (browser)
8. 접근 통제와 인가
- Insecure Direct Object Reference (IDOR), Insecure Direct Object Reference Prevention (access-control)
- Forced browsing (access-control)
- Web Parameter Tampering (access-control)
- Setting Manipulation (access-control)
- Authorization (access-control)
- Transaction Authorization (access-control)
- Mass Assignment (access-control)
- Multi-Tenant Application Security (access-control)
9. 인증과 자격 증명
- Brute Force Attack, Password Spraying Attack, Bot Management and Anti-Automation (credential-endpoint)
- Credential stuffing, Credential Stuffing Prevention (credential-endpoint)
- Qrljacking (federation)
- Authentication, Multifactor Authentication (access-control)
- Password Storage (access-control)
- Forgot Password, Choosing and Using Security Questions (access-control)
- Email Validation and Verification in Identity Systems (access-control)
10. 세션 관리
- Session fixation, Session hijacking attack, Session Prediction, Session Management (access-control)
- Cookie Theft Mitigation (access-control)
11. ID 페더레이션(OAuth / SAML / JWT)
- OAuth 2.0 Protocol (federation)
- SAML Security (federation)
- JSON Web Token for Java (federation)
12. 암호 기술과 전송 보안
- Cryptanalysis, Cryptographic Storage, Key Management (crypto)
- Manipulator-in-the-Middle (MITM), Transport Layer Security (transport)
- HTTP Strict Transport Security (transport)
- Pinning (transport)
13. 서버 측 요청 위조(SSRF)
14. 경로 탐색(path traversal)과 파일 처리
- Path Traversal (path)
- Binary Planting (path)
- Windows ::DATA Alternate Data Stream (path)
- Embedding Null Code (path)
- File Upload (upload)
15. HTTP 프로토콜 악용(헤더, 캐싱, 분할)
- HTTP Response Splitting, Cross-User Defacement (interpreter)
- HTTP Security Response Headers (browser, transport, http-request, access-control로 나눔)
- Cache Poisoning (interpreter)
- IP Spoofing via HTTP Headers (http-request)
16. 인코딩과 콘텐츠 스푸핑
- Unicode Encoding (interpreter)
- Double Encoding (interpreter)
- Content Spoofing (browser)
17. CSV / 스프레드시트 인젝션
- CSV Injection (csv)
18. CORS(교차 출처 리소스 공유)
- CORS OriginHeaderScrutiny (http-request)
- CORS RequestPreflightScrutiny (http-request)
19. 서비스 거부
20. 메모리 안전성과 네이티브 코드
- Buffer Overflow Attack, Buffer Overflow via Environment Variables (c-cpp)
- Format string attack (c-cpp)
21. 모바일 코드와 신뢰할 수 없는 코드 실행
- Mobile code invoking untrusted mobile code (interpreter)
- Mobile code non-final public field (java)
- Mobile code object hijack (java)
22. 역직렬화
- Deserialization (python, ruby, php, java, dotnet으로 나눔)
23. 악성 코드와 클라이언트 측 위협
- Man-in-the-browser attack, Browser Extension Security Vulnerabilities (browser)
- Third Party JavaScript Management (browser)
24. 로깅, 부인(repudiation), 오류 처리
- Log Injection, Logging, Application Logging Vocabulary (interpreter)
- Repudiation Attack (interpreter)
25. 비즈니스 로직과 기능 악용
비즈니스 로직과 기능 악용은 코드상의 공격 표면 하나로 좁혀지지 않으므로, 공격 표면별로 방어하는 전문 지식의 대상이 아닙니다. 방어는 애플리케이션에 맞춘 설계에 달려 있으며, 이는 프로젝트의 위협 모델링이 이끄는 것과 같은 추론입니다. "범위 밖"으로 옮겼습니다.
26. AI / LLM / 에이전트 보안
- Prompt Injection, LLM Prompt Injection Prevention (llm)
- MCP Tool Poisoning, MCP (Model Context Protocol) Security (llm)
- HITL Dialog Forging (Lies-in-the-Loop) (llm)
- AI Agent Security, Secure Coding with AI (llm)
- Retrieval-Augmented Generation (RAG) Security (llm)
- Secure AI/ML Model Ops (llm)
- AML and Sanctions Compliance for AI Agent Payments (llm)
27. 프로토타입 오염과 크로스 사이트 리크
- Prototype Pollution Prevention (javascript)
- Cross-site leaks (XS-Leaks) (browser)
28. 프레임워크와 언어 플랫폼
- Django Security, Django REST Framework (python)
- Ruby on Rails (ruby)
- Laravel (php)
- Symfony (php)
- Java Security (java)
- DotNet Security (dotnet)
- NodeJS Security (javascript)
- PHP Configuration (php)
29. 웹 프런트엔드와 브라우저
- HTML5 Security (browser)
- AJAX Security (browser)
- Securing Cascading Style Sheets (access-control, browser로 나눔)
30. API와 서비스
- GraphQL (api-endpoint)
- gRPC Security (api-endpoint)
- WebSocket Security (api-endpoint)
31. 클라우드, 컨테이너, 인프라
컨테이너와 워크로드 설정은 개발자가 앱과 함께 배포하는, 코드로 관리하는 설정(Dockerfile, Compose, Pod의 securityContext)입니다. harden 단계가 수정하고 verify 단계가 증명하는 실제 공격 표면이므로 범위 안에 포함합니다. 클러스터 관리(RBAC, etcd, API 서버, 어드미션 제어, 네트워크 분할)는 운영자의 영역이므로 범위 밖에 둡니다.
- Docker Security, Node.js Docker (container)
- Kubernetes Security (container: 워크로드와 Pod 부분. 클러스터 관리는 범위 밖)
- Serverless / FaaS Security (serverless)
32. 공급망과 CI/CD
- NPM Security (interpreter)
- Dependency Graph & SBOM Best Practices, Vulnerable Dependency Management (interpreter)
33. 시크릿과 설정
시크릿 관리는 볼트(vault), CI/CD, 클라우드 설정, 주기적 교체처럼 운영의 영역입니다. 코드 수준의 유일한 측면(소스 코드에 하드코딩된 시크릿)은 결정론적 스캔이 맡을 일이지, 위험을 다루는 전문 지식의 대상이 아닙니다. "범위 밖"으로 옮겼습니다.
34. 프로세스, 설계, 거버넌스
사용자 개인정보 보호는 정책과 설계의 문제(데이터 최소화, 투명성, 보존 기간)이며, 전문 지식이 방어하는 코드상의 공격 표면이 아닙니다. "범위 밖"으로 옮겼습니다.
35. 결제와 규정 준수
36. 임베디드 / IoT / 특수 분야
자동차와 드론 보안은 임베디드 시스템 영역(CAN 버스, OTA 펌웨어, 센서와 무선 신호의 무결성, 물리적 접근)으로, Lagune이 점검하는 웹이나 API 애플리케이션 소스 코드가 아닙니다. "범위 밖"으로 옮겼습니다.
범위 밖(코드상의 공격 표면 없음)
아래 항목은 전문 지식이 다루는 영역이 아니므로 체크박스가 없습니다. 거버넌스, 프로세스, 운영 측면의 보안 강화, 또는 프레임워크 사용법에 해당하며, 코드상의 공격 표면 하나로 좁혀지지 않아 공격 표면별로 방어하는 전문 지식의 대상이 되지 않습니다. 보안상의 가치는 분명하지만, 그 가치는 이 카탈로그가 제공하는 방어가 아니라 프로세스와 아키텍처(프레임워크라면 해당 언어 전용 스킬)에 있습니다. 작업 대상이 아니라 참고용으로 나열합니다.
- Authorization Regression Testing, Authorization Testing Automation
- JAAS
- Denial of Service, Denial of Service
- HTTP/2 Reset Attack
- Traffic flood
- Web Service Amplification Attack (SOAP/WS-Addressing 증폭 공격으로, 코드상의 공격 표면이 없는 운영 측면의 DoS 변형)
- Cash Overflow
- Spyware, Trojan Horse (최종 사용자를 노리는 악성 코드로, 감사 대상 프로젝트의 코드상의 공격 표면이 아님. 브라우저 안에서 전달되는 측면은
browser전문 지식에서 다룸) - REST Security, REST Assessment
- Web Service Security
- Cloud Architecture Security (설계와 트레이드오프: IAM과 서명된 URL 중 선택, 퍼블릭 VPC와 프라이빗 VPC, 신뢰 경계, 공동 책임 모델.
container전문 지식과 달리, 전문 지식이 점검할 구체적인 설정이 없음) - Infrastructure as Code Security (이름과 달리, IaC를 관리하기 위한 SDLC 프로세스와 도구를 다룸: IDE 플러그인, 정적 분석, 이미지 스캔, CI/CD, 서명. Terraform이나 CloudFormation 파일에서 안전하지 않은 패턴을 안전한 형태로 바꾸는 방법은 제시하지 않음)
- Kubernetes Security (클러스터 관리 부분만 해당: RBAC, etcd, API 서버, 어드미션 제어. 워크로드와 Pod 부분은
container전문 지식에서 범위 안으로 다룸) - Network Segmentation (네트워크 아키텍처와 방화벽 정책)
- Subdomain Takeover Prevention (DNS 수명 주기와 모니터링의 문제로, 코드가 아님)
- Secrets Management (볼트, CI/CD, 주기적 교체. 하드코딩된 시크릿 측면은 결정론적 스캔이 맡을 일로, 위험을 다루는 전문 지식의 대상이 아님)
- C-Based Toolchain Hardening (컴파일러, 링커, 빌드 플래그의 문제로, 소스 코드상의 싱크가 없음)
- Microservices Security, Microservices based Security Arch Doc
- Zero Trust Architecture
- CI/CD Security, GitHub Actions Security
- Software Supply Chain Security
- Error Handling, Full Path Disclosure (기술 스택별 전역 오류 핸들러 설정. 이 유출은 오류 처리가 이미 다루는 정보 노출과 같은 문제)
- Abuse of Functionality, Business Logic Security, Abuse Case (과거 문서) (애플리케이션에 맞춘 설계의 문제로, 단일한 코드상의 싱크가 없음)
- User Privacy Protection (데이터 최소화, 투명성, 보존 정책)
- Top 10 Automotive Security Vulnerabilities, Drone Security (임베디드 시스템 영역: CAN 버스, OTA 펌웨어, 센서와 무선 신호의 무결성으로, 웹이나 API 소스 코드가 아님)
- Mobile Application Security (Android와 iOS 플랫폼 보안 강화: 스토리지, 생체 인증, 피닝, 개인 식별 정보(PII). 단일한 코드상의 공격 표면이 없으며, 신뢰할 수 없는 코드를 불러오는 측면은
interpreter전문 지식으로 옮김) - Threat Modeling, Threat Modeling (커뮤니티 페이지)
- Attack Surface Analysis
- Secure Product Design
- Secure Code Review
- Virtual Patching
- Vulnerability Disclosure
- Legacy Application Management
- Security Terminology
