합성 예시 · 실제 고객 코드·탐지 성과 아님
소스 분석 결과는 이렇게 읽습니다
무료 미리보기는 개수·심각도 분포를 보여줍니다. 유료 전체 분석에서는 파일·줄 번호와 수정 제안, 전체 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. 조치 후 검증
- 정상 검색과 따옴표가 포함된 검색어의 동작을 확인합니다.
- 모든 입력 경로가 매개변수 쿼리를 사용하는지 검토합니다.
- 권한 있는 테스트 환경에서 회귀·보안 테스트를 수행하고 변경·확인 일자를 기록합니다.
분석의 한계: AI 제안은 수정 완료나 무취약 보증이 아닙니다. 실행 환경·인증·업무 흐름과 제외 파일은 별도 검토해야 합니다. 재분석도 실제 악용 가능성의 전문가 검증을 대신하지 않습니다.