취약점 익스포트 API

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

모든 취약점 익스포트 API 호출은 인증되어야 합니다.

프로젝트 수준의 취약점 익스포트 생성

프로젝트의 새로운 취약점 익스포트를 생성합니다.

만약 인증된 사용자가 새로운 취약점을 생성할 권한이 없다면, 이 요청은 403 Forbidden 상태 코드를 반환합니다.

취약점 익스포트는 익스포트의 작성자만 접근할 수 있습니다.

POST /security/projects/:id/vulnerability_exports
속성 유형 필수 설명
id 정수 또는 문자열 인증된 사용자가 멤버인 프로젝트의 ID 또는 URL-인코딩된 경로
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/security/projects/1/vulnerability_exports"

생성된 취약점 익스포트는 1시간 후에 자동으로 삭제됩니다.

응답 예시:

{
  "id": 2,
  "created_at": "2020-03-30T09:35:38.746Z",
  "project_id": 1,
  "group_id": null,
  "format": "csv",
  "status": "created",
  "started_at": null,
  "finished_at": null,
  "_links": {
    "self": "https://gitlab.example.com/api/v4/security/vulnerability_exports/2",
    "download": "https://gitlab.example.com/api/v4/security/vulnerability_exports/2/download"
  }
}

그룹 수준의 취약점 익스포트 생성

그룹의 새로운 취약점 익스포트를 생성합니다.

만약 인증된 사용자가 새로운 취약점을 생성할 권한이 없다면, 이 요청은 403 Forbidden 상태 코드를 반환합니다.

취약점 익스포트는 익스포트의 작성자만 접근할 수 있습니다.

POST /security/groups/:id/vulnerability_exports
속성 유형 필수 설명
id 정수 또는 문자열 인증된 사용자가 멤버인 그룹의 ID 또는 URL-인코딩된 경로
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/security/groups/1/vulnerability_exports"

생성된 취약점 익스포트는 1시간 후에 자동으로 삭제됩니다.

응답 예시:

{
  "id": 2,
  "created_at": "2020-03-30T09:35:38.746Z",
  "project_id": null,
  "group_id": 1,
  "format": "csv",
  "status": "created",
  "started_at": null,
  "finished_at": null,
  "_links": {
    "self": "https://gitlab.example.com/api/v4/security/vulnerability_exports/2",
    "download": "https://gitlab.example.com/api/v4/security/vulnerability_exports/2/download"
  }
}

인스턴스 수준의 취약점 익스포트 생성

보안 대시보드에서 선택한 사용자의 프로젝트에 대한 새로운 취약점 익스포트를 생성합니다.

POST /security/vulnerability_exports
curl --request POST --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/security/vulnerability_exports"

생성된 취약점 익스포트는 1시간 후에 자동으로 삭제됩니다.

응답 예시:

{
  "id": 2,
  "created_at": "2020-03-30T09:35:38.746Z",
  "project_id": null,
  "group_id": null,
  "format": "csv",
  "status": "created",
  "started_at": null,
  "finished_at": null,
  "_links": {
    "self": "https://gitlab.example.com/api/v4/security/vulnerability_exports/2",
    "download": "https://gitlab.example.com/api/v4/security/vulnerability_exports/2/download"
  }
}

단일 취약점 익스포트 가져오기

단일 취약점 익스포트를 가져옵니다.

GET /security/vulnerability_exports/:id
속성 유형 필수 설명
id 정수 또는 문자열 취약점 익스포트의 ID
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/security/vulnerability_exports/2"

만약 취약점 익스포트가 완료되지 않았다면, 응답은 202 Accepted입니다.

응답 예시:

{
  "id": 2,
  "created_at": "2020-03-30T09:35:38.746Z",
  "project_id": 1,
  "group_id": null,
  "format": "csv",
  "status": "finished",
  "started_at": "2020-03-30T09:36:54.469Z",
  "finished_at": "2020-03-30T09:36:55.008Z",
  "_links": {
    "self": "https://gitlab.example.com/api/v4/security/vulnerability_exports/2",
    "download": "https://gitlab.example.com/api/v4/security/vulnerability_exports/2/download"
  }
}

취약점 익스포트 다운로드

단일 취약점 익스포트를 다운로드합니다.

GET /security/vulnerability_exports/:id/download
속성 유형 필수 설명
id 정수 또는 문자열 취약점 익스포트의 ID
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/security/vulnerability_exports/2/download"

취약점 익스포트가 아직 완료되지 않았거나 찾을 수 없는 경우, 응답은 404 Not Found입니다.

응답 예시:

그룹 이름,프로젝트 이름,도구,스캐너 이름,상태,취약점,세부 정보,추가 정보,심각도,CVE,CWE,기타 식별자,감지 일시,위치,활동,코멘트,전체 경로,CVSS 벡터,기각 이유
Gitlab.org,Defend,container_scanning,Trivy,resolved,musl-utils-1.1.20-r4의 CVE-2019-14697,"musl libc 1.1.23에서 x87 부동 소수점 스택 조정 불균형 문제가 발생하여, math/i386/ 디렉토리 관련. 이 라이브러리 사용 시 애플리케이션의 소스 코드에 없는 경계를 넘어 쓰기가 발생할 수 있습니다.",musl-utils-1.1.20-r4의 CVE-2019-14697,중대,CVE-2019-14697,,"",2022-10-07 13:34:41 UTC,"{""image""=>""python:3.4-alpine"", ""dependency""=>{""package""=>{""name""=>""musl-utils""}, ""version""=>""1.1.20-r4""}, ""operating_system""=>""alpine 3.9.2""}",true,"2022-10-07 13:41:08 UTC|root|resolved|changed vulnerability status to resolved",group/project/1,,,
Gitlab.org,Defend,container_scanning,Trivy,detected,sqlite-libs-3.26.0-r3의 CVE-2019-19242,"SQLite 3.30.1에서 pExpr->y.pTab을 잘못 처리하는 오류가 있어 TK_COLUMN 케이스를 expr.c의 sqlite3ExprCodeTarget에서 보여줍니다.",sqlite-libs-3.26.0-r3의 CVE-2019-19242,중간,CVE-2019-19242,,"",2022-10-07 13:34:41 UTC,"{""image""=>""python:3.4-alpine"", ""dependency""=>{""package""=>{""name""=>""sqlite-libs""}, ""version""=>""3.26.0-r3""}, ""operating_system""=>""alpine 3.9.2""}",true,"",group/project/2,,,
Gitlab.org,Defend,container_scanning,Trivy,detected,musl-1.1.20-r4의 CVE-2020-28928,"musl libc 1.2.1 이하의 wcsnrtombs가 대상 버퍼 크기와 소스 문자 제한의 특정 조합을 잘못 처리하여, 유효하지 않은 쓰기 접근(버퍼 오버플로우)가 발생할 수 있습니다.",musl-1.1.20-r4의 CVE-2020-28928,중간,CVE-2020-28928,,"",2022-10-07 13:34:41 UTC,"{""image""=>""python:3.4-alpine"", ""dependency""=>{""package""=>{""name""=>""musl""}, ""version""=>""1.1.20-r4""}, ""operating_system""=>""alpine 3.9.2""}",true,"",group/project/3,,,
Gitlab.org,Defend,dependency_scanning,Gemnasium,detected,Rack에서 OS 명령 주입,정교하게 작성된 요청이 Rack의 Lint 미들웨어 및 CommonLogger 미들웨어를 통해 터미널로 쓰기하도록 유발할 수 있습니다. 이러한 이스케이프 시퀀스는 피해자의 터미널에서 명령을 실행할 수 있도록 사용될 수 있습니다.,Rack에서 OS 명령 주입,알 수 없음,Gemfile.lock:rack:gemnasium:60b5a27f-4e4d-4ab4-8ae7-74b4b212e177,,Gemnasium-60b5a27f-4e4d-4ab4-8ae7-74b4b212e177; GHSA-wq4h-7r42-5hrr,2022-10-14 13:16:00 UTC,"{""file""=>""Gemfile.lock"", ""dependency""=>{""package""=>{""name""=>""rack""}, ""version""=>""2.2.3""}}",false,group/project/4,,,
Gitlab.org,Defend,dependency_scanning,Gemnasium,detected,Rack Multipart 파싱에서 거부 서비스 취약점,"조심스럽게 작성된 Multipart POST 요청이 Rack의 Multipart 파서가 예상보다 훨씬 오랜 시간이 걸리게 하여, 가능한 거부 서비스 취약점을 유발할 수 있습니다. 영향을 받는 코드는 Rack의 Multipart 파서를 사용하여 Multipart 포스트를 파싱합니다.",Rack Multipart 파싱에서 거부 서비스 취약점,알 수 없음,Gemfile.lock:rack:gemnasium:20daa17a-47b5-4f79-80c2-cd8f2db9805c,,Gemnasium-20daa17a-47b5-4f79-80c2-cd8f2db9805c; GHSA-hxqx-xwvh-44m2,2022-10-14 13:16:00 UTC,"{""file""=>""Gemfile.lock"", ""dependency""=>{""package""=>{""name""=>""rack""}, ""version""=>""2.2.3""}}",false,group/project/5,,,
Gitlab.org,Defend,sast,Brakeman,detected,가능한 SQL 인젝션,,,,medium,e52f23a259cd489168b4313317ac94a3f13bffde57b9635171c1a44a9f329e9a,,"""Brakeman Warning Code 0""",2022-10-13 15:16:36 UTC,"{""file""=>""main.rb"", ""class""=>""User"", ""method""=>""index"", ""start_line""=>3}",false,"",group/project/6,,,
Gitlab.org,Defend,sast,Semgrep,dismissed,가능한 SQL 명령어 인젝션,"SQL 인젝션은 데이터 또는 시스템 침해로 이어질 수 있는 심각한 취약점으로...",,critical,,CWE-89,SCS0002,2023-12-28 10:48:34 UTC,"{""file""=>""WebGoat/App_Code/DB/SqliteDbProvider.cs"", ""start_line""=>274}",false,"2023-12-28 10:51:32 UTC|root|기각됨|""기각된 취약점 상태를 '적용되지 않음'으로 변경 및 다음 코멘트: ""기각 5""",gitlab-org/defend/579,,적용되지 않음,