SLSA 출처 명세
GitLab v19.1Offering: GitLab.com
이 기능의 사용 가능 여부는 기능 플래그로 제어됩니다. SLSA 출처 명세는 buildType 참조가 문서화되고 게시될 것을 요구합니다. 자세한 내용은 SLSA buildType 문서를 참조하세요. 이 공식 SLSA Provenance buildType 참조는:
Status: Experiment
이 기능의 사용 가능 여부는 기능 플래그로 제어됩니다. 자세한 내용은 히스토리를 참조하세요. 이 기능은 테스트용으로 제공되며 프로덕션 환경에서 사용할 준비가 되어 있지 않습니다.
SLSA 출처 명세#
SLSA 출처 명세는 buildType 참조가 문서화되고 게시될 것을 요구합니다.
이 참조 문서는 GitLab SLSA 증명(attestation)의 소비자가 GitLab SLSA 출처 명세문(provenance statement)에 고유한 특정 필드를 파싱할 수 있도록 지원하기 위한 것입니다.
자세한 내용은 SLSA buildType 문서를 참조하세요.
buildType#
이 공식 SLSA Provenance buildType 참조는:
-
GitLab CI/CD job의 실행을 설명합니다.
-
GitLab이 호스팅하고 유지 관리합니다.
설명#
이 buildType은 소프트웨어 아티팩트를 빌드하는 워크플로의 실행을 설명합니다.
소비자는 인식되지 않는 외부 파라미터를 무시해야 합니다. 어떠한 변경도 기존 외부 파라미터의 의미를 변경해서는 안 됩니다.
외부 파라미터#
외부 파라미터:
| 필드 | 값 |
|---|---|
| source | 프로젝트의 URL. |
| entryPoint | 빌드를 트리거한 CI/CD job의 이름. |
| variables | 빌드 명령 실행 중 사용 가능한 CI/CD 또는 환경 변수의 이름과 값. 변수가 마스킹되거나 숨겨진 경우 변수 값은 [MASKED]로 설정됩니다. |
내부 파라미터#
기본으로 채워지는 내부 파라미터:
| 필드 | 값 |
|---|---|
| name | 러너의 이름. |
| executor | 러너 executor. |
| architecture | CI/CD job이 실행되는 아키텍처. |
| job | 빌드를 트리거한 CI/CD job의 ID. |
예시#
이 예시는 GitLab이 생성한 출처 명세문의 형식을 보여줍니다:
{
"_type": "https://in-toto.io/Statement/v1",
"subject": [
{
"name": "artifacts.zip",
"digest": {
"sha256": "717a1ee89f0a2829cf5aad57054c83615675b04baa913bdc19999d7519edf3f2"
}
}
],
"predicateType": "https://slsa.dev/provenance/v1",
"predicate": {
"buildDefinition": {
"buildType": "",
"externalParameters": {
"source": "http://gdk.test:3000/root/repo_name",
"entryPoint": "build-job",
"variables": {
"CI_PIPELINE_ID": "576",
"CI_PIPELINE_URL": "http://gdk.test:3000/root/repo_name/-/pipelines/576",
"CI_JOB_ID": "412",
[... additional environment variables ...]
"masked_and_hidden_variable": "[MASKED]",
"masked_variable": "[MASKED]",
"visible_variable": "visible_variable",
}
},
"internalParameters": {
"architecture": "arm64",
"executor": "docker",
"job": 412,
"name": "9-mfdkBG"
},
"resolvedDependencies": [
{
"uri": "http://gdk.test:3000/root/repo_name",
"digest": {
"gitCommit": "a288201509dd9a85da4141e07522bad412938dbe"
}
}
]
},
"runDetails": {
"builder": {
"id": "http://gdk.test:3000/groups/user/-/runners/33",
"version": {
"gitlab-runner": "4d7093e1"
}
},
"metadata": {
"invocationId": 412,
"startedOn": "2025-06-05T01:33:18Z",
"finishedOn": "2025-06-05T01:33:23Z"
}
}
}
}