목차Source보다 Sink를 먼저 Inventory한다Validation, Parameterization, Encoding의 역할을 섞지 않는다SQL은 값을 Bind하고 Query 구조를 고정한다동적 정렬·검색 조건은 Allowlist와 Typed Builder로 만든다JPA와 ORM이 자동으로 Injection을 막아주지는 않는다Tenant 조건은 Client Query가 아니라 Server 인가 Context가 소유한다NoSQL은 문자열이 없어도 Operator Injection이 발생한다OS Command는 호출하지 않는 것이 최우선 방어다ProcessBuilder도 고정 명령·검증된 Argument·자원 제한이 필요하다Template에서는 Template Code와 Model Data를 분리한다..