InfoGrab DocsInfoGrab Docs

SLSA provenance 명세

요약

이 기능의 가용성은 기능 플래그로 제어됩니다. SLSA provenance 명세는 buildType 참조를 문서화하고 공개할 것을 요구합니다. 자세한 내용은 SLSA의 buildType 문서를 참조합니다. 이 공식 SLSA Provenance buildType 참조는 다음과 같습니다.

히스토리
Feature flag

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

SLSA provenance 명세는 buildType 참조를 문서화하고 공개할 것을 요구합니다. 이 참조는 GitLab SLSA attestation을 사용하는 이들이 GitLab SLSA provenance statement에 고유한 특정 필드를 파싱하는 데 도움을 주기 위한 것입니다.

자세한 내용은 SLSA의 buildType 문서를 참조합니다.

buildType#

이 공식 SLSA Provenance buildType 참조는 다음과 같습니다.

  • GitLab CI/CD job의 실행을 설명합니다.
  • GitLab에서 호스팅하고 관리합니다.

설명#

이 buildType은 소프트웨어 아티팩트를 빌드하는 워크플로의 실행을 설명합니다.

Note

사용자는 인식되지 않는 외부 매개변수를 무시해야 합니다. 어떤 변경도 기존 외부 매개변수의 시맨틱을 변경해서는 안 됩니다.

외부 매개변수#

외부 매개변수는 다음과 같습니다.

Field Value
source 프로젝트의 URL입니다.
entryPoint 빌드를 트리거한 CI/CD job의 이름입니다.
variables 빌드에 사용된 다음 CI/CD 변수의 값입니다: CI_PIPELINE_ID, CI_PIPELINE_URL, CI_JOB_ID, CI_JOB_URL, CI_JOB_NAME, CI_PROJECT_ID, CI_PROJECT_NAME.

내부 매개변수#

내부 매개변수는 기본적으로 채워집니다.

Field Value
name 러너의 이름입니다.
executor 러너 executor입니다.
architecture CI/CD job이 실행되는 아키텍처입니다.
job 빌드를 트리거한 CI/CD job의 ID입니다.

예시#

다음 예시는 GitLab이 생성한 provenance statement의 형식을 보여줍니다.

{
  "_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",
          "CI_JOB_URL": "http://gdk.test:3000/root/repo_name/-/jobs/987",
          "CI_JOB_NAME": "job_name",
          "CI_PROJECT_ID": "123",
          "CI_PROJECT_NAME": "repo_name",
        }
      },
      "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 provenance 명세

GitLab v19.4
Tier: Ultimate
Offering: GitLab.com
원문 보기

요약

이 기능의 가용성은 기능 플래그로 제어됩니다. SLSA provenance 명세는 buildType 참조를 문서화하고 공개할 것을 요구합니다. 자세한 내용은 SLSA의 buildType 문서를 참조합니다. 이 공식 SLSA Provenance buildType 참조는 다음과 같습니다.

히스토리
Feature flag

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

SLSA provenance 명세는 buildType 참조를 문서화하고 공개할 것을 요구합니다. 이 참조는 GitLab SLSA attestation을 사용하는 이들이 GitLab SLSA provenance statement에 고유한 특정 필드를 파싱하는 데 도움을 주기 위한 것입니다.

자세한 내용은 SLSA의 buildType 문서를 참조합니다.

buildType#

이 공식 SLSA Provenance buildType 참조는 다음과 같습니다.

  • GitLab CI/CD job의 실행을 설명합니다.
  • GitLab에서 호스팅하고 관리합니다.

설명#

이 buildType은 소프트웨어 아티팩트를 빌드하는 워크플로의 실행을 설명합니다.

Note

사용자는 인식되지 않는 외부 매개변수를 무시해야 합니다. 어떤 변경도 기존 외부 매개변수의 시맨틱을 변경해서는 안 됩니다.

외부 매개변수#

외부 매개변수는 다음과 같습니다.

Field Value
source 프로젝트의 URL입니다.
entryPoint 빌드를 트리거한 CI/CD job의 이름입니다.
variables 빌드에 사용된 다음 CI/CD 변수의 값입니다: CI_PIPELINE_ID, CI_PIPELINE_URL, CI_JOB_ID, CI_JOB_URL, CI_JOB_NAME, CI_PROJECT_ID, CI_PROJECT_NAME.

내부 매개변수#

내부 매개변수는 기본적으로 채워집니다.

Field Value
name 러너의 이름입니다.
executor 러너 executor입니다.
architecture CI/CD job이 실행되는 아키텍처입니다.
job 빌드를 트리거한 CI/CD job의 ID입니다.

예시#

다음 예시는 GitLab이 생성한 provenance statement의 형식을 보여줍니다.

{
  "_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",
          "CI_JOB_URL": "http://gdk.test:3000/root/repo_name/-/jobs/987",
          "CI_JOB_NAME": "job_name",
          "CI_PROJECT_ID": "123",
          "CI_PROJECT_NAME": "repo_name",
        }
      },
      "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"
      }
    }
  }
}