합성 예시 · 실제 고객 코드·탐지 성과 아님

소스 분석 결과는 이렇게 읽습니다

무료 미리보기는 개수·심각도 분포를 보여줍니다. 유료 전체 분석에서는 파일·줄 번호와 수정 제안, 전체 PDF를 확인합니다. 아래는 산출물 구조를 설명하는 축약 예시입니다.

1. 발견과 근거

항목
SQL 쿼리에 사용자 입력 결합 · SQL 인젝션 검토 필요
위치
합성 프로젝트 app/search.py · 12행
관찰
입력값을 SQL 문자열에 합쳐 실행합니다. 실제 악용 여부는 입력 경로·DB 권한·실행 환경 검증이 필요합니다.
12  query = "SELECT id FROM products WHERE name = '" + name + "'"
13  cursor.execute(query)

2. 수정 제안

Python sqlite3를 가정한 예시입니다. DB 드라이버의 매개변수 규칙에 맞춰 적용하세요.

query = "SELECT id FROM products WHERE name = ?"
cursor.execute(query, (name,))

SQL 구조와 입력 데이터를 분리하고, DB 계정의 최소 권한도 점검합니다.

3. 조치 후 검증

  1. 정상 검색과 따옴표가 포함된 검색어의 동작을 확인합니다.
  2. 모든 입력 경로가 매개변수 쿼리를 사용하는지 검토합니다.
  3. 권한 있는 테스트 환경에서 회귀·보안 테스트를 수행하고 변경·확인 일자를 기록합니다.

분석의 한계: AI 제안은 수정 완료나 무취약 보증이 아닙니다. 실행 환경·인증·업무 흐름과 제외 파일은 별도 검토해야 합니다. 재분석도 실제 악용 가능성의 전문가 검증을 대신하지 않습니다.