programing

SonarQube 규칙: Spring Boot 응용 프로그램에서 "명령줄 인수를 사용하는 것은 보안에 영향을 미칩니다"

linuxpc 2023. 3. 2. 22:03
반응형

SonarQube 규칙: Spring Boot 응용 프로그램에서 "명령줄 인수를 사용하는 것은 보안에 영향을 미칩니다"

SonarQube는 매우 기본적인 Spring Boot 어플리케이션에서 중대한 보안 문제를 나타내고 있습니다.주된 방법으로는.

@SpringBootApplication
public class Application {

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }

}

음파탐지기가 원하는 건Make sure that command line arguments are used safely here.

StackOverflow와 Google에서 모두 검색했는데, 이 문제에 대한 코멘트를 하나도 찾을 수 없어서 놀랐습니다.보안 검사 기능이 있는 것이 거의 확실합니다.SpringApplication.run메서드는 이미 있습니다.그리고 전화하기 전에 주요 방법론을 삭제한 사람도 기억나지 않는다.SpringApplication.run그냥 false positive라고 딱지를 붙이고 넘어가면 돼요.

Spring Framework 컨트롤러 Spring Framework Application 메인클래스에서 SonarQube가 심각한 오류를 나타내고 있습니다.

잘못된 긍정인가요?

명령줄 인수를 사용하지 않을 경우 run 메서드에서 args 파라미터에 대한 언급을 피할 수 있습니다.아래와 같은 코드입니다.

@SpringBootApplication
public class Application {

    public static void main(String[] args) {
        SpringApplication.run(Application.class);
    }

}

이렇게 하면 소나큐브 핫스팟 문제가 제거됩니다.

문제가 없는 경우 다음을 포함하여 문제를 해결할 수 있습니다.

@SpringBootApplication
public class Application {

    public static void main(String[] args) {
        SpringApplication.run(Application.class);
    }

}

이 마크가 붙어 있는 것 같습니다.security hotspot음파탐지기록에 따르면기재되어 있습니다.

취약성과 달리 보안 핫스팟은 공격을 받기 쉬운 문제가 아닙니다.대신 보안 핫스팟은 수동으로 확인해야 하는 보안에 민감한 코드를 강조 표시합니다.검토하면 수정이 필요한 취약성 또는 위협이 없는 취약성을 찾을 수 있습니다.

자세한 내용은 보안 핫스팟을 참조하십시오.

이 규칙 RSPEC-4823 또는 S4823에 따라 명령줄 인수는 다음과 같이 평가됩니다.

  • 명령줄 인수는 모두 먼저 삭제되지 않고 사용됩니다.
  • 응용 프로그램은 명령줄 인수를 통해 중요한 정보를 받아들입니다.

사용하고 있는 애플리케이션이 이 카테고리에 속하는 경우는, 반드시 시큐러티상의 문제가 발생할 가능성이 있습니다.

아니요, 이것은 정말 중요한 보안 문제입니다.그냥 사용하기 전에 아르그를 소독해달라는 거예요.단순한 어플리케이션에서는 그런 걱정은 할 필요가 없지만, 실제 어플리케이션에서는 큰 문제가 될 수 있습니다.

상세한 것에 대하여는, https://rules.sonarsource.com/java/RSPEC-4823?search=Make%20sure%20that%20command%20line%20arguments%20are%20used%20safely%20here 를 참조해 주세요.

명령줄 매개 변수를 사용하지 않음으로 이 문제를 해결할 수 있습니다.

음파 탐지기의 경우에만 다음 위치에서 변경 코드를 확인합니다.

SpringApplication.run(ApiDispatchApplication.class, args);

대상:

SpringApplication.run(ApiDispatchApplication.class);

언급URL : https://stackoverflow.com/questions/57809861/sonarqube-rule-using-command-line-arguments-is-security-sensitive-in-spring-b

반응형