#466
External installer checksum authorization 6b9439ca7426
External installer checksum authorization
This monitor observed installer bytes outside the exact trusted owner boundary.
- Authorization digest:
6b9439ca742656dc90d1ce8038620577b0ffde628ea3af9cfc3df58c12d6174b - Authorization status:
required - Pinned base:
8aa7e328fca3115a721000b2a49444c9b045a2e2 - Verification report SHA256:
6cd92a329635c456b52dc4fda323304ec8c4186596b2f01a09d1293d303f2233
First-observation evidence
atuin- URL:
https://github.com/atuinsh/atuin/releases/latest/download/atuin-installer.sh - expected:
e632c6d1dc71e75c9710caf5f645c11131f0d94c859ed6b4266444e11240abdb - observed:
69c7c0e057084ede4536de25f856c037f4649dcf8f29cc98a64ac52340320a99
- URL:
opencode- URL:
https://opencode.ai/install - expected:
fc3c1b2123f49b6df545a7622e5127d21cd794b15134fc3b66e1ca49f7fb297e - observed:
a2dd59522b9a091b6cdb2e4870c0f2135f7da09807cd5a7e04222d4316925b72
- URL:
Human authorization
After reviewing the upstream bytes, place exactly this line in /home/ubuntu/.local/state/acfs-monitor/authorized-checksum-change as an owner-only, non-symlink file:
authorize:6b9439ca742656dc90d1ce8038620577b0ffde628ea3af9cfc3df58c12d6174b
Release-campaign review of digest
6b9439ca742656dc…(still current as of 2026-10-18 19:50 UTC)Review evidence only. This comment does not authorize anything. The monitor's gate is still the owner-only
authorized-checksum-changefile on the monitor host.I recomputed the digest with
external_authorization_digestover the current pins (9956dd9c) and the live bytes. It is unchanged since this issue was opened, so the bytes below are exactly what it asks about.Upstream content review (diffs read; nothing executed on a real host)
releases/latest/download/atuin-installer.sh)e632c6d1…is the v18.23.0 asset. Live69c7c0e0…is byte-identical to the v18.24.1 asset; both match GitHub's published asset digests.ATUIN_NO_MODIFY_PATHhandling, no new endpoints.https://opencode.ai/install)installon the upstreamv1branch at3be039593a9a(PR #54904, merged with a verified signature). The pinnedfc3c1b21…is4018c863; no other commit touched the file in between.registry.npmjs.org/opencode-ai/latest, validated as1.x.y, and falls back to GitHub releases filtered tov1.x.y. It also checks that the download URL exists.~/.opencode/bin), shell profile edits and no-sudo behaviour are unchanged.registry.npmjs.org.Real tests (trj, clean containers, unprivileged target user)
security.shpath (load_checksums+fetch_and_run_with_runner) on ubuntu:24.04 amd64, arm64v8/ubuntu:24.04 and ubuntu:22.04:Checksum mismatch.automated_flywheel_setup_checker0.1.0validate --check-urls --check-hasheson the candidate pins: valid, 48/48 reachable, 48/48 hashes match.1e0765a6on base9956dd9c:packages/manifestbun run generate(bun 1.4.3). The diff is exactlychecksums.yaml(header + these two sha256 lines),scripts/generated/internal_checksums.shandapps/web/lib/generated/manifest-modules.ts; both generated files pinfb358e42….check-manifest-drift.sh --json:drift_detected=false; internal checksums 121 checked, 0 drifted.install.sh --bootstrap-archive <candidate archive> --yes --only tools.atuin,agents.opencodeon ubuntu:24.04: integrity verified (121 scripts),Verified: atuin, atuin 18.24.1 plus the ACFS guard wrapper,Verified: opencode, opencode 1.19.3,ACFS_RC=0.9956dd9carchive fails both modules withChecksum mismatchandACFS_RC=1.Decision left to the owner
authorize:6b9439ca742656dc90d1ce8038620577b0ffde628ea3af9cfc3df58c12d6174binto the monitor host's authorization file; the monitor then publishes coherently.opencode.ai/v2/install) and a new pin.releases/latest, so it will drift on every atuin release. A versioned URL would avoid that.Related: the incident write-up in #468. A
checksums.yaml-only re-pin of these two entries (7368ba66) briefly broke the bootstrap ledger and was restored in 9956dd9c.