InfoGrab DocsInfoGrab Docs

Sec 섹션 개발 가이드라인

GitLab 애플리케이션 보안 기능을 담당하는 Sec 섹션의 아키텍처, 스캐닝, 취약점 처리 및 개발 가이드라인을 설명합니다.

Sec 섹션은 GitLab 애플리케이션 보안 기능, 즉 DevSecOps의 "Sec" 부분을 담당합니다. Sec 섹션에 특화된 개발 가이드가 이 문서에 나열되어 있습니다. 공유 용어 개요는 용어 설명 을 참조하세요. 아키텍처 # 개요 스캐닝 처리, 시각화 및 관리 심각도 레벨 Analyzer 개발 보안 인벤토리 # 백그라운드 작업 개요 # Secure 기능을 지원하는 아키텍처는 크게 두 부분으로 나뉩니다: 스캐닝 처리, 시각화 및 관리 flowchart LR subgraph G1[Scanning] Scanner Analyzer CI[CI Jobs] end subgraph G2[Processing, visualization, and management] Parsers Database Views Interactions end G1 --Report Artifact--> G2 스캐닝 # 스캐닝 부분은 주어진 리소스에서 취약점을 찾고 결과를 내보내는 역할을 합니다. 스캔은 Analyzer 라는 여러 소형 프로젝트를 통해 CI/CD job에서 실행되며, 이는 Analyzers 하위 그룹 에서 확인할 수 있습니다. Analyzer는 GitLab에 통합하기 위해 내부 또는 외부에서 개발된 Scanner 라는 보안 도구를 감싸는 래퍼입니다. Analyzer는 주로 Go 언어로 작성되어 있습니다. 일부 3rd party 통합자는 동일한 아키텍처를 활용하는 통합 문서 를 따라 추가적인 Scanner를 제공하기도 합니다. 스캔 결과는 Secure 보고서 형식 을 준수해야 하는 JSON 보고서로 내보내지며, 파이프라인 완료 후 처리에 사용할 수 있도록 CI/CD Job 보고서 아티팩트 로 업로드됩니다. 처리, 시각화 및 관리 # 데이터가 Report Artifact로 제공되면 GitLab Rails 애플리케이션에서 처리되어 다음을 포함한 보안 기능을 활성화할 수 있습니다: 보안 대시보드 , 머지 리퀘스트 위젯, 파이프라인 뷰 등 보안 스캔 결과 승인 규칙 컨텍스트에 따라 보안 보고서는 데이터베이스에 저장되거나, 온디맨드 액세스를 위해 Report Artifact로 유지될 수 있습니다. 보안 보고서 수집 개요 # 스캐너가 생성한 보고서를 GitLab이 처리하는 방법에 대한 자세한 내용은 보안 보고서 수집 개요 를 참조하세요. CI/CD 템플릿 개발 # CI/CD 템플릿은 Verify 섹션의 책임이지만, 많은 템플릿이 Sec 섹션의 기능 사용에 중요합니다. CI/CD 템플릿을 다루는 경우 GitLab CI/CD 템플릿 개발 가이드 를 참조하세요. 기본 식별자의 중요성 # Analyzer JSON 보고서 내에서 identifiers 필드 에는 취약점을 설명할 수 있는 타입 및 카테고리 컬렉션(예: CWE 패밀리)이 포함됩니다. identifiers 컬렉션의 첫 번째 항목은 기본 식별자 로 알려져 있으며, 취약점을 설명하고 추적하는 데 있어 중요한 구성 요소입니다. 대부분의 다른 경우에서 identifiers 컬렉션은 순서가 없으며, 나머지 보조 식별자는 취약점을 그