Plan secure bootstrap and privileged installation
This commit is contained in:
+11
-6
@@ -181,7 +181,7 @@ Create `setup/lib/artifact-provenance` with only these public shell functions:
|
||||
|
||||
```text
|
||||
key_fingerprint_matches FILE EXPECTED_FINGERPRINT
|
||||
download_sha256 URL EXPECTED_SHA256 DESTINATION
|
||||
download_sha256 URL EXPECTED_SHA256 MAX_BYTES DESTINATION
|
||||
verify_detached_signature KEY_FILE SIGNATURE_FILE CONTENT_FILE
|
||||
rpm_signature_matches PACKAGE_FILE KEY_FILE EXPECTED_FINGERPRINT
|
||||
```
|
||||
@@ -211,6 +211,7 @@ As reviewed on 2026-08-27, the trust anchors are:
|
||||
| RPM Fusion nonfree | `79BDB88F9BBF73910FD4095B6A2AF96194843C65` |
|
||||
| lionheartp/Hyprland COPR | `97E23476C89635135407C7D5E9BA41342C4B2995` |
|
||||
| Flathub | `6E5C05D979C76DAF93C081354184DD4D907A7CAE` |
|
||||
| Claude Desktop Extra | `825A7D15D78BABE45646D5DF382409F597908867` |
|
||||
|
||||
The initial reviewed artifact pins are:
|
||||
|
||||
@@ -245,6 +246,8 @@ The provenance README cites these publisher-controlled records:
|
||||
- Hyprland COPR key:
|
||||
`https://download.copr.fedorainfracloud.org/results/lionheartp/Hyprland/pubkey.gpg`;
|
||||
- Flathub descriptor: `https://flathub.org/repo/flathub.flatpakrepo`;
|
||||
- Claude Desktop Extra key:
|
||||
`https://patrickjaja.github.io/claude-desktop-extra/gpg-key.asc`;
|
||||
- Node release and verification instructions:
|
||||
`https://github.com/nodejs/node/releases/tag/v24.20.0` and
|
||||
`https://github.com/nodejs/node/blob/main/README.md`;
|
||||
@@ -263,8 +266,10 @@ The provenance README cites these publisher-controlled records:
|
||||
`terra.repo_gpgcheck=1`, and the local pinned key with the official repository.
|
||||
Failure stops before initial, desktop, or Hyprland package transactions.
|
||||
- Hyprland COPR configuration is written from reviewed local data with the exact
|
||||
base URL, `gpgcheck=1`, `repo_gpgcheck=1`, and pinned project key. Panama does not
|
||||
use interactive/TOFU `dnf copr enable -y`.
|
||||
base URL, `gpgcheck=1`, and the pinned project key. The publisher does not provide
|
||||
`repomd.xml.asc`, so this repository has an explicit `repo_gpgcheck=0` exception;
|
||||
package signatures remain mandatory. Panama does not use interactive/TOFU
|
||||
`dnf copr enable -y`.
|
||||
- Flathub's descriptor is downloaded as data. Panama decodes and verifies its embedded
|
||||
primary key and requires GPG verification before adding or retaining the remote.
|
||||
A mismatch preserves an existing remote and skips Flathub transactions.
|
||||
@@ -289,9 +294,9 @@ that depend on it.
|
||||
- RustDesk uses the reviewed versioned RPM URL and SHA-256 before the narrow sudo DNF
|
||||
install. It never resolves `latest` at runtime.
|
||||
- Claude Desktop repository setup is never downloaded or executed. If an existing
|
||||
repository has the expected base URL, key, `gpgcheck=1`, and `repo_gpgcheck=1`,
|
||||
Panama may install from it. Otherwise it prints one optional manual step and
|
||||
continues successfully.
|
||||
repository has the expected base URL, vendored-key fingerprint, `gpgcheck=1`, and
|
||||
`repo_gpgcheck=1`, Panama may install from it. Otherwise it prints one optional
|
||||
manual step and continues successfully.
|
||||
- Vicinae extensions use `npm ci`; lock mismatch fails the extension build without
|
||||
modifying the tracked lockfile.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user