본문 바로가기

Programing/OpenSource

[Sonarqube] Make sure using this hardcoded IP address is safe here.

코드상에 하드코딩된 IP주소가 있을 경우 소나큐브는 아래와 같은 취약성 경고를 내놓는다.

Make sure using this hardcoded IP address is safe here.

문제는 실제 의미없는 더미로 IP주소도 깨알같이 잡아낸다는 것이다.

하지만 소나큐브 코드상에 인 경우에는 대상에 포함시키지 않는 것 같은데 이상하게 잡힌다. (구버전의 소나큐브라서 그런가?)
https://github.com/SonarSource/sonar-java/blob/master/java-checks/src/main/java/org/sonar/java/checks/HardcodedIpCheck.java#L71

회피책

//NOSONAR  주석을 붙여서 회피하는 방법도 있지만 뭔가 아쉽다.

InetAddress.anyLocalAddress()의 주소가 바로 0.0.0.0 이다. 하지만 anyLocalAddress() 정적 메서드가 어느 버전 부터인가 package private으로 바뀌어 버렸다.

하지만 다른 주소 구현체들에서 사용하고 있기에 InetSocketAddress 를 이용하면 내부적으로 사용할 수 있다.

InetAddress wildCard = new InetSocketAddress(0).getAddress()
wildCard.getHostAddress() == "0.0.0.0"