DAST API 분석기

Tier: Ultimate Offering: GitLab.com, Self-managed, GitLab Dedicated

GitLab 15.6에서 DAST API 분석기가 온디맨드 DAST API 스캔에 대한 기본 분석기로 채택되었습니다.

웹 API의 동적 애플리케이션 보안 테스트(DAST)를 수행하여 QA 프로세스에서 간과할 수 있는 버그 및 잠재적 보안 문제를 발견하는 데 도움을 줍니다. DAST API 테스트를 사용하여 GitLab Secure 보안 스캐너 및 자체 테스트 프로세스와 함께 사용할 수 있습니다. DAST API 테스트를 CI/CD 워크플로우의 일부 또는 온디맨드 또는 둘 다로 실행할 수 있습니다.

경고: 운영 서버에서 DAST API 테스트를 실행하지 마십시오. API가 수행할 수 있는 어떤 기능이든 수행할 뿐만 아니라 API의 버그를 트리거할 수도 있습니다. 이는 데이터의 수정 및 삭제와 같은 동작도 포함됩니다. DAST API는 테스트 서버에서만 실행하세요.

DAST API는 다음과 같은 웹 API 유형을 테스트할 수 있습니다:

  • REST API
  • SOAP
  • GraphQL
  • Form bodies, JSON 또는 XML

DAST API 스캔 실행 시기

CI/CD 파이프라인에서 DAST API 스캔을 실행할 때, 기본적으로 dast 단계에서 DAST API 스캔이 실행됩니다. DAST API 스캔이 최신 코드를 조사하도록 하려면 CI/CD 파이프라인이 dast 단계 전에 테스트 환경으로 변경 사항을 배포하도록 해야 합니다.

파이프라인이 각 실행에서 동일한 웹 서버로 배포하도록 구성된 경우, 다른 실행 중에 파이프라인을 실행하면 한 파이프라인이 다른 파이프라인의 코드를 덮어쓰는 경합 조건이 발생할 수 있습니다. 조사를 실행할 API는 DAST API 스캔 기간 동안의 변경에서 제외되어야 합니다. API에 대한 변경은 DAST API 스캐너의 것이어야 합니다. 조사 중에 API에 대한 변경(예: 사용자, 예약된 작업, 데이터베이스 변경, 코드 변경, 다른 파이프라인 또는 다른 스캐너)이 잘못된 결과를 유발할 수 있습니다.

예시 DAST API 스캔 구성

다음 프로젝트들은 DAST API 스캔을 보여줍니다:

지원 받거나 개선 사항 요청하기

특정 문제에 대한 지원을 받으려면 도움말 채널을 사용하세요.

API 보안 및 DAST API에 대한 버그 및 기능 제안에 대한 올바른 위치는 GitLab.com의 GitLab 이슈 트래커입니다. DAST API 관련 새 이슈를 여는 경우 ~"Category:API Security" 라벨을 사용하여 해당 분야 전문가들이 신속하게 검토하도록 해야 합니다. 응답 SLO(SLO)를 확인하여 적절한 시점에 응답을 받아야 하는 시기를 이해하세요.

제출하기 전에 유사한 항목을 찾기위해 이슈 트래커를 검색하여 자체의 문제나 기능 제안이 다른 사람이 이미 가진 문제일 가능성이 높습니다. 이슈와 함께 에모지 반응을 표시하거나 토론에 참가하세요.

원하는 대로 작동하지 않는 동작이 있는 경우 다음과 같은 맥락 정보를 제공하는 것을 고려해보세요:

  • 자체 관리형 인스턴스를 사용하는 경우 GitLab 버전.
  • .gitlab-ci.yml 잡 정의.
  • 전체 잡 콘솔 출력.
  • gl-api-security-scanner.log이라는 잡 artifact로 제공되는 스캐너 로그 파일.

경고: 지원 이슈에 첨부된 데이터를 익명화하세요. 자격 증명, 비밀번호, 토큰, 키 및 비밀 정보와 같은 민감한 정보를 제거하세요.

용어 사전

  • Assert: 어설션은 취약점을 트리거하는 검사에 사용되는 감지 모듈입니다. 많은 어설션이 구성을 갖고 있습니다. 여러 어설션이 함께 사용되는 검사에는 로그 분석, 응답 분석 및 상태 코드를 예시로 들 수 있습니다. 여러 어설션이 있는 검사는 켜고 끌 수 있습니다.
  • Check: 특정 유형의 테스트를 수행하거나 특정 유형의 취약점을 조사했던 것입니다. 예를 들어, SQL Injection Check는 SQL Injection 취약점에 대한 DAST 테스트를 수행합니다. DAST API 스캐너는 여러 검사로 구성되어 있습니다. 프로필에서 검사를 켜고 끌 수 있습니다.
  • Profile: 구성 파일에 하나 이상의 테스트 프로필 또는 하위 구성이 있습니다. 기능 브랜치를 위한 프로필과 본 브랜치에 대한 추가 테스트를 위한 다른 프로필을 가질 수 있습니다.