fix/pin-downloads #3

Merged
jfraeys merged 2 commits from fix/pin-downloads into main 2026-10-02 18:02:48 -04:00
Owner
No description provided.
Binaries pinned to a version but fetched with no integrity check (a tampered
release or hijacked upstream account would go unnoticed) now carry a
SHA-256 from the vendor's published sums, each also recomputed independently
from the artifact: OpenTofu 1.12.6 (provisioner and runner roles, amd64 and
arm64), Forgejo runner 13.0.0 (runner and cache-host roles), Docker Compose
v2.27.0 fallback. Bumping a version without its checksum now fails loudly.

docker-bench-security was fetched from upstream's master with no
verification, and also never worked: the script finds functions/ and
tests/ relative to its working directory, but only the single .sh was
copied into /usr/local/sbin and the unit set no WorkingDirectory, so the
weekly scan has just logged "No such file or directory" (the download's
failed_when: false hid the rest). Now: pinned release commit (v1.6.1) with
a checksum, installed as a directory, unit runs from it. This makes a
previously dead scan start producing output on the next deploy. Stale
standalone copy is removed.

Not changed: the pipe-to-shell installers (crowdsec, trivy, nodesource,
yq), GPG keys, and authelia:latest. forgejo_runner_macos is also
untouched: its version "11" 404s on both hosts, so there's nothing valid
to checksum.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
- crowdsec/nodesource: explicit apt repo setup with checksum-pinned keys
- yq: pinned version, per-arch sha256, curl -f
- docker/trivy/tailscale apt keys: checksum pinned
- cloud-init: pin ansible==12.3.0
- trivy scan script: no self-install from main
- macOS runner: require caller-supplied URL + sha256 (no upstream darwin build)

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
jfraeys/infra!3
No description provided.