dev

findbugs 취약점 걸린 경우 예외처리하기

하늘달빛로2번길 2018. 9. 20. 10:27

 

findbugs에서 에러가 주루룩 떴을때

 

 

Math.random()을 사용하였기에 한 컨트롤러 클래스에서만 여러개의 취약점이 발생하였다. 

 

간단히 수정하면 사라지지만 (SecurityRandom쓰면 해결됨) 

 

이런 당연히 고쳐야 할 부정적인 취약점이 아닌 해결 방법도 애매한 거짓 음성반응에 대해 FindBugs 취약점 마커만 안뜨게 하는법이다.

 

 

 

일단 

 

MAVEN을 쓰면 MAVEN REPO에서 FindBugs Annotations를 찾아서 넣던가 아님 외부 JAR를 추가해야한다.

 

MAVEN REPO 경로 : https://mvnrepository.com/artifact/com.google.code.findbugs/annotations

 

외부 JAR 경로 : http://www.java2s.com/Code/Jar/a/Downloadannotations201jar.htm

 

 

 

 

해당 마커에 Bug Info를 확인해서 해당 Pattern을 기억해두고

 

 

 

 

 

취약점 마커가 찍힌 곳 class로 맨 위로 이동해서

 

 

 

 

 

 

 

 

 

@edu.umd.cs.findbugs.annotations.SuppressWarnings(value = { "PREDICTABLE_RANDOM" }, justification = "")

 

어노테이션을 추가하고  value는 아까 Bug Info Pattern 값을 적어넣는다

 

value에는 여러개의 Pattern도 넣을 수 있음.

 

 

 

 

다시 findBugs를 돌려보면

 

 

 

아까 Math.random() 마커들이 사라진 것을 확인할 수 있다.