이 검사는 잠재적으로 신뢰할 수 없는 소스에서 획득된 데이터가 보안 위험이 있는 연산에서 사용되는 취약할 수 있는 코드 섹션을 식별하도록 설계되었습니다.

데이터 흐름 추적:

이 검사는 데이터가 소스에서 이동되어 중요한 연산에 사용될 때까지의 흐름을 추적합니다. 메서드, 객체 및 변수를 통한 데이터 전송도 분석됩니다.

사용자의 입력이 적절히 전처리되지 않고 SQL 쿼리에 바로 사용되는 예시를 생각해 보겠습니다. 이때 이 검사는 잠재적인 SQL 삽입에 관한 경고를 표시합니다.

String userInput = getUserInput();
String sqlQuery = "SELECT * FROM users WHERE username = '" + userInput + "'";