취약점 내보내기 API

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

취약점 내보내기에 대한 모든 API 호출은 인증(authentication)되어야 합니다.

프로젝트 수준의 취약점 내보내기 생성

프로젝트에 대한 새로운 취약점 내보내기를 생성합니다.

인증된 사용자가 새 취약점을 생성할(create a new vulnerability) 수 있는 권한이 없는 경우, 이 요청은 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"
  }
}

그룹 수준의 취약점 내보내기 생성

그룹에 대한 새로운 취약점 내보내기를 생성합니다.

인증된 사용자가 새 취약점을 생성할(create a new vulnerability) 수 있는 권한이 없는 경우, 이 요청은 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,해결됨,musl-utils-1.1.20-r4의 CVE-2019-14697,"musl libc through 1.1.23 has an x87 floating-point stack adjustment imbalance, related to the math/i386/ directory. In some cases, use of this library could introduce out-of-bounds writes that are not present in an application's source code.",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,감지됨,sqlite-libs-3.26.0-r3의 CVE-2019-19242,"SQLite 3.30.1 mishandles pExpr->y.pTab, as demonstrated by the TK_COLUMN case in sqlite3ExprCodeTarget in expr.c.",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,감지됨,musl-1.1.20-r4의 CVE-2020-28928,"In musl libc through 1.2.1, wcsnrtombs mishandles particular combinations of destination buffer size and source character limit, as demonstrated by an invalid write access (buffer overflow).",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,감지됨,rack에서의 OS 명령 주입 취약점,주의깊게 작성된 요청의 경우 Rack의 Lint middleware 및 CommonLogger middleware를 통해 쉘 이스케이프 시퀀스가 터미널에 기록되도록 할 수 있습니다. 이 이스케이프 시퀀스를 사용하여 피해자의 터미널에서 명령을 실행할 수 있습니다..,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,감지됨,Rack Multipart Parsing에서의 서비스 거부 취약점,주의 깊게 작성된 다중 POST 요청은 Rack의 다중 파서가 예상보다 훨씬 더 오랜 시간이 걸리게 할 수 있으며, 가능한 서비스 거부 취약점으로 이어질 수 있습니다. 영향을 받는 코드는 Rack의 다중 파서를 사용하여 다중 포스트를 구문 분석합니다..,Rack Multipart Parsing에서의 서비스 거부 취약점,알 수 없음,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,감지됨,가능한 SQL 인젝션,,가능한 SQL 인젝션,중간,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,거부됨,가능한 SQL 명령 인젝션에서의 특수 요소의 부적절한 중립화,"SQL Injection은 데이터 또는 시스템을 손상시킬 수 있는 중대한 취약점으로...",,중요,,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|거부됨|""변경된 취약점 상태를 거부됨으로 변경: 해당 사항 없음 및 다음 코멘트: ""dismiss 5""",gitlab-org/defend/579,,해당 사항 없음,