fix: support native package verifier scratch
CI / verify (pull_request) Successful in 1m10s
CI / infrastructure-smoke (pull_request) Successful in 37s
CI / migration-smoke (pull_request) Successful in 1m54s
CI / package-release (pull_request) Successful in 36s
CI / image-build (pull_request) Successful in 52s
CI / deploy-smoke (same-origin) (pull_request) Successful in 51s
CI / deploy-smoke (split) (pull_request) Successful in 1m31s
CI / package-publication (pull_request) Successful in 51s
CI / verify (pull_request) Successful in 1m10s
CI / infrastructure-smoke (pull_request) Successful in 37s
CI / migration-smoke (pull_request) Successful in 1m54s
CI / package-release (pull_request) Successful in 36s
CI / image-build (pull_request) Successful in 52s
CI / deploy-smoke (same-origin) (pull_request) Successful in 51s
CI / deploy-smoke (split) (pull_request) Successful in 1m31s
CI / package-publication (pull_request) Successful in 51s
This commit is contained in:
@@ -484,7 +484,13 @@ before it is installed: its digest, its archive safety (no links, special files,
|
||||
escaping paths), every file's digest, and its identity and compatibility. The digest proves
|
||||
integrity, not who published the package; signing is not implemented. The verifier loads the backend
|
||||
in a short-lived process with an empty environment, so module code never sees a database URL or a
|
||||
secret while it is being checked.
|
||||
secret while it is being checked. That load executes package code: `noexec` is retained on the
|
||||
general `/tmp`, but native packages require the verifier's narrow, bounded execution scratch to be
|
||||
executable. The one-shot hardened verifier container—not the scratch mount—is the isolation
|
||||
boundary, and it is not claimed to be a perfect sandbox. Use the supported invocation in
|
||||
[`deploy/README.md`](../../deploy/README.md#installed-modules), which also keeps the root filesystem
|
||||
read-only, runs as the image's non-root user, disables networking and privilege escalation, and
|
||||
drops Linux capabilities.
|
||||
|
||||
Two production defaults are relevant but are **not** by themselves a deployment guarantee:
|
||||
|
||||
|
||||
Reference in New Issue
Block a user