간혹 SQLalchemy와 같은 ORM 활용 없이 네이티브 쿼리를 작성하기 위해 sqlite3 모듈을 사용할 때가 있다.이런 결정에 가장 크게 영향을 받는 커넥션 관리, object mapping에 대한 고려는 충분히 했겠지만, SQL Injection은 트래픽과 상관없이 문제가 되므로 이 모듈에서 어떤 기능이 지원되는지 알아야할 필요가 있다. 따라서 sqlite3 모듈에서 제공하는 플레이스 홀더 기능과 해당 기능이 SQL Injection을 어떻게 방어하는지에 대해 알아보자. 1. SQL Injection 공격법사용자에게서 input을 받아서 검색 결과를 반환하는 아래와 같은 함수를 예시로 들어보자.def find_by_id(input) -> dict: conn = sqlite3.connect('..