InfoGrab DocsInfoGrab Docs

SAST 규칙

SAST 규칙에 대해 설명합니다.

GitLab 정적 애플리케이션 보안 테스트(SAST)는 분석기 모음을 사용해 코드에서 잠재적인 취약점을 검사합니다. 리포지터리에서 발견된 프로그래밍 언어에 따라 실행할 분석기를 자동으로 선택합니다. 각 분석기는 코드를 처리한 다음 규칙을 사용해 소스 코드의 잠재적 결함을 찾습니다. 분석기의 규칙이 어떤 유형의 결함을 보고할지 결정합니다. 규칙 범위 # SAST는 보안 결함과 취약점에 집중합니다. 일반적인 버그를 찾거나 전반적인 코드 품질 또는 유지 보수성을 평가하는 것이 목적은 아닙니다. GitLab은 조치 가능한 보안 결함과 취약점을 식별하는 데 초점을 두고 탐지 규칙 집합을 관리합니다. 이 규칙 집합은 오탐(취약점이 없는데 취약점으로 보고되는 경우)을 최소화하면서 영향이 큰 취약점을 폭넓게 다루도록 설계되었습니다. SAST는 기본 구성 그대로 사용하도록 설계되었으나, 필요하면 탐지 규칙을 구성 할 수 있습니다. 규칙 소스 # SAST가 사용하는 취약점 탐지 규칙은 GitLab Advanced SAST와 Semgrep 기반 분석기 중 어떤 분석기를 사용하는지에 따라 달라집니다. GitLab Advanced SAST # GitLab은 GitLab Advanced SAST 의 규칙을 직접 만들고 유지 관리하며 지원합니다. 이 규칙은 GitLab Advanced SAST 스캔 엔진의 파일 간·함수 간 분석 기능을 활용하도록 맞춤 제작되었습니다. GitLab Advanced SAST 규칙 집합은 오픈 소스가 아니며, 다른 분석기의 규칙 집합과도 다릅니다. GitLab Advanced SAST가 탐지하는 취약점 유형은 취약점 탐지 기준 을 참고합니다. GitLab Advanced SAST가 사용하는 전체 규칙 목록은 GitLab Advanced SAST 규칙 을 참고합니다. Semgrep 기반 분석기 # GitLab은 Semgrep 기반 GitLab SAST 분석기에서 사용하는 규칙을 직접 만들고 유지 관리하며 지원합니다. 이 분석기는 하나의 CI/CD 파이프라인 job에서 여러 언어 를 검사합니다. 다음 요소를 결합합니다. Semgrep 오픈 소스 엔진. GitLab이 관리하는 오픈 소스 sast-rules 프로젝트 에서 관리되는 GitLab 관리 탐지 규칙 집합. 취약점 추적 을 위한 GitLab 독자 기술. 기타 분석기 # GitLab SAST는 나머지 지원 언어 를 검사하는 데 다른 분석기를 사용합니다. 이러한 검사의 규칙은 각 스캐너의 업스트림 프로젝트에 정의되어 있습니다. 규칙 업데이트가 릴리스되는 방법 # GitLab은 고객 피드백과 내부 연구를 바탕으로 규칙을 정기적으로 업데이트합니다. 규칙은 각 분석기의 컨테이너 이미지에 포함되어 릴리스됩니다. 분석기를 특정 버전으로 직접 고정 하지 않는 한 업데이트된 분석기와 규칙을 자동으로 받습니다. 관련 업데이트가 있으면 분석기와 규칙은 최소 월 1회 업데이트됩니다. 규칙 업데이트 정책 # SAST 규칙 업데이트는 호환성이 깨지는 변경 이 아닙니다. 따라서 규칙이 사전 공지 없이 추가·제거