InfoGrab DocsInfoGrab Docs

SLSA 출처 명세

요약

이 기능의 사용 가능 여부는 기능 플래그로 제어됩니다. SLSA 출처 명세는 buildType 참조가 문서화되고 게시될 것을 요구합니다. 자세한 내용은 SLSA buildType 문서를 참조하세요. 이 공식 SLSA Provenance buildType 참조는:


Status: Experiment

히스토리
  • GitLab 18.3에서 slsa_provenance_statement라는 이름의 플래그와 함께 도입됨. 기본적으로 비활성화됨.

이 기능의 사용 가능 여부는 기능 플래그로 제어됩니다. 자세한 내용은 히스토리를 참조하세요. 이 기능은 테스트용으로 제공되며 프로덕션 환경에서 사용할 준비가 되어 있지 않습니다.

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"
      }
    }
  }
}

SLSA 출처 명세

GitLab v19.1
Tier: Ultimate
Offering: GitLab.com
원문 보기
요약

이 기능의 사용 가능 여부는 기능 플래그로 제어됩니다. SLSA 출처 명세는 buildType 참조가 문서화되고 게시될 것을 요구합니다. 자세한 내용은 SLSA buildType 문서를 참조하세요. 이 공식 SLSA Provenance buildType 참조는:


Status: Experiment

히스토리
  • GitLab 18.3에서 slsa_provenance_statement라는 이름의 플래그와 함께 도입됨. 기본적으로 비활성화됨.

이 기능의 사용 가능 여부는 기능 플래그로 제어됩니다. 자세한 내용은 히스토리를 참조하세요. 이 기능은 테스트용으로 제공되며 프로덕션 환경에서 사용할 준비가 되어 있지 않습니다.

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"
      }
    }
  }
}