InfoGrab DocsInfoGrab Docs

보안 스캐너 통합

GitLab에 보안 스캐너를 통합하기 위한 CI/CD job 정의, Docker 이미지, 커맨드라인, 리포트 형식 요구사항 및 지침을 설명합니다.

GitLab에 보안 스캐너를 통합하는 작업은 사용자에게 CI/CD job 정의 를 제공하는 것으로 이루어집니다. 사용자는 이 정의를 CI/CD 구성 파일에 추가하여 GitLab 프로젝트를 스캔할 수 있습니다. 그런 다음 이 job은 GitLab에서 지정한 형식으로 결과를 출력해야 합니다. 이 결과는 파이프라인 보기, 머지 리퀘스트 위젯, 보안 대시보드 등 GitLab의 다양한 위치에 자동으로 표시됩니다. 스캐닝 job은 일반적으로 스캐너와 모든 의존성을 독립적인 환경에 포함하는 Docker 이미지 를 기반으로 합니다. 이 페이지에서는 보안 스캐너를 구현하는 CI/CD job 작성에 대한 요구사항 및 지침과 Docker 이미지에 대한 요구사항 및 지침을 설명합니다. Job 정의 # 이 섹션에서는 보안 스캐너의 job 정의 파일에 추가해야 할 몇 가지 중요한 필드를 설명합니다. 이 필드와 사용 가능한 다른 필드에 대한 전체 문서는 CI/CD 문서 에서 확인할 수 있습니다. 이름 # 일관성을 위해 스캐닝 job의 이름은 스캐너 이름을 소문자로 사용해야 합니다. job 이름에는 스캐닝 유형이 접미사로 붙습니다: _dependency_scanning _container_scanning _dast _sast 예를 들어, "MySec" 스캐너를 기반으로 하는 종속성 스캐닝 job의 이름은 mysec_dependency_scanning 이 됩니다. 이미지 # image 키워드는 보안 스캐너가 포함된 Docker 이미지 를 지정하는 데 사용됩니다. 스크립트 # script 키워드는 스캐너를 실행할 명령어를 지정하는 데 사용됩니다. script 항목은 비워둘 수 없으므로, 스캔을 수행하는 명령어로 설정해야 합니다. 어떠한 명령어도 전달하지 않고 Docker 이미지의 미리 정의된 ENTRYPOINT 와 CMD 에 의존하여 스캔을 자동으로 수행하도록 하는 것은 불가능합니다. before_script 는 사용자가 스캔 수행 전에 프로젝트를 준비하는 데 활용할 수 있으므로 job 정의에서 사용하지 않아야 합니다. 예를 들어, 정적 애플리케이션 보안 테스트(SAST) 또는 종속성 스캐닝을 수행하기 전에 특정 프로젝트에 필요한 시스템 라이브러리를 설치하기 위해 before_script 를 사용하는 것은 일반적인 관행입니다. 마찬가지로, after_script 는 사용자가 재정의할 수 있으므로 job 정의에서 사용하지 않아야 합니다. Stage # 일관성을 위해 스캐닝 job은 가능하면 test Stage에 속해야 합니다. test 가 기본값이므로 stage 키워드는 생략할 수 있습니다. 장애 안전 장치 # 기본적으로 스캐닝 job이 실패해도 파이프라인을 차단하지 않으므로 allow_failure 파라미터를 true 로 설정해야 합니다. 아티팩트 # 스캐닝 job은 artifacts:reports 키워드를 사용하여 수행하는 스캐닝 유형에 해당하는 리포트를 선언해야 합니다. 유효한 리포트 유형은 다음과 같습니다: dependency_scanning container_s