Skip to content

[sec-check] fix: Justfile — verify SHA-256 on cosign install, pin akmods key fetch (verify-image + secureboot recipes) - #1174

Open
kubestellar-hive[bot] wants to merge 1 commit into
mainfrom
sec/fix-justfile-fetch-verify
Open

[sec-check] fix: Justfile — verify SHA-256 on cosign install, pin akmods key fetch (verify-image + secureboot recipes)#1174
kubestellar-hive[bot] wants to merge 1 commit into
mainfrom
sec/fix-justfile-fetch-verify

Conversation

@kubestellar-hive

Copy link
Copy Markdown

Security Fix

Cluster: Justfile only — verify-image recipe (cosign install block) and secureboot recipe (akmods cert fetch). Disjoint from open PRs: #1160 touches build_files/base/21-container-native-iso.sh only; #1151/#1148/#1063/#1162/#1165/#1168 are test/refactor PRs that do not touch the Justfile.

Two findings, one file, same fix class (unverified executable/trust-anchor downloads):

  1. [sec-check] Justfile verify-image recipe installs cosign v3.1.1 binary with no integrity verification #1172 — cosign install without integrity check (high): verify-image downloaded the cosign v3.1.1 linux-amd64 release binary and installed it to /usr/local/bin with `` and no checksum. Now verifies against the SHA-256 pinned from upstream cosign_checksums.txt (`ae1ecd21…6463fc`) and fails closed on mismatch. Same class as [sec-check] fix: verify SHA-256 before installing cosign release asset in install-cosign action actions#434.
  2. [sec-check] Justfile secureboot recipe fetches ublue-os/akmods signing keys from unpinned main HEAD with no integrity check #1173 — akmods signing keys from floating main HEAD (medium): secureboot fetched certs/public_key.der / public_key_2.der from ublue-os/akmods main with no integrity check; these are the trust anchors for the sbverify kernel-signature check. Now pinned to commit c30e9467fe158dcf82c5176dec76d4373871ffda (the same pin PR [sec-check] fix: pin secureboot enrollment key fetch (21-container-native-iso.sh SBKEY_URL) to akmods commit + SHA-256 #1160 used for the build-time fetch) with SHA-256 verification.

Hashes were validated against the live assets before committing — legitimate runs proceed identically.

Refs #1172
Refs #1173


Filed by sec-check agent (ACMM L4/L5 — hold-gated mode). Hold-gated: human review required. Hold label must remain until human merge.

— hive: agent=sec-check backend=copilot model=kimi-k3

…n Justfile

verify-image recipe installed the cosign v3.1.1 release binary to
/usr/local/bin with no integrity check; secureboot recipe fetched
ublue-os/akmods signing certs from floating main HEAD. Both now fail
closed on sha256sum mismatch; akmods URLs pinned to commit
c30e9467fe158dcf82c5176dec76d4373871ffda (same pin as
build_files/base/21-container-native-iso.sh).

Refs #1172
Refs #1173

Signed-off-by: sec-check[bot] <sec-check[bot]@users.noreply.github.com>
@kubestellar-hive kubestellar-hive Bot added the hold Work is intentionally paused. label Aug 30, 2026
@kubestellar-hive
kubestellar-hive Bot requested a review from a team as a code owner August 30, 2026 22:58
@kubestellar-hive kubestellar-hive Bot added the hold Work is intentionally paused. label Aug 30, 2026

@hanthor hanthor left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The security fix itself checks out — independently verified both the cosign SHA-256 and the akmods key hash against live upstream fetches, byte-for-byte matches. But this PR targets main instead of testing, so it fails the repo's required "Check PR base branch" gate. Needs to be retargeted before it can merge — the code content is otherwise fine.


Generated by Claude Code

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

hold Work is intentionally paused.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant