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