Java 및 Kotlin 언어에서 안전하지 않은 문자열이 SQL 쿼리로 메서드에 전달되는 경우를 보고합니다. 이는 SQL 삽입의 원인이 될 수 있습니다. 메서드의 목록의 출처는 설정 - SQL, JPA QL, Hibernate QLPostgreSQL언어 인젝션입니다

안전한 객체:

이 필드, 지역 변수 또는 매개변수는 메서드에 인수로 전달되거나 한정자로 사용되어서는 안 되며, 기본형, 래퍼 또는 불변이어야 합니다. static final 필드는 안전한 것으로 간주됩니다.

이 분석은 한 파일 내에서만 수행됩니다. 예:


    public void save(String sql) {
        JdbcTemplate jdbcTemplate = new JdbcTemplate();
        jdbcTemplate.queryForList(sql);
    }

2023.2의 새로운 기능