API 보안 테스트 분석기
- API 보안 테스트 분석기는 GitLab 15.6에서 온디맨드 API 보안 테스트 스캔의 기본 분석기로 변경되었습니다.
- GitLab 17.0에서 DAST API 분석기에서 API 보안 테스트 분석기로 이름 변경되었습니다.
웹 API에 대한 동적 애플리케이션 보안 테스트(DAST)를 수행하여 다른 QA 프로세스에서 놓칠 수 있는 버그 및 잠재적인 보안 문제를 발견하는 데 도움을 줍니다.
API 보안 테스트를 다른 GitLab Secure 보안 스캐너와 자체 테스트 프로세스에 추가로 사용하세요.
DAST API 테스트는 CI/CD 워크플로의 일부로 또는 온디맨드로, 또는 두 가지 모두로 실행할 수 있습니다.
API 보안 테스트는 테스트 서버에서만 실행해야 합니다.
API 보안 테스트는 다음 웹 API 유형을 테스트할 수 있습니다:
- REST API
- SOAP
- GraphQL
- 폼 본문, JSON 또는 XML
API 보안 테스트 스캔이 실행되는 경우
CI/CD 파이프라인에서 실행될 때, API 보안 테스트 스캔은 기본적으로 dast
단계에서 실행됩니다.
API 보안 테스트 스캔이 최신 코드를 검사하도록 하려면, CI/CD 파이프라인이 dast
단계 이전 단계에서 변경 사항을 테스트 환경에 배포해야 합니다.
파이프라인이 매 실행마다 같은 웹 서버에 배포하도록 구성된 경우, 하나의 파이프라인이 여전히 실행되고 있는 동안 다른 파이프라인을 실행하면 한 파이프라인이 다른 파이프라인의 코드를 덮어쓰는 경쟁 조건이 발생할 수 있습니다.
스캔하는 API는 API 보안 테스트 스캔의 기간 동안 변경 사항에서 제외되어야 합니다.
API에 대한 유일한 변경 사항은 API 보안 테스트 스캐너에서 진행해야 합니다. 스캔 중에 API에 대해 수행된 변경 사항(예: 사용자, 예약된 작업, 데이터베이스 변경 사항, 코드 변경, 다른 파이프라인 또는 다른 스캐너에 의한 변경)은 부정확한 결과를 초래할 수 있습니다.
API 보안 테스트 스캔 구성 예시
다음 프로젝트는 API 보안 테스트 스캔을 보여줍니다:
- 예제 OpenAPI v2 사양 프로젝트
- 예제 HTTP 아카이브(HAR) 프로젝트
- 예제 Postman 컬렉션 프로젝트
- 예제 GraphQL 프로젝트
- 예제 SOAP 프로젝트
- Selenium을 사용한 인증 토큰
지원 요청 또는 개선 요청
특정 문제에 대한 지원을 받으려면 도움 받기 채널을 사용하세요.
GitLab.com의 GitLab 이슈 트래커는 API 보안 및 API 보안 테스트에 대한 버그 및 기능 제안을 위한 올바른 장소입니다.
API 보안 테스트와 관련하여 새로운 문제를 열 때 ~"Category:API Security"
레이블을 사용하여 적절한 사람들이 신속하게 검토할 수 있도록 하세요.
응답을 받을 수 있는 시점을 이해하기 위해 검토 응답 SLO를 참조하세요.
자신의 문제를 제출하기 전에 이슈 트래커 검색을 통해 유사한 항목을 검색하세요. 다른 사람도 같은 문제나 기능 제안을 했을 가능성이 높습니다.
이모지 반응으로 지원을 보여주거나 논의에 참여하세요.
예상과 다르게 작동하는 동작이 발생할 경우, 상황 정보를 제공하는 것을 고려하세요:
- 자체 관리 인스턴스를 사용하는 경우 GitLab 버전.
-
.gitlab-ci.yml
작업 정의. - 전체 작업 콘솔 출력.
- 직업 아티팩트로 지정된
gl-api-security-scanner.log
로 사용할 수 있는 스캐너 로그 파일.
용어집
-
Assert: Assertions는 취약점을 트리거하기 위해 체크에서 사용되는 감지 모듈입니다. 많은 Assertions는 구성 옵션을 가지고 있습니다. 하나의 체크는 여러 Assertions를 사용할 수 있습니다. 예를 들어, 로그 분석, 응답 분석, 상태 코드는 체크에서 함께 사용되는 일반적인 Assertions입니다. 여러 Assertions가 있는 체크는 이를 켜고 끌 수 있게 해줍니다.
-
Check: 특정 유형의 테스트를 수행하거나 취약점 유형에 대한 체크를 수행합니다. 예를 들어, SQL Injection 체크는 SQL Injection 취약점에 대한 DAST 테스트를 수행합니다. API 보안 테스트 스캐너는 여러 체크로 구성됩니다. 체크는 프로필에서 켜고 끌 수 있습니다.
-
Profile: 하나 이상의 테스트 프로필 또는 하위 구성이 포함된 구성 파일입니다. 기능 브랜치용 프로필과 메인 브랜치에 대한 추가 테스트용 프로필을 가질 수 있습니다.