TGViewer
DEV: Рубиновые тона DEV: Рубиновые тона @dev_in_ruby_colors · 3.28K subscribers
Post #1368 1.81K
Хотел поделиться небольшим трюком, который позволяет легко сгенерировать файлы sbom и добавить аттестацию для приложений Go, которые компилируются через Goreleaser в GH Actions. Имея эти данные, любой может проверить происхождение файла, контрольные суммы (которые также подписаны отдельно) и удостовериться, что билд реально делался в этом репо. Конечно, это не докажет, что в коде нет каких-то скрытых нехороших штук.

В общем, в сам action добавляются разрешения

permissions:
contents: write
id-token: write
attestations: write
artifact-metadata: write


Потом ставятся такие штуки перед go releaser:

     - name: Install Syft
uses: anchore/sbom-action/download-syft@v0

- name: Install Cosign
uses: sigstore/cosign-installer@v4.1.1


Следующим шагом запускается Goreleaser, а затем ставится аттестация:

      - name: Find checksum file
shell: bash
run: echo "CHECKSUMS_FILE=$(ls dist/*_checksums.txt)" >> "$GITHUB_ENV"

- name: Generate artifact attestation
uses: actions/attest@v4.1.0
with:
subject-checksums: ${{ env.CHECKSUMS_FILE }}


В самом же конфиге go releaser помимо обычных вещей добавляется:

checksum:
name_template: "{{ .ProjectName }}_{{ .Version }}_checksums.txt"
algorithm: sha256

sboms:
- artifacts: archive

release:
draft: false
prerelease: auto
mode: replace

changelog:
disable: true

signs:
- id: checksums
cmd: cosign
signature: "${artifact}.sigstore.json"
artifacts: checksum
args:
- sign-blob
- "--bundle=${signature}"
- "${artifact}"
- "--yes"


После этого всё сделается "само". Затем через Cosign любой может сделать верификацию, либо посмотреть аттестацию прямо на GitHub
  • ❤ 7
  • 👍 5
More from @dev_in_ruby_colors
  1. Sep 22, 2026А тем временем сказ о ведьмаке, потерявшем память, уже доступен в виде аудиокниги. Целых 1…
  2. Sep 20, 2026В этом уроке по абстрактной алгебре продолжаем говорить о кольцах: в частности о subrings…
  3. Sep 17, 2026Сделал обзор актуальных библиотек JS для сбора данных, 10 штук бодрых решений на все случа…
  4. Sep 13, 2026В общем, мне тут особо было нечего делать и я подумал создать небольшой скрипт для решения…
  5. Sep 12, 2026Oh shit here we go again https://x.com/thlarsen/status/2098544270361964576
  6. Sep 7, 2026Гугл проказничает опять. На сей раз они начали менять то, как выглядят ссылки в поисковой…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →