feat: being able to automatically pull and record attached SBOMS

Đang mở
#244 1 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

Chưa có ai nhận issue này.

Đánh giá

Độ khó
5/5
Thời gian dự kiến
Hơn một tuần
Mức phù hợp với người mới
25/100
Loại issue
Tính năng
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Đình trệ
Công nghệ
go
Lĩnh vực
cli, security

Hướng nghiên cứu

The issue does not name implementation files or tests. Start by locating the CLI contract parsing and material-attachment entry points, then read how container-image metadata and cosign attestations are handled. The proposed behavior is complete when contracts can request an image-attached SBOM and the CLI downloads and records it, including in-toto predicates as well as raw SPDX or CycloneDX artifacts.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

component/artifact-cas component/CLI component/controlplane enhancement good first issue pinned security

A common use-case for people building and signing container images is to use cosign. Cosign allows not only to sign such container images but also in-toto attestations and SBOMS.

An operator, using Chainloop, might want to leverage this container image metadata and inject it as pieces of evidence.

Today this is possible by manually downloading the sbom (i.e oras pull) and then adding it to the attestation chainloop att add ....

We should simplify this process by automatically downloading, extracting and attaching such sboms.

One way we could do it is by extending the contract format

From

schemaVersion: v1

materials:
  - type: CONTAINER_IMAGE
    name: image
    output: true

  - type: SBOM_CYCLONEDX_JSON
    name: sbom

to

schemaVersion: v1

materials:
  - type: CONTAINER_IMAGE
    name: image
    output: true
    sboms:
      - type: SBOM_CYCLONEDX_JSON
        name: sbom

note how now operators can indicate that the container image to be added must "contain" an sbom. This new contract will indicate Chainloop CLI to find and download the sbom and attach it as sbom material type.

Note that this SBOMs might some as in-toto predicates too so we need to make sure we support not only raw spdx/cyclonedx artifacts but also in-toto specs

Ngôn ngữ chính
Go
Star
582
Fork
61
Merge trung bình
12 giờ 47 phút
Pull request đã merge (30 ngày)
137

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của chainloop-dev/chainloop

Tất cả issue của chainloop-dev/chainloop

Issue tương tự

Thêm issue về Go

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.