상황 SpotBugs로 소스코드보안, 취약점등 정적 분석 결과 DM_BOXED_PRIMITIVE_FOR_PARSING 버그가 발견되었습니다. (우선순위가 무려 High네요..) 처리방법 원인 boxed primitive(원시 자료형을 래핑한 객체)은 값의 추출을 위해 문자열에서 생성되었을 때 불필요한 객체 생성과 메모리 할당이 발생할 수 있습니다. 이렇게 생성된 boxed primitive은 값을 추출하기 위해 다시 unboxing 과정을 거쳐야 합니다. 이러한 불필요한 작업을 피하고 코드 실행 시간을 줄이기 위해서는 문자열에서 바로 primitive 값을 추출하는 방법을 사용해야 합니다. 오류 예시 Integer boxedInt = Integer.valueOf("123"); int unboxedInt ..
상황 프로젝트 내에서 소스코드 점검을 진행했는데, 점검 결과, VA_FORMAT_STRING_USES_NEWLINE 취약점이 검출되었다. 점검은 OWASP TOP 10 ( 10대 웹 보안 취약점 ), CWE (보안 약점 ) 둘다 커버하는 Spotbugs + FindSecurityBugs를 사용하였다. VA_FORMAT_STRING_USES_NEWLINE에 대해 찾아보니, 개행문자를 사용하려면 "\n" 이 아니라 "%n"을 사용하라고 한다. FS: Format string should use %n rather than n (VA_FORMAT_STRING_USES_NEWLINE) This format string includes a newline character (\n). In format strings,..
상황 프로젝트 내에서 소스코드 점검을 진행했는데, 점검 결과, SQL_PREPARED_STATEMENT_GENERATED_FROM_NONCONSTANT_STRING 취약점이 검출되었다. 점검은 OWASP TOP 10 ( 10대 웹 보안 취약점 ), CWE (보안 약점 ) 둘다 커버하는 Spotbugs + FindSecurityBugs를 사용하였다. 취약점이 검출된 소스를 보니, + 를 사용해서 문장을 만들고 있었다. String sql = "SELECT temp," + System.lineSeparator() + "temp2," + System.lineSeparator() + "temp3" + System.lineSeparator() + "FROM DUAL"; 처리방법 동적으로 생성되는 것으로 보이는 문..
이클립스 SpotBugs Bug Detector Report에서 Missing Classes ? 증상 언제부턴가 SpotBugs 버그 리포트에 Missing Classes 가 있다고 출력된다. * Missing Classes는 SpotBugs가 애플리케이션에서 참조하는 클래스를 찾을 수 없는 경우 출력된다. 그리고 이클립스 콘솔에 리포트 생성 로그를 보니 WARRING 이찍혀있다. [WARNING] Could not transfer metadata com.h3xstream.findsecbugs:findsecbugs-plugin/maven-metadata.xml ... [WARNING] Failure to transfer com.h3xstream.findsecbugs:findsecbugs-plugin/ma..
Spotbugs 플러그인, FindSecurityBugs 설치는 아래 링크에서 확인 이클립스 SpotBugs, FindSecurityBugs #1 설치 Spotbugs 플러그인, FindSecurityBugs 검사는 아래 링크에서 확인 이클립스 Spotbugs, FindSecurityBugs #2 검사 Spotbugs 플러그인, FindSecurityBugs 설치는 아래 링크에서 확인 Eclipse Marketplace..를 선택한.. yourusername.tistory.com Spotbugs 플러그인, FindSecurityBugs 리포트 1. Spotbugs 및 FindSecurityBugs 리포트 플러그인 설치 pom.xml에 아래와 같이 spotbugs report 플러그인을 추가한다. 긁어가려..
Spotbugs 플러그인, FindSecurityBugs 설치는 아래 링크에서 확인 이클립스 SpotBugs, FindSecurityBugs #1 설치 Spotbugs 플러그인, FindSecurityBugs 설치 1. Spotbugs 플러그인 이클립스에 설치 이클립스 실행 후, Help > Eclipse Marketplace..를 선택한다. 이클립스 마켓플레이스에서 “spotbugs”를 입력하여, SpotBugs.. yourusername.tistory.com Spotbugs 플러그인, FindSecurityBugs 검사 1. Spotbugs 및 FindSecurityBugs 검사 Project Explorer에서 프로젝트를 선택하고 마우스 오른쪽 버튼을 클릭한 뒤 메뉴에서 SpotBugs > Find..