From 9b4bb25d325698ae543e7e8a8a3c3592db1f58fc Mon Sep 17 00:00:00 2001 From: tegwick Date: Sun, 11 Oct 2026 11:36:02 +0200 Subject: [PATCH] Prepare independently reviewed zlib-only image candidate Assistant: codex Assistant-Model: gpt-6.1-sol Assistant-Session: 01a126e1-76f8-7643-8cf3-e93336539ade --- .forgejo/workflows/zlib-overlay-image.yaml | 71 + deploy/zlib-overlay/.dockerignore | 5 + deploy/zlib-overlay/APKINDEX.tar.gz | Bin 0 -> 528370 bytes deploy/zlib-overlay/Containerfile | 17 + deploy/zlib-overlay/pins.json | 15 + deploy/zlib-overlay/zlib-1.3.2-r1.apk | Bin 0 -> 56210 bytes .../original-manifest.json | 259 ++ .../check_amendment.py | 20 + ...pendent-directory-artifact-comparison.json | 73 + .../initial-5f334757/original-manifest.json | 42 + .../check_product.py | 39 + .../independent-artifact-comparison.json | 69 + .../validation.json | 21 + ...-11-zlib-candidate-product-owner-review.md | 74 + .../workplans/ADHOC-2026-10-11.md | 259 ++ .../validation.json | 20 + .../check_product.py | 39 + .../independent-artifact-comparison.json | 69 + .../validation.json | 21 + .../frozen66-candidate-manifest.json | 464 +++ .../frozen66-verify_local_artifacts.py | 52 + .../original-manifest.json | 113 + .../check_amendment.py | 20 + ...pendent-directory-artifact-comparison.json | 73 + .../initial-5f334757/original-manifest.json | 42 + .../check_product.py | 39 + .../independent-artifact-comparison.json | 69 + .../validation.json | 21 + ...-11-zlib-candidate-product-owner-review.md | 74 + .../workplans/ADHOC-2026-10-11.md | 259 ++ .../validation.json | 20 + .../check_product.py | 39 + .../independent-artifact-comparison.json | 69 + .../validation.json | 21 + ...-zlib-candidate-product-owner-final-ack.md | 55 + ...-11-zlib-candidate-product-owner-review.md | 74 + .../workplans/ADHOC-2026-10-11.md | 273 ++ .../negative-probe-receipt.json | 24 + .../probe_same_layer_whiteout.py | 23 + ...-zlib-candidate-product-owner-final-ack.md | 55 + ...-11-zlib-candidate-product-owner-review.md | 74 + ...-zlib-candidate-product-whiteout-review.md | 37 + .../workplans/ADHOC-2026-10-11.md | 288 ++ .../check_final74.py | 23 + .../corrected-probe-receipt.json | 28 + .../frozen74-verify_local_artifacts.py | 56 + ...independent-final-artifact-comparison.json | 73 + .../probe_corrected_same_layer_whiteout.py | 23 + .../validation.json | 22 + .../check_amendment.py | 20 + ...pendent-directory-artifact-comparison.json | 73 + .../initial-5f334757/original-manifest.json | 42 + .../check_product.py | 39 + .../independent-artifact-comparison.json | 69 + .../validation.json | 21 + ...-11-zlib-candidate-product-owner-review.md | 74 + .../workplans/ADHOC-2026-10-11.md | 259 ++ .../validation.json | 20 + .../check_product.py | 39 + .../independent-artifact-comparison.json | 69 + .../validation.json | 21 + .../frozen66-candidate-manifest.json | 464 +++ .../frozen66-verify_local_artifacts.py | 52 + .../original-manifest.json | 113 + .../check_amendment.py | 20 + ...pendent-directory-artifact-comparison.json | 73 + .../initial-5f334757/original-manifest.json | 42 + .../check_product.py | 39 + .../independent-artifact-comparison.json | 69 + .../validation.json | 21 + ...-11-zlib-candidate-product-owner-review.md | 74 + .../workplans/ADHOC-2026-10-11.md | 259 ++ .../validation.json | 20 + .../check_product.py | 39 + .../independent-artifact-comparison.json | 69 + .../validation.json | 21 + ...-zlib-candidate-product-owner-final-ack.md | 55 + ...-11-zlib-candidate-product-owner-review.md | 74 + .../workplans/ADHOC-2026-10-11.md | 273 ++ .../negative-probe-receipt.json | 24 + .../probe_same_layer_whiteout.py | 23 + .../README.md | 15 + .../artifact-comparison.json | 75 + .../audit-refinement.json | 26 + .../base-runtime.json | 1 + .../base-sbom.cdx.json | 2551 +++++++++++++++++ .../base-trivy-full.json | 2387 +++++++++++++++ .../candidate-image-inspect.json | 1 + .../candidate-runtime.json | 1 + .../context-source.json | 9 + .../download-receipt.json | 12 + .../initial-8d345bb2/archive-map.json | 140 + .../initial-8d345bb2/original-manifest.json | 191 ++ .../workflows/zlib-overlay-image.yaml | 71 + .../deploy/zlib-overlay/.dockerignore | 5 + .../deploy/zlib-overlay/APKINDEX.tar.gz | Bin 0 -> 528370 bytes .../deploy/zlib-overlay/Containerfile | 17 + .../deploy/zlib-overlay/pins.json | 15 + .../deploy/zlib-overlay/zlib-1.3.2-r1.apk | Bin 0 -> 56210 bytes .../README.md | 9 + .../artifact-comparison.json | 71 + .../base-runtime.json | 1 + .../base-sbom.cdx.json | 2551 +++++++++++++++++ .../base-trivy-full.json | 2387 +++++++++++++++ .../candidate-image-inspect.json | 1 + .../candidate-runtime.json | 1 + .../context-source.json | 9 + .../download-receipt.json | 12 + .../local-candidate-verification.json | 102 + .../official-zlib-index-entry.txt | 15 + .../official-zlib-package-info.txt | 18 + .../proposal.json | 26 + .../sbom.cdx.json | 2517 ++++++++++++++++ .../trivy-full.json | 2394 ++++++++++++++++ .../verify_local_artifacts.py | 46 + .../tools/zlib_overlay/check_build_inputs.py | 19 + .../tools/zlib_overlay/check_runtime.py | 29 + .../tools/zlib_overlay/compare_runtime.py | 16 + .../tools/zlib_overlay/test_candidate.py | 32 + ...D-WP-0009-lifecycle-consumer-pin-repair.md | 188 ++ .../intermediate-3e41ab39/README.md | 13 + .../intermediate-3e41ab39/archive-map.json | 30 + .../artifact-comparison.json | 75 + .../audit-refinement.json | 24 + .../local-candidate-verification.json | 111 + .../original-manifest.json | 464 +++ .../test_artifact_audit.py | 63 + .../verify_local_artifacts.py | 52 + .../intermediate-64509029/README.md | 11 + .../intermediate-64509029/archive-map.json | 30 + .../artifact-comparison.json | 75 + .../audit-refinement.json | 21 + .../local-candidate-verification.json | 110 + .../original-manifest.json | 408 +++ .../test_artifact_audit.py | 47 + .../verify_local_artifacts.py | 49 + .../local-candidate-verification.json | 111 + .../official-zlib-index-entry.txt | 15 + .../official-zlib-package-info.txt | 18 + .../proposal.json | 26 + .../sbom.cdx.json | 2517 ++++++++++++++++ .../test_artifact_audit.py | 82 + .../trivy-full.json | 2394 ++++++++++++++++ .../verify_local_artifacts.py | 56 + ...ib-candidate-product-owner-complete-ack.md | 61 + ...-zlib-candidate-product-owner-final-ack.md | 55 + ...-11-zlib-candidate-product-owner-review.md | 74 + ...-zlib-candidate-product-whiteout-review.md | 37 + tools/zlib_overlay/check_build_inputs.py | 19 + tools/zlib_overlay/check_runtime.py | 29 + tools/zlib_overlay/compare_runtime.py | 16 + tools/zlib_overlay/test_candidate.py | 32 + workplans/ADHOC-2026-10-11.md | 75 + ...D-WP-0009-lifecycle-consumer-pin-repair.md | 12 +- 154 files changed, 29358 insertions(+), 1 deletion(-) create mode 100644 .forgejo/workflows/zlib-overlay-image.yaml create mode 100644 deploy/zlib-overlay/.dockerignore create mode 100644 deploy/zlib-overlay/APKINDEX.tar.gz create mode 100644 deploy/zlib-overlay/Containerfile create mode 100644 deploy/zlib-overlay/pins.json create mode 100644 deploy/zlib-overlay/zlib-1.3.2-r1.apk create mode 100644 docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/original-manifest.json create mode 100644 docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/check_amendment.py create mode 100644 docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/independent-directory-artifact-comparison.json create mode 100644 docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/original-manifest.json create mode 100644 docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-review/check_product.py create mode 100644 docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-review/independent-artifact-comparison.json create mode 100644 docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-review/validation.json create mode 100644 docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/owner-snapshot/docs/reviews/2026-10-11-zlib-candidate-product-owner-review.md create mode 100644 docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/owner-snapshot/workplans/ADHOC-2026-10-11.md create mode 100644 docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/validation.json create mode 100644 docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-review/check_product.py create mode 100644 docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-review/independent-artifact-comparison.json create mode 100644 docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-review/validation.json create mode 100644 docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/frozen66-candidate-manifest.json create mode 100644 docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/frozen66-verify_local_artifacts.py create mode 100644 docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/original-manifest.json create mode 100644 docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/check_amendment.py create mode 100644 docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/independent-directory-artifact-comparison.json create mode 100644 docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/original-manifest.json create mode 100644 docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-review/check_product.py create mode 100644 docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-review/independent-artifact-comparison.json create mode 100644 docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-review/validation.json create mode 100644 docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/owner-snapshot/docs/reviews/2026-10-11-zlib-candidate-product-owner-review.md create mode 100644 docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/owner-snapshot/workplans/ADHOC-2026-10-11.md create mode 100644 docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/validation.json create mode 100644 docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-review/check_product.py create mode 100644 docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-review/independent-artifact-comparison.json create mode 100644 docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-review/validation.json create mode 100644 docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/reviews/2026-10-11-zlib-candidate-product-owner-final-ack.md create mode 100644 docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/reviews/2026-10-11-zlib-candidate-product-owner-review.md create mode 100644 docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/workplans/ADHOC-2026-10-11.md create mode 100644 docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/negative-probe-receipt.json create mode 100644 docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/probe_same_layer_whiteout.py create mode 100644 docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/reviews/2026-10-11-zlib-candidate-product-owner-final-ack.md create mode 100644 docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/reviews/2026-10-11-zlib-candidate-product-owner-review.md create mode 100644 docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/reviews/2026-10-11-zlib-candidate-product-whiteout-review.md create mode 100644 docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/workplans/ADHOC-2026-10-11.md create mode 100644 docs/evidence/2026-10-11-zlib-candidate-product-complete-review/check_final74.py create mode 100644 docs/evidence/2026-10-11-zlib-candidate-product-complete-review/corrected-probe-receipt.json create mode 100644 docs/evidence/2026-10-11-zlib-candidate-product-complete-review/frozen74-verify_local_artifacts.py create mode 100644 docs/evidence/2026-10-11-zlib-candidate-product-complete-review/independent-final-artifact-comparison.json create mode 100644 docs/evidence/2026-10-11-zlib-candidate-product-complete-review/probe_corrected_same_layer_whiteout.py create mode 100644 docs/evidence/2026-10-11-zlib-candidate-product-complete-review/validation.json create mode 100644 docs/evidence/2026-10-11-zlib-candidate-product-final-review/check_amendment.py create mode 100644 docs/evidence/2026-10-11-zlib-candidate-product-final-review/independent-directory-artifact-comparison.json create mode 100644 docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/original-manifest.json create mode 100644 docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-review/check_product.py create mode 100644 docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-review/independent-artifact-comparison.json create mode 100644 docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-review/validation.json create mode 100644 docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/owner-snapshot/docs/reviews/2026-10-11-zlib-candidate-product-owner-review.md create mode 100644 docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/owner-snapshot/workplans/ADHOC-2026-10-11.md create mode 100644 docs/evidence/2026-10-11-zlib-candidate-product-final-review/validation.json create mode 100644 docs/evidence/2026-10-11-zlib-candidate-product-review/check_product.py create mode 100644 docs/evidence/2026-10-11-zlib-candidate-product-review/independent-artifact-comparison.json create mode 100644 docs/evidence/2026-10-11-zlib-candidate-product-review/validation.json create mode 100644 docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/frozen66-candidate-manifest.json create mode 100644 docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/frozen66-verify_local_artifacts.py create mode 100644 docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/original-manifest.json create mode 100644 docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/check_amendment.py create mode 100644 docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/independent-directory-artifact-comparison.json create mode 100644 docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/original-manifest.json create mode 100644 docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-review/check_product.py create mode 100644 docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-review/independent-artifact-comparison.json create mode 100644 docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-review/validation.json create mode 100644 docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/owner-snapshot/docs/reviews/2026-10-11-zlib-candidate-product-owner-review.md create mode 100644 docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/owner-snapshot/workplans/ADHOC-2026-10-11.md create mode 100644 docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/validation.json create mode 100644 docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-review/check_product.py create mode 100644 docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-review/independent-artifact-comparison.json create mode 100644 docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-review/validation.json create mode 100644 docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/reviews/2026-10-11-zlib-candidate-product-owner-final-ack.md create mode 100644 docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/reviews/2026-10-11-zlib-candidate-product-owner-review.md create mode 100644 docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/workplans/ADHOC-2026-10-11.md create mode 100644 docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/negative-probe-receipt.json create mode 100644 docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/probe_same_layer_whiteout.py create mode 100644 docs/evidence/2026-10-11-zlib-remediation-candidate/README.md create mode 100644 docs/evidence/2026-10-11-zlib-remediation-candidate/artifact-comparison.json create mode 100644 docs/evidence/2026-10-11-zlib-remediation-candidate/audit-refinement.json create mode 100644 docs/evidence/2026-10-11-zlib-remediation-candidate/base-runtime.json create mode 100644 docs/evidence/2026-10-11-zlib-remediation-candidate/base-sbom.cdx.json create mode 100644 docs/evidence/2026-10-11-zlib-remediation-candidate/base-trivy-full.json create mode 100644 docs/evidence/2026-10-11-zlib-remediation-candidate/candidate-image-inspect.json create mode 100644 docs/evidence/2026-10-11-zlib-remediation-candidate/candidate-runtime.json create mode 100644 docs/evidence/2026-10-11-zlib-remediation-candidate/context-source.json create mode 100644 docs/evidence/2026-10-11-zlib-remediation-candidate/download-receipt.json create mode 100644 docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/archive-map.json create mode 100644 docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/original-manifest.json create mode 100644 docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/.forgejo/workflows/zlib-overlay-image.yaml create mode 100644 docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/deploy/zlib-overlay/.dockerignore create mode 100644 docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/deploy/zlib-overlay/APKINDEX.tar.gz create mode 100644 docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/deploy/zlib-overlay/Containerfile create mode 100644 docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/deploy/zlib-overlay/pins.json create mode 100644 docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/deploy/zlib-overlay/zlib-1.3.2-r1.apk create mode 100644 docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/README.md create mode 100644 docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/artifact-comparison.json create mode 100644 docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/base-runtime.json create mode 100644 docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/base-sbom.cdx.json create mode 100644 docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/base-trivy-full.json create mode 100644 docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/candidate-image-inspect.json create mode 100644 docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/candidate-runtime.json create mode 100644 docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/context-source.json create mode 100644 docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/download-receipt.json create mode 100644 docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/local-candidate-verification.json create mode 100644 docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/official-zlib-index-entry.txt create mode 100644 docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/official-zlib-package-info.txt create mode 100644 docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/proposal.json create mode 100644 docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/sbom.cdx.json create mode 100644 docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/trivy-full.json create mode 100644 docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/verify_local_artifacts.py create mode 100644 docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/tools/zlib_overlay/check_build_inputs.py create mode 100644 docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/tools/zlib_overlay/check_runtime.py create mode 100644 docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/tools/zlib_overlay/compare_runtime.py create mode 100644 docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/tools/zlib_overlay/test_candidate.py create mode 100644 docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/workplans/INFD-WP-0009-lifecycle-consumer-pin-repair.md create mode 100644 docs/evidence/2026-10-11-zlib-remediation-candidate/intermediate-3e41ab39/README.md create mode 100644 docs/evidence/2026-10-11-zlib-remediation-candidate/intermediate-3e41ab39/archive-map.json create mode 100644 docs/evidence/2026-10-11-zlib-remediation-candidate/intermediate-3e41ab39/artifact-comparison.json create mode 100644 docs/evidence/2026-10-11-zlib-remediation-candidate/intermediate-3e41ab39/audit-refinement.json create mode 100644 docs/evidence/2026-10-11-zlib-remediation-candidate/intermediate-3e41ab39/local-candidate-verification.json create mode 100644 docs/evidence/2026-10-11-zlib-remediation-candidate/intermediate-3e41ab39/original-manifest.json create mode 100644 docs/evidence/2026-10-11-zlib-remediation-candidate/intermediate-3e41ab39/test_artifact_audit.py create mode 100644 docs/evidence/2026-10-11-zlib-remediation-candidate/intermediate-3e41ab39/verify_local_artifacts.py create mode 100644 docs/evidence/2026-10-11-zlib-remediation-candidate/intermediate-64509029/README.md create mode 100644 docs/evidence/2026-10-11-zlib-remediation-candidate/intermediate-64509029/archive-map.json create mode 100644 docs/evidence/2026-10-11-zlib-remediation-candidate/intermediate-64509029/artifact-comparison.json create mode 100644 docs/evidence/2026-10-11-zlib-remediation-candidate/intermediate-64509029/audit-refinement.json create mode 100644 docs/evidence/2026-10-11-zlib-remediation-candidate/intermediate-64509029/local-candidate-verification.json create mode 100644 docs/evidence/2026-10-11-zlib-remediation-candidate/intermediate-64509029/original-manifest.json create mode 100644 docs/evidence/2026-10-11-zlib-remediation-candidate/intermediate-64509029/test_artifact_audit.py create mode 100644 docs/evidence/2026-10-11-zlib-remediation-candidate/intermediate-64509029/verify_local_artifacts.py create mode 100644 docs/evidence/2026-10-11-zlib-remediation-candidate/local-candidate-verification.json create mode 100644 docs/evidence/2026-10-11-zlib-remediation-candidate/official-zlib-index-entry.txt create mode 100644 docs/evidence/2026-10-11-zlib-remediation-candidate/official-zlib-package-info.txt create mode 100644 docs/evidence/2026-10-11-zlib-remediation-candidate/proposal.json create mode 100644 docs/evidence/2026-10-11-zlib-remediation-candidate/sbom.cdx.json create mode 100644 docs/evidence/2026-10-11-zlib-remediation-candidate/test_artifact_audit.py create mode 100644 docs/evidence/2026-10-11-zlib-remediation-candidate/trivy-full.json create mode 100644 docs/evidence/2026-10-11-zlib-remediation-candidate/verify_local_artifacts.py create mode 100644 docs/reviews/2026-10-11-zlib-candidate-product-owner-complete-ack.md create mode 100644 docs/reviews/2026-10-11-zlib-candidate-product-owner-final-ack.md create mode 100644 docs/reviews/2026-10-11-zlib-candidate-product-owner-review.md create mode 100644 docs/reviews/2026-10-11-zlib-candidate-product-whiteout-review.md create mode 100644 tools/zlib_overlay/check_build_inputs.py create mode 100644 tools/zlib_overlay/check_runtime.py create mode 100644 tools/zlib_overlay/compare_runtime.py create mode 100644 tools/zlib_overlay/test_candidate.py diff --git a/.forgejo/workflows/zlib-overlay-image.yaml b/.forgejo/workflows/zlib-overlay-image.yaml new file mode 100644 index 0000000..dc981ab --- /dev/null +++ b/.forgejo/workflows/zlib-overlay-image.yaml @@ -0,0 +1,71 @@ +name: Publish exact zlib-only remediation candidate +on: + push: + branches: [main] + paths: + - ".forgejo/workflows/zlib-overlay-image.yaml" + - "deploy/zlib-overlay/**" + - "tools/zlib_overlay/**" + workflow_dispatch: +concurrency: + group: informed-decision-zlib-overlay + cancel-in-progress: false +permissions: + contents: read +env: + REGISTRY: forgejo.coulomb.social + IMAGE_NAME: coulomb/informed-decision + DOCKER_HOST: tcp://127.0.0.1:2375 +jobs: + publish-candidate: + runs-on: container-build + steps: + - name: Verify and publish zlib-only candidate + env: + REGISTRY_USER: ${{ secrets.REGISTRY_USER }} + REGISTRY_TOKEN: ${{ secrets.REGISTRY_TOKEN }} + run: | + set -eu + umask 077 + REF="${GITHUB_SHA:?exact source revision required}" + echo "${REF}" | grep -Eq '^[0-9a-f]{40}$' + test "${GITHUB_REPOSITORY}" = "coulomb/informed-decision" + if [ -z "${REGISTRY_USER:-}" ] || [ -z "${REGISTRY_TOKEN:-}" ]; then + echo "Admitted owner registry capability unavailable; no borrowed credential permitted." >&2 + exit 2 + fi + BUILD_ROOT="$(mktemp -d)" + export DOCKER_CONFIG="${BUILD_ROOT}/docker-config" + cleanup() { rm -rf "${BUILD_ROOT}"; } + trap cleanup EXIT + mkdir -p "${BUILD_ROOT}/source" "${BUILD_ROOT}/context" "${DOCKER_CONFIG}" "${HOME}/bin" + wget -qO "${BUILD_ROOT}/source.tar.gz" "https://forgejo.coulomb.social/${GITHUB_REPOSITORY}/archive/${REF}.tar.gz" + tar xzf "${BUILD_ROOT}/source.tar.gz" -C "${BUILD_ROOT}/source" --strip-components=1 + CONTEXT="${BUILD_ROOT}/source/deploy/zlib-overlay" + for INPUT in .dockerignore Containerfile zlib-1.3.2-r1.apk APKINDEX.tar.gz; do + cp "${CONTEXT}/${INPUT}" "${BUILD_ROOT}/context/${INPUT}" + chmod 0644 "${BUILD_ROOT}/context/${INPUT}" + done + echo "63aeea03c15a2f9018f81805cfc8aa926bdf5cd68921f22149c2fbb5d0ee9f47 ${BUILD_ROOT}/context/zlib-1.3.2-r1.apk" | sha256sum -c - + echo "24fc2ccb08f3125429a38b31bd6c76a7b394c6236df0975760dc8259e50dfbd5 ${BUILD_ROOT}/context/APKINDEX.tar.gz" | sha256sum -c - + echo "ce3fa53cfe2c963c7fec4f2333a8af84a40740f144605a5aea795bcd6ac9eb8a ${BUILD_ROOT}/context/.dockerignore" | sha256sum -c - + echo "5e4d9b39e37fed95d729503deb0e9c414ae63d2779b02306beaadc94675d4f15 ${BUILD_ROOT}/context/Containerfile" | sha256sum -c - + wget -qO- https://download.docker.com/linux/static/stable/x86_64/docker-27.3.1.tgz | tar xz --strip-components=1 -C "${HOME}/bin" docker/docker + export PATH="${HOME}/bin:${PATH}" + echo "${REGISTRY_TOKEN}" | docker login "${REGISTRY}" -u "${REGISTRY_USER}" --password-stdin + BASE="${REGISTRY}/${IMAGE_NAME}@sha256:763c36402c8be7cc4c1bd1a61623d1aff9116d52241877425b45a7018cc0883a" + docker pull "${BASE}" + IMAGE="${REGISTRY}/${IMAGE_NAME}:zlib-85091-${REF}" + docker build --network none --pull=false --memory 256m --cpu-period 100000 --cpu-quota 100000 --build-arg "SOURCE_REVISION=${REF}" --build-arg "SOURCE_CONTEXT_SHA256=c554e62a84af340cba15d469a4568f6d0c40923e580b08ed7565e22702b1207d" --file "${BUILD_ROOT}/context/Containerfile" --tag "${IMAGE}" "${BUILD_ROOT}/context" + docker run --rm -i --network none --read-only --cpus 1 --memory 128m --entrypoint python "${BASE}" - < "${BUILD_ROOT}/source/tools/zlib_overlay/check_runtime.py" > "${BUILD_ROOT}/base-runtime.json" + docker run --rm -i --network none --read-only --cpus 1 --memory 128m --entrypoint python "${IMAGE}" - < "${BUILD_ROOT}/source/tools/zlib_overlay/check_runtime.py" > "${BUILD_ROOT}/candidate-runtime.json" + docker run --rm -i --network none --read-only --cpus 1 --memory 128m --entrypoint python "${BASE}" - "$(cat "${BUILD_ROOT}/base-runtime.json")" "$(cat "${BUILD_ROOT}/candidate-runtime.json")" < "${BUILD_ROOT}/source/tools/zlib_overlay/compare_runtime.py" + docker run --rm -i --network none --read-only --cpus 1 --memory 128m --entrypoint python "${IMAGE}" - < "${BUILD_ROOT}/source/tools/purpose_overlay/check_installed.py" + OUTPUT="$(docker push "${IMAGE}")" + printf '%s\n' "${OUTPUT}" + DIGEST="$(printf '%s\n' "${OUTPUT}" | tr '\r' '\n' | awk '{for(i=1;i<=NF;i++)if($i~/^sha256:[a-f0-9]{64}$/)print $i}' | tail -1)" + printf '%s' "${DIGEST}" | grep -Eq '^sha256:[a-f0-9]{64}$' + echo "published=${REGISTRY}/${IMAGE_NAME}@${DIGEST}" + echo "source_revision=${REF}" + echo "context_sha256=c554e62a84af340cba15d469a4568f6d0c40923e580b08ed7565e22702b1207d" + echo "candidate_only=true; actual published digest/full scan/SBOM/provenance and distinct native founder release approval remain required" diff --git a/deploy/zlib-overlay/.dockerignore b/deploy/zlib-overlay/.dockerignore new file mode 100644 index 0000000..b1cccb1 --- /dev/null +++ b/deploy/zlib-overlay/.dockerignore @@ -0,0 +1,5 @@ +* +!.dockerignore +!Containerfile +!zlib-1.3.2-r1.apk +!APKINDEX.tar.gz diff --git a/deploy/zlib-overlay/APKINDEX.tar.gz b/deploy/zlib-overlay/APKINDEX.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..f6492376e176c60bc5d53370cc9c67859c138701 GIT binary patch literal 528370 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

J8FiIE_5E+UDR}0T0 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

lFsQ+)@eus0V+JJ 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 f{=ahmEuDSw? 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

T0Kl+-{<5=1P#@xG&NA7e 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ⅆBPxfk3TyYzn((p2=Q%1}S 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

skEnTKi6vrh~ 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

S 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 A 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 literal 0 HcmV?d00001 diff --git a/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/original-manifest.json b/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/original-manifest.json new file mode 100644 index 0000000..635e570 --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/original-manifest.json @@ -0,0 +1,259 @@ +{ + "owner": "informed-decision", + "decision": "changes_requested", + "scope": "same T08 exact66 lower-layer whiteout finding; initial/intermediate historical reviews retained; no native go", + "files": [ + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/original-manifest.json", + "staged_path": "/tmp/infd-zlib-product-whiteout-review-stage/owner/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/original-manifest.json", + "original_sha256": null, + "staged_sha256": "8bc6da5507f4d9d1ff6d4439a82eb8b32098cc23fcec52bde4fecdcae939e384" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/workplans/ADHOC-2026-10-11.md", + "staged_path": "/tmp/infd-zlib-product-whiteout-review-stage/owner/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/workplans/ADHOC-2026-10-11.md", + "original_sha256": null, + "staged_sha256": "11039006000e55d6add3f7da70661545c4dfc1d533481eca8145d2452dbf574b" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/original-manifest.json", + "staged_path": "/tmp/infd-zlib-product-whiteout-review-stage/owner/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/original-manifest.json", + "original_sha256": null, + "staged_sha256": "5f33475707f7cf4ea3a6f1ac8d653b1af566c507347d70ba09b67813a5ccf225" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/original-manifest.json", + "staged_path": "/tmp/infd-zlib-product-whiteout-review-stage/owner/docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/original-manifest.json", + "original_sha256": null, + "staged_sha256": "5f33475707f7cf4ea3a6f1ac8d653b1af566c507347d70ba09b67813a5ccf225" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/owner-snapshot/workplans/ADHOC-2026-10-11.md", + "staged_path": "/tmp/infd-zlib-product-whiteout-review-stage/owner/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/owner-snapshot/workplans/ADHOC-2026-10-11.md", + "original_sha256": null, + "staged_sha256": "6b8ae1bf0f8c775873bfa37f8988169e66edd81c37ea4e23f5a00c6b868abe22" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/owner-snapshot/workplans/ADHOC-2026-10-11.md", + "staged_path": "/tmp/infd-zlib-product-whiteout-review-stage/owner/docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/owner-snapshot/workplans/ADHOC-2026-10-11.md", + "original_sha256": null, + "staged_sha256": "6b8ae1bf0f8c775873bfa37f8988169e66edd81c37ea4e23f5a00c6b868abe22" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/owner-snapshot/docs/reviews/2026-10-11-zlib-candidate-product-owner-review.md", + "staged_path": "/tmp/infd-zlib-product-whiteout-review-stage/owner/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/owner-snapshot/docs/reviews/2026-10-11-zlib-candidate-product-owner-review.md", + "original_sha256": null, + "staged_sha256": "ab3dcfb63eb2b38844e8d45da6ccfe21a1dfc97e57a3dbf23bc38d7694437ff8" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/owner-snapshot/docs/reviews/2026-10-11-zlib-candidate-product-owner-review.md", + "staged_path": "/tmp/infd-zlib-product-whiteout-review-stage/owner/docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/owner-snapshot/docs/reviews/2026-10-11-zlib-candidate-product-owner-review.md", + "original_sha256": null, + "staged_sha256": "ab3dcfb63eb2b38844e8d45da6ccfe21a1dfc97e57a3dbf23bc38d7694437ff8" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/reviews/2026-10-11-zlib-candidate-product-owner-review.md", + "staged_path": "/tmp/infd-zlib-product-whiteout-review-stage/owner/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/reviews/2026-10-11-zlib-candidate-product-owner-review.md", + "original_sha256": null, + "staged_sha256": "ab3dcfb63eb2b38844e8d45da6ccfe21a1dfc97e57a3dbf23bc38d7694437ff8" + }, + { + "repo": "informed-decision", + "path": "docs/reviews/2026-10-11-zlib-candidate-product-owner-review.md", + "staged_path": "/tmp/infd-zlib-product-whiteout-review-stage/owner/docs/reviews/2026-10-11-zlib-candidate-product-owner-review.md", + "original_sha256": null, + "staged_sha256": "ab3dcfb63eb2b38844e8d45da6ccfe21a1dfc97e57a3dbf23bc38d7694437ff8" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-review/check_product.py", + "staged_path": "/tmp/infd-zlib-product-whiteout-review-stage/owner/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-review/check_product.py", + "original_sha256": null, + "staged_sha256": "e660a6010a835cc618e55509f54c25a7aa9aecb1a528d14120b2f9b40bc1242b" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-review/check_product.py", + "staged_path": "/tmp/infd-zlib-product-whiteout-review-stage/owner/docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-review/check_product.py", + "original_sha256": null, + "staged_sha256": "e660a6010a835cc618e55509f54c25a7aa9aecb1a528d14120b2f9b40bc1242b" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-review/check_product.py", + "staged_path": "/tmp/infd-zlib-product-whiteout-review-stage/owner/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-review/check_product.py", + "original_sha256": null, + "staged_sha256": "e660a6010a835cc618e55509f54c25a7aa9aecb1a528d14120b2f9b40bc1242b" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-candidate-product-review/check_product.py", + "staged_path": "/tmp/infd-zlib-product-whiteout-review-stage/owner/docs/evidence/2026-10-11-zlib-candidate-product-review/check_product.py", + "original_sha256": null, + "staged_sha256": "e660a6010a835cc618e55509f54c25a7aa9aecb1a528d14120b2f9b40bc1242b" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-review/validation.json", + "staged_path": "/tmp/infd-zlib-product-whiteout-review-stage/owner/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-review/validation.json", + "original_sha256": null, + "staged_sha256": "e18a11328b744ab682346f4a8b37e9a6bf7965cfa84b4da939baaec22911fce5" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-review/validation.json", + "staged_path": "/tmp/infd-zlib-product-whiteout-review-stage/owner/docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-review/validation.json", + "original_sha256": null, + "staged_sha256": "e18a11328b744ab682346f4a8b37e9a6bf7965cfa84b4da939baaec22911fce5" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-review/validation.json", + "staged_path": "/tmp/infd-zlib-product-whiteout-review-stage/owner/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-review/validation.json", + "original_sha256": null, + "staged_sha256": "e18a11328b744ab682346f4a8b37e9a6bf7965cfa84b4da939baaec22911fce5" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-candidate-product-review/validation.json", + "staged_path": "/tmp/infd-zlib-product-whiteout-review-stage/owner/docs/evidence/2026-10-11-zlib-candidate-product-review/validation.json", + "original_sha256": null, + "staged_sha256": "e18a11328b744ab682346f4a8b37e9a6bf7965cfa84b4da939baaec22911fce5" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-review/independent-artifact-comparison.json", + "staged_path": "/tmp/infd-zlib-product-whiteout-review-stage/owner/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-review/independent-artifact-comparison.json", + "original_sha256": null, + "staged_sha256": "f76c98b9e8acbc4ad85bd7cf36cc42c8bf6c09063d9a2c25ef45cb027f71ef5c" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-review/independent-artifact-comparison.json", + "staged_path": "/tmp/infd-zlib-product-whiteout-review-stage/owner/docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-review/independent-artifact-comparison.json", + "original_sha256": null, + "staged_sha256": "f76c98b9e8acbc4ad85bd7cf36cc42c8bf6c09063d9a2c25ef45cb027f71ef5c" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-review/independent-artifact-comparison.json", + "staged_path": "/tmp/infd-zlib-product-whiteout-review-stage/owner/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-review/independent-artifact-comparison.json", + "original_sha256": null, + "staged_sha256": "f76c98b9e8acbc4ad85bd7cf36cc42c8bf6c09063d9a2c25ef45cb027f71ef5c" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-candidate-product-review/independent-artifact-comparison.json", + "staged_path": "/tmp/infd-zlib-product-whiteout-review-stage/owner/docs/evidence/2026-10-11-zlib-candidate-product-review/independent-artifact-comparison.json", + "original_sha256": null, + "staged_sha256": "f76c98b9e8acbc4ad85bd7cf36cc42c8bf6c09063d9a2c25ef45cb027f71ef5c" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/reviews/2026-10-11-zlib-candidate-product-owner-final-ack.md", + "staged_path": "/tmp/infd-zlib-product-whiteout-review-stage/owner/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/reviews/2026-10-11-zlib-candidate-product-owner-final-ack.md", + "original_sha256": null, + "staged_sha256": "5cd9af6da8e8b9329bbf3be56c82f62b827bed66d0b7d860350c421e8105aca6" + }, + { + "repo": "informed-decision", + "path": "docs/reviews/2026-10-11-zlib-candidate-product-owner-final-ack.md", + "staged_path": "/tmp/infd-zlib-product-whiteout-review-stage/owner/docs/reviews/2026-10-11-zlib-candidate-product-owner-final-ack.md", + "original_sha256": null, + "staged_sha256": "5cd9af6da8e8b9329bbf3be56c82f62b827bed66d0b7d860350c421e8105aca6" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/check_amendment.py", + "staged_path": "/tmp/infd-zlib-product-whiteout-review-stage/owner/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/check_amendment.py", + "original_sha256": null, + "staged_sha256": "f79ca389f7d2a2294b3eed0229865caa5811ee4a53bfd545335453c85ee37b09" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-candidate-product-final-review/check_amendment.py", + "staged_path": "/tmp/infd-zlib-product-whiteout-review-stage/owner/docs/evidence/2026-10-11-zlib-candidate-product-final-review/check_amendment.py", + "original_sha256": null, + "staged_sha256": "f79ca389f7d2a2294b3eed0229865caa5811ee4a53bfd545335453c85ee37b09" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/validation.json", + "staged_path": "/tmp/infd-zlib-product-whiteout-review-stage/owner/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/validation.json", + "original_sha256": null, + "staged_sha256": "9cf6bb12f93ebfc2b92fc470f50a470256a25db3a70f98f2c08a6e73011ebb1d" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-candidate-product-final-review/validation.json", + "staged_path": "/tmp/infd-zlib-product-whiteout-review-stage/owner/docs/evidence/2026-10-11-zlib-candidate-product-final-review/validation.json", + "original_sha256": null, + "staged_sha256": "9cf6bb12f93ebfc2b92fc470f50a470256a25db3a70f98f2c08a6e73011ebb1d" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/independent-directory-artifact-comparison.json", + "staged_path": "/tmp/infd-zlib-product-whiteout-review-stage/owner/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/independent-directory-artifact-comparison.json", + "original_sha256": null, + "staged_sha256": "c3760ab21efea5f7088e9b81a9d092727eb5a04d130519951d28b5327bee31d8" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-candidate-product-final-review/independent-directory-artifact-comparison.json", + "staged_path": "/tmp/infd-zlib-product-whiteout-review-stage/owner/docs/evidence/2026-10-11-zlib-candidate-product-final-review/independent-directory-artifact-comparison.json", + "original_sha256": null, + "staged_sha256": "c3760ab21efea5f7088e9b81a9d092727eb5a04d130519951d28b5327bee31d8" + }, + { + "repo": "informed-decision", + "path": "workplans/ADHOC-2026-10-11.md", + "staged_path": "/tmp/infd-zlib-product-whiteout-review-stage/owner/workplans/ADHOC-2026-10-11.md", + "original_sha256": "da3b3f73be7c026c6a8740d548dce64a8269d0e6a02e8c438f03b43c0e9091b8", + "staged_sha256": "b22c0e9c803a455d4235b70684fe05c655a8f9addb0b9836a2012d9904a93a09" + }, + { + "repo": "informed-decision", + "path": "docs/reviews/2026-10-11-zlib-candidate-product-whiteout-review.md", + "staged_path": "/tmp/infd-zlib-product-whiteout-review-stage/owner/docs/reviews/2026-10-11-zlib-candidate-product-whiteout-review.md", + "original_sha256": null, + "staged_sha256": "99bd69d3898b6d79e32ed21664ad3659b5d8410db1a314b751a84daaf5579b65" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/frozen66-candidate-manifest.json", + "staged_path": "/tmp/infd-zlib-product-whiteout-review-stage/owner/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/frozen66-candidate-manifest.json", + "original_sha256": null, + "staged_sha256": "3e41ab391cda26f09a556fecef8a17c2759ef2899e43eb136b25ef4b3fde23a0" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/frozen66-verify_local_artifacts.py", + "staged_path": "/tmp/infd-zlib-product-whiteout-review-stage/owner/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/frozen66-verify_local_artifacts.py", + "original_sha256": null, + "staged_sha256": "08805c1e23f88626bc5e80cf7d9547af4149547bd091d02cb32ad1bd18820f41" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/probe_same_layer_whiteout.py", + "staged_path": "/tmp/infd-zlib-product-whiteout-review-stage/owner/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/probe_same_layer_whiteout.py", + "original_sha256": null, + "staged_sha256": "2bb7a5352da28bad2c7cc2566d6bd19875d1310c1ac8f558bc546f3da6442b56" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/negative-probe-receipt.json", + "staged_path": "/tmp/infd-zlib-product-whiteout-review-stage/owner/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/negative-probe-receipt.json", + "original_sha256": null, + "staged_sha256": "f3639bbe5e962c839d55e67fdbc36341d23255df9341e797d3a4dff9cc471f40" + } + ] +} diff --git a/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/check_amendment.py b/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/check_amendment.py new file mode 100644 index 0000000..8b6f589 --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/check_amendment.py @@ -0,0 +1,20 @@ +import pathlib,json,hashlib +S=pathlib.Path('/tmp/infd-zlib-candidate-stage/informed-decision');P=S/'docs/evidence/2026-10-11-zlib-remediation-candidate';O=pathlib.Path('/tmp/infd-zlib-product-final-review-stage');H=lambda b:hashlib.sha256(b).hexdigest() +m=pathlib.Path('/tmp/infd-zlib-candidate-stage/manifest.json');assert H(m.read_bytes())=='64509029b3de6d33e3675587663ccdae027d9ea18aba83750892480766dd03b8' +entries=json.loads(m.read_text());assert len(entries)==58 +for e in entries:assert H(pathlib.Path(e['staged_path']).read_bytes())==e['staged_sha256'] +oldm=P/'initial-8d345bb2/original-manifest.json';assert H(oldm.read_bytes())=='8d345bb2bde3efce4d0cc99dfc2f883a64f79c42d2cd4abb288229a995e9ad66' +old=json.loads(oldm.read_text());oldroot=P/'initial-8d345bb2/owner-snapshot';changed=[] +for e in old: + original=oldroot/e['path'];assert H(original.read_bytes())==e['staged_sha256'] + if H((S/e['path']).read_bytes())!=e['staged_sha256']:changed.append(e['path']) +assert set(changed)=={'docs/evidence/2026-10-11-zlib-remediation-candidate/'+n for n in ['README.md','artifact-comparison.json','local-candidate-verification.json','verify_local_artifacts.py']} +r=json.loads((P/'local-candidate-verification.json').read_text());oldr=json.loads((oldroot/'docs/evidence/2026-10-11-zlib-remediation-candidate/local-candidate-verification.json').read_text()) +for k in ['candidate_docker_daemon_image_id','candidate_saved_oci_config_digest','source_context_sha256','build_inputs','scanner_db_sha256','baseline_full_scan_findings','candidate_full_scan_allseverity_findings']:assert r[k]==oldr[k] +code=(P/'verify_local_artifacts.py').read_text().replace("(root/'artifact-comparison.json').write_text", "(Path('/tmp/infd-zlib-product-final-review-stage')/'independent-directory-artifact-comparison.json').write_text") +exec(compile(code,'product-amended-readback','exec'),{}) +a=json.loads((O/'independent-directory-artifact-comparison.json').read_text());b=json.loads((P/'artifact-comparison.json').read_text()) +for k in ['directory_metadata_compared','directory_count_base','directory_count_candidate','directory_metadata_delta','final_changed_files','base_layers_preserved']:assert a[k]==b[k] +assert a['directory_metadata_compared'] and not a['directory_metadata_delta'] +(O/'validation.json').write_text(json.dumps(dict(exact_manifest_sha256=H(m.read_bytes()),all58_hashes_verified=True,all27_initial_archived_hashes_verified=True,changed_initial_paths=changed,image_context_source_workflow_runtime_scan_unchanged=True,new_source_tests_passed=3,directory_negative_mutations=3,optimized_tampered_before_read_refusal=True,existing_actual_archives_directory_reaudit=True,directory_count_base=a['directory_count_base'],directory_count_candidate=a['directory_count_candidate'],directory_metadata_delta={},native_actions=False),indent=2)+'\n') +print('Exact amended source and directory metadata readback pass.') diff --git a/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/independent-directory-artifact-comparison.json b/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/independent-directory-artifact-comparison.json new file mode 100644 index 0000000..9d63407 --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/independent-directory-artifact-comparison.json @@ -0,0 +1,73 @@ +{ + "base_image_config_id": "sha256:f34de21379c4f50ea0361ca1d8296c8e72f989499ad288016b81204997ae4779", + "candidate_local_image_config_id": "sha256:625d066416e901eaa2db5e18b96c37559b25dd91bdc3afb3d1ff5e916c7a8a3f", + "candidate_registry_digest": null, + "base_layers_preserved": 9, + "new_layers": 2, + "effective_runtime_config_identical": true, + "raw_config_bytes_identical": false, + "serialization_note": "Legacy base explicitly serialized empty/false/null defaults; candidate Docker-save config omits equivalent known defaults. Exact closed default normalization only; runtime fields unchanged.", + "labels_before": { + "org.opencontainers.image.base.digest": "sha256:7f5c6cb29c9f70a026bfe30e72934274ddc69261676cf6d476f81dd32812d173", + "org.opencontainers.image.revision": "3e4bcb26f8eeaa8c64345c565477b5ac8ccbb168", + "social.coulomb.release.scope": "INFD-WP-0009-T04/purpose-overlay-v1", + "social.coulomb.source.policy.sha256": "9d7c1be4cb6199d14ef0aaead5f85951f45b0ccbd7c800a7fde922a253566b62" + }, + "labels_after": { + "org.opencontainers.image.base.digest": "sha256:763c36402c8be7cc4c1bd1a61623d1aff9116d52241877425b45a7018cc0883a", + "org.opencontainers.image.revision": "uncommitted-T05-local-preparation", + "social.coulomb.release.scope": "INFD-WP-0009-T05/zlib-85091-r1", + "social.coulomb.source.context.sha256": "c554e62a84af340cba15d469a4568f6d0c40923e580b08ed7565e22702b1207d", + "social.coulomb.source.policy.sha256": "9d7c1be4cb6199d14ef0aaead5f85951f45b0ccbd7c800a7fde922a253566b62" + }, + "final_changed_files": { + "lib/apk/db/installed": { + "before": [ + "file", + 420, + 0, + 0, + "6383ea3806247e8dbf9ebee8cb30eb8eca63a8ea59662a793127d6a61b988d70" + ], + "after": [ + "file", + 420, + 0, + 0, + "f590762196710e25c0e9f72da0642cad8a5dcba0aa9e58a0cbaa65684d15c001" + ] + }, + "usr/lib/libz.so.1.3.2": { + "before": [ + "file", + 493, + 0, + 0, + "a1e2c03dcdedba98a06a00cadfb67a0e0b1cd93986860ec0c5ce66e789c44e57" + ], + "after": [ + "file", + 493, + 0, + 0, + "ecc8b9dfc45eb7fa29b410ffaca6257873890de53b80fe91735737b49067c5f2" + ] + } + }, + "directory_metadata_compared": true, + "directory_count_base": 313, + "directory_count_candidate": 313, + "directory_metadata_delta": {}, + "sbom_package_count_base": 44, + "sbom_package_count_candidate": 44, + "sbom_only_delta": { + "zlib": [ + "1.3.2-r0", + "1.3.2-r1" + ] + }, + "full_scan_baseline_findings": 1, + "full_scan_candidate_allseverity_findings": 0, + "db_snapshot_same": true, + "native_workload_changed": false +} diff --git a/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/original-manifest.json b/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/original-manifest.json new file mode 100644 index 0000000..81b04ce --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/original-manifest.json @@ -0,0 +1,42 @@ +{ + "owner": "informed-decision", + "scope": "exact local T05 source candidate only; no native go/publication or task completion", + "candidate_manifest_sha256": "8d345bb2bde3efce4d0cc99dfc2f883a64f79c42d2cd4abb288229a995e9ad66", + "files": [ + { + "repo": "informed-decision", + "path": "workplans/ADHOC-2026-10-11.md", + "staged_path": "/tmp/infd-zlib-product-review-stage/owner/workplans/ADHOC-2026-10-11.md", + "original_sha256": "da3b3f73be7c026c6a8740d548dce64a8269d0e6a02e8c438f03b43c0e9091b8", + "staged_sha256": "6b8ae1bf0f8c775873bfa37f8988169e66edd81c37ea4e23f5a00c6b868abe22" + }, + { + "repo": "informed-decision", + "path": "docs/reviews/2026-10-11-zlib-candidate-product-owner-review.md", + "staged_path": "/tmp/infd-zlib-product-review-stage/owner/docs/reviews/2026-10-11-zlib-candidate-product-owner-review.md", + "original_sha256": null, + "staged_sha256": "ab3dcfb63eb2b38844e8d45da6ccfe21a1dfc97e57a3dbf23bc38d7694437ff8" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-candidate-product-review/check_product.py", + "staged_path": "/tmp/infd-zlib-product-review-stage/owner/docs/evidence/2026-10-11-zlib-candidate-product-review/check_product.py", + "original_sha256": null, + "staged_sha256": "e660a6010a835cc618e55509f54c25a7aa9aecb1a528d14120b2f9b40bc1242b" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-candidate-product-review/validation.json", + "staged_path": "/tmp/infd-zlib-product-review-stage/owner/docs/evidence/2026-10-11-zlib-candidate-product-review/validation.json", + "original_sha256": null, + "staged_sha256": "e18a11328b744ab682346f4a8b37e9a6bf7965cfa84b4da939baaec22911fce5" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-candidate-product-review/independent-artifact-comparison.json", + "staged_path": "/tmp/infd-zlib-product-review-stage/owner/docs/evidence/2026-10-11-zlib-candidate-product-review/independent-artifact-comparison.json", + "original_sha256": null, + "staged_sha256": "f76c98b9e8acbc4ad85bd7cf36cc42c8bf6c09063d9a2c25ef45cb027f71ef5c" + } + ] +} diff --git a/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-review/check_product.py b/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-review/check_product.py new file mode 100644 index 0000000..36291cd --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-review/check_product.py @@ -0,0 +1,39 @@ +import pathlib,json,hashlib,copy,importlib.util,tarfile +S=pathlib.Path('/tmp/infd-zlib-candidate-stage/informed-decision');O=pathlib.Path('/tmp/infd-zlib-product-review-stage');M=pathlib.Path('/tmp/infd-zlib-candidate-stage/manifest.json') +H=lambda b:hashlib.sha256(b).hexdigest() +assert H(M.read_bytes())=='8d345bb2bde3efce4d0cc99dfc2f883a64f79c42d2cd4abb288229a995e9ad66' +for f in json.loads(M.read_text()):assert H(pathlib.Path(f['staged_path']).read_bytes())==f['staged_sha256'] +E=S/'docs/evidence/2026-10-11-zlib-remediation-candidate';receipt=json.loads((E/'local-candidate-verification.json').read_text()) +for n,h in receipt['evidence_file_sha256'].items():assert H((E/n).read_bytes())==h +spec=importlib.util.spec_from_file_location('cmp',S/'tools/zlib_overlay/compare_runtime.py');cmp=importlib.util.module_from_spec(spec);spec.loader.exec_module(cmp) +a=json.loads((E/'base-runtime.json').read_text());b=json.loads((E/'candidate-runtime.json').read_text());assert cmp.compare(a,b)['app_files_identical']==36 +mutations=['appfile','keys','world','network','provider'] +for field in mutations: + c=copy.deepcopy(b) + if field=='appfile':c['app_file_sha256']['policy.py']='0'*64 + elif field=='keys':c['apk_keys_sha256']['extra.pub']='0'*64 + elif field=='world':c['apk_world_sha256']='0'*64 + elif field=='network':c['network_accessed']=True + else:c['provider_or_customer_data_used']=True + try:cmp.compare(a,c) + except ValueError:pass + else:raise AssertionError(field) +# Read local image archives, source verifier operations are limited to these public local artifacts. +code=(E/'verify_local_artifacts.py').read_text().replace("(root/'artifact-comparison.json').write_text", "(Path('/tmp/infd-zlib-product-review-stage')/'independent-artifact-comparison.json').write_text") +exec(compile(code,'product-local-artifact-readback','exec'),{}) +proof=json.loads((O/'independent-artifact-comparison.json').read_text());assert set(proof['final_changed_files'])=={'usr/lib/libz.so.1.3.2','lib/apk/db/installed'} +for key in ['final_changed_files','sbom_only_delta','base_layers_preserved','new_layers']: + assert proof[key]==json.loads((E/'artifact-comparison.json').read_text())[key] +# Inspect signed archive metadata and match named trusted key already installed in unchanged baseline. +for n in ['zlib-1.3.2-r1.apk','APKINDEX.tar.gz']: + with tarfile.open(S/'deploy/zlib-overlay'/n) as t: + signs=[x.name for x in t if x.name.startswith('.SIGN.')] + assert signs==['.SIGN.RSA.alpine-devel@lists.alpinelinux.org-6165ee59.rsa.pub'],signs + assert 'alpine-devel@lists.alpinelinux.org-6165ee59.rsa.pub' in a['apk_keys_sha256'] +base_scan=json.loads((E/'base-trivy-full.json').read_text());scan=json.loads((E/'trivy-full.json').read_text()) +assert sum(len(x.get('Packages',[])) for x in scan['Results'])==44 +assert base_scan['Metadata']['OS']==scan['Metadata']['OS'] +assert not [v for x in scan['Results'] for v in x.get('Vulnerabilities',[])] +container=(S/'deploy/zlib-overlay/Containerfile').read_text();assert '--allow-untrusted' not in container and '--keys-dir' not in container and 'apk verify ' in container +result={'manifest_sha256':H(M.read_bytes()),'all27_staged_hashes_verified':True,'evidence_hashes_verified':True,'existing_source_tests':4,'existing_source_negative_mutations':8,'additional_product_negative_mutations':mutations,'saved_image_fs_and_layer_runtime_readback':True,'sbom_only_zlib_delta':True,'scan44_packages_zero_at_retained_db':True,'signed_archive_named_key_matches_unchanged_baseline_truststore':True,'signature_execution_basis':'Retained actual maker apk verify success against exact763 trusted keys; recipe enforces same check. Product independently checked signed archive metadata/hash/truststore identity, not a fresh apk execution.','native_actions':False,'candidate_published':False} +(O/'validation.json').write_text(json.dumps(result,indent=2)+'\n');print('Product source checks passed, 5 additional scope mutations refused.') diff --git a/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-review/independent-artifact-comparison.json b/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-review/independent-artifact-comparison.json new file mode 100644 index 0000000..2db5495 --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-review/independent-artifact-comparison.json @@ -0,0 +1,69 @@ +{ + "base_image_config_id": "sha256:f34de21379c4f50ea0361ca1d8296c8e72f989499ad288016b81204997ae4779", + "candidate_local_image_config_id": "sha256:625d066416e901eaa2db5e18b96c37559b25dd91bdc3afb3d1ff5e916c7a8a3f", + "candidate_registry_digest": null, + "base_layers_preserved": 9, + "new_layers": 2, + "effective_runtime_config_identical": true, + "raw_config_bytes_identical": false, + "serialization_note": "Legacy base explicitly serialized empty/false/null defaults; candidate Docker-save config omits equivalent known defaults. Exact closed default normalization only; runtime fields unchanged.", + "labels_before": { + "org.opencontainers.image.base.digest": "sha256:7f5c6cb29c9f70a026bfe30e72934274ddc69261676cf6d476f81dd32812d173", + "org.opencontainers.image.revision": "3e4bcb26f8eeaa8c64345c565477b5ac8ccbb168", + "social.coulomb.release.scope": "INFD-WP-0009-T04/purpose-overlay-v1", + "social.coulomb.source.policy.sha256": "9d7c1be4cb6199d14ef0aaead5f85951f45b0ccbd7c800a7fde922a253566b62" + }, + "labels_after": { + "org.opencontainers.image.base.digest": "sha256:763c36402c8be7cc4c1bd1a61623d1aff9116d52241877425b45a7018cc0883a", + "org.opencontainers.image.revision": "uncommitted-T05-local-preparation", + "social.coulomb.release.scope": "INFD-WP-0009-T05/zlib-85091-r1", + "social.coulomb.source.context.sha256": "c554e62a84af340cba15d469a4568f6d0c40923e580b08ed7565e22702b1207d", + "social.coulomb.source.policy.sha256": "9d7c1be4cb6199d14ef0aaead5f85951f45b0ccbd7c800a7fde922a253566b62" + }, + "final_changed_files": { + "lib/apk/db/installed": { + "before": [ + "file", + 420, + 0, + 0, + "6383ea3806247e8dbf9ebee8cb30eb8eca63a8ea59662a793127d6a61b988d70" + ], + "after": [ + "file", + 420, + 0, + 0, + "f590762196710e25c0e9f72da0642cad8a5dcba0aa9e58a0cbaa65684d15c001" + ] + }, + "usr/lib/libz.so.1.3.2": { + "before": [ + "file", + 493, + 0, + 0, + "a1e2c03dcdedba98a06a00cadfb67a0e0b1cd93986860ec0c5ce66e789c44e57" + ], + "after": [ + "file", + 493, + 0, + 0, + "ecc8b9dfc45eb7fa29b410ffaca6257873890de53b80fe91735737b49067c5f2" + ] + } + }, + "sbom_package_count_base": 44, + "sbom_package_count_candidate": 44, + "sbom_only_delta": { + "zlib": [ + "1.3.2-r0", + "1.3.2-r1" + ] + }, + "full_scan_baseline_findings": 1, + "full_scan_candidate_allseverity_findings": 0, + "db_snapshot_same": true, + "native_workload_changed": false +} diff --git a/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-review/validation.json b/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-review/validation.json new file mode 100644 index 0000000..d09a3fc --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-review/validation.json @@ -0,0 +1,21 @@ +{ + "manifest_sha256": "8d345bb2bde3efce4d0cc99dfc2f883a64f79c42d2cd4abb288229a995e9ad66", + "all27_staged_hashes_verified": true, + "evidence_hashes_verified": true, + "existing_source_tests": 4, + "existing_source_negative_mutations": 8, + "additional_product_negative_mutations": [ + "appfile", + "keys", + "world", + "network", + "provider" + ], + "saved_image_fs_and_layer_runtime_readback": true, + "sbom_only_zlib_delta": true, + "scan44_packages_zero_at_retained_db": true, + "signed_archive_named_key_matches_unchanged_baseline_truststore": true, + "signature_execution_basis": "Retained actual maker apk verify success against exact763 trusted keys; recipe enforces same check. Product independently checked signed archive metadata/hash/truststore identity, not a fresh apk execution.", + "native_actions": false, + "candidate_published": false +} diff --git a/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/owner-snapshot/docs/reviews/2026-10-11-zlib-candidate-product-owner-review.md b/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/owner-snapshot/docs/reviews/2026-10-11-zlib-candidate-product-owner-review.md new file mode 100644 index 0000000..461d4d1 --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/owner-snapshot/docs/reviews/2026-10-11-zlib-candidate-product-owner-review.md @@ -0,0 +1,74 @@ +# Bounded zlib candidate Product owner review + +```yaml +reviewer: informed-decision-owner (agent informed-decision, codex) +decision: approved +work_item: INFD-WP-ADHOC-2026-10-11-T08 +scope: exact local zlib-only source candidate technical preparation +manifest_sha256: 8d345bb2bde3efce4d0cc99dfc2f883a64f79c42d2cd4abb288229a995e9ad66 +comment: >- + Informed-decision intent requires human binding and preserved evidence; this + candidate changes only a native compression dependency while preserving + application authorization/presentation behavior. T08 review work record was + completed first. This is technical source agreement, not native go, publication + receipt, founder acceptance or T05 completion. +``` + +All27 staged hashes and retained evidence-file hashes independently verify. +Independent saved-image archive readback confirms all nine exact763 base diff_ids +as prefix, equal effective runtime configuration with only explicitly normalized +empty/false/null defaults, and final filesystem changes exactly +`usr/lib/libz.so.1.3.2` and `lib/apk/db/installed`. Modes/owners remain equivalent. +Application36 files, policy9d7, trust keys, APK world, Python dependencies, OpenSSL +and UID/GID10001 remain equal. Root build identity returns to10001:10001. +No service values, namespace, DB, customer data, config, PVC, schema, audience, +policy pins, protected helper or existing release journal is changed. + +Package/index bytes match pinned official HTTPS download hashes. Both signed +archives name alpine-devel@lists.alpinelinux.org-6165ee59.rsa.pub, already present +in unchanged baseline trust metadata. Retained actual maker apk verify success +against exact763 installed keys is the execution evidence; this review separately +checks archive signatures' metadata, bytes and trust identity, without claiming +a new signature-verification execution. Containerfile requires digest checks and +`apk verify` success before offline named-package upgrade; no allow-untrusted or +keys-dir override. Existing trusted keys are not replaced. +[Official apk verify documentation](https://github.com/alpinelinux/apk-tools/blob/master/doc/apk-verify.8.scd) +defines integrity/signature checking and nonzero failure. +Upgrade selects only zlib from retained local signed index, disables network, +preupgrade and logging, and removes temporary public artifacts. + +Both full CycloneDX/Trivy artifacts independently show44 packages and only +zlib1.3.2-r0 to1.3.2-r1 version delta. Full baseline has one MEDIUM +CVE-2026-85091; candidate has zero findings at the retained same database +03cacb40452ceb74afdfca072cb82f79ee884dfac006ef24a4dfdad133b0f917. +No severity suppression is inferred or permitted. Alpine3.24 EOL-list warning +and actual38 OS/6 Python detector coverage remain disclosed. This is bounded +scan improvement at that snapshot, not estate risk grading or future safety. +Local daemon image78bfdcc and saved OCI config625d are distinct disclosed +representations; neither is a published registry digest or native image proof. + +Four existing source tests pass, covering eight mutations; five additional Product +mutations of app source, trust keys, APK world, network and provider/data flags +refuse. Independent archive/SBOM/scan readback agrees with maker artifact receipt. +Retained four compression vectors/three malformed refusals/crypto/JWT/waitress +and ten installed purpose variants are local synthetic checks, not live PDP +or customer/native-data testing. No new container or native execution by reviewer. + +Workflow publishes only a source-bound candidate through existing admitted owner +registry capability after root source review/commit: exact40hex source revision, +fixed owner archive, four input hashes/contextc554, exact763 base, no-network +bounded build, unchanged runtime comparison and purpose checks before push. +It has no kubectl, Argo, DB/admin, namespace or runtime deployment action. +The workflow is unexecuted; source review does not attest CI credentials, actual +publication or published artifact equivalence. Root must retain actual CI/source +revision and registry descriptor/layer/config/package/signature/context readback, +then full published scan/SBOM and scoped candidate release preparation. Only +distinct exact informed-decision founder native approval followed by installedr1, +runtime/purpose and full-rescan proof can close T05. Future image-only rollback +to763 preserves latest DB; no historical snapshot restore. + +T05 remains progress, WP0009 active, manual follow-up due2026-10-18; no automatic +controller is implied. T04/c96 accepted outcome and original uncertain journals +remain historical and immutable. INFD-IN-0010 is unchanged and unpromoted. +No new native authority, owner checkout write, credential/login, deployment or +customer-data access occurred in this review. diff --git a/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/owner-snapshot/workplans/ADHOC-2026-10-11.md b/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/owner-snapshot/workplans/ADHOC-2026-10-11.md new file mode 100644 index 0000000..b39c57f --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/owner-snapshot/workplans/ADHOC-2026-10-11.md @@ -0,0 +1,259 @@ +--- +id: INFD-WP-ADHOC-2026-10-11 +type: workplan +title: "Application-owner catalogue facts review" +domain: infotech +repo: informed-decision +status: finished +owner: codex +topic_slug: netkingdom +created: "2026-10-11" +updated: "2026-10-11" +flavor: planning +state_hub_workstream_id: "4594d714-a6ec-5ab6-ad44-4227a27fc7be" +--- + +## Review exact one-application catalogue facts + +```task +id: INFD-WP-ADHOC-2026-10-11-T01 +status: done +priority: medium +state_hub_task_id: "cfe1ec8c-c635-5f23-847c-bf8296965305" +``` + +Completed informed-decision application-owner source review under INTENT.md +Purpose, What informed-decision Owns/Does Not Own, Design Principles 9-10, +and Layer Placement. Read actual owner OIDC, requester and policy-request +code, governing Staff/PEP-shaped declaration, User Engine model, and existing +value-free native registration/Ingress/preflight receipts. Exact canonical +facts agree. Browser client is distinct from create-only requester. + +Review entry: docs/reviews/2026-10-11-one-app-catalogue-facts-review.md. +Canonical facts SHA-256: +`ae6fde5f2c879e75fabb53e132261899dae0f4d864e18dd425bc272be713426b`. +Reviewed refined nine-file executor manifest SHA-256: +`0ff545d26a0fd72f06040fe377de3efdcc3bd62cdcb6f653247c8ba72f3f34a7`. + +This task completes the application-facts source review only. It grants no +maintenance exception, native dry-run/apply/recovery, IAM permission, image +release or human disposition. Existing User Engine native acceptance work +remains with USER-WP-0026-T03 and USER-WP-0028-T02; no new residual work is +created by this bounded review. No tests were needed for this evidence-only +review; no native, credential or login action occurred. + +## Independently review purpose overlay release preparation + +```task +id: INFD-WP-ADHOC-2026-10-11-T02 +status: done +priority: medium +``` + +Completed same-role informed-decision-owner technical review of frozen36-path +purpose release manifest SHA-256 +`7c6738b39ea8e54e61c8ed625e94ad0b2755e672e1576efcdf84a1d665ac3300`. +All36 staged file hashes and exact source PolicyClient9d7 hash were verified. +Source candidates and captured candidate Deployment differ only in the image. +Actual raw base/candidate scans contain the same one fixable MEDIUM zlib finding; +T05 keeps its2026-10-18 follow-through. Actual published-image receipts and +sealed native read-only preflight support preparation, not native deployment. + +Independent owner negatives:50 passed in4.21s, covering10 advisory/malformed +binding forms across register, replay, publish, annotate and revise. Each +refusal preserves every domain table, records a truthful invalid-decision +observation and leaves the same idempotency key reusable after restoring a +canonical enforcement response. These are synthetic source tests only. +Test: tests/test_purpose_owner_mutation_negatives.py. +Receipt: docs/evidence/2026-10-11-purpose-image-release/product-owner-review-validation.json. +Review: docs/reviews/2026-10-11-purpose-release-product-owner-review.md. + +This bounded review grants no native backup/export/restore, image rollout, +credentials, login, human disposition or vulnerability acceptance. Existing +INFD-WP-0009-T04/T05 retain release/remediation obligations; no separate residual +is created or claimed completed. Catalogue ACK/T01 remains unchanged. + +## Confirm amended purpose release custody and preflight gates + +```task +id: INFD-WP-ADHOC-2026-10-11-T03 +status: done +priority: medium +``` + +Same informed-decision-owner reviewed amended78-path release manifest SHA-256 +`b1e3e66bc4023dc80c6ea59564c3557c7653fb3c307f46a049997b76198a9033`. +All78 file hashes verified, original36 archive retained, source PolicyClient9d7 +and both image-only source candidates unchanged. Prior50 source lifecycle +mutation/idempotency negatives remain applicable and were not repeated. + +Confirmed stdlib read-only schema5/integrity/count gate before ANY native or +restored Store/admin open, explicit local/remote optimized-interpreter refusal, +sealed actual ConfigMap/PVC identity/data/custody and frozen offline clone count +equality distinguished from legitimate concurrent live commits. Revised20-doc +184912-byte packet and01:39 read-only dry-run receipts remain preparation. +Native schema gate, backup/export/restore/release and founder disposition remain +unperformed; T04/T05 obligations and temporary vulnerability review persist. + +Confirmation: docs/reviews/2026-10-11-purpose-release-amended-product-owner-review.md. +Prior T01 catalogue ACK including hub identifiers and T02 initial36 review/test/ +receipt remain unchanged. No new residual or authority is created by this review. + +## Reconcile Staff evidence source declaration and current guarantees + +```task +id: INFD-WP-ADHOC-2026-10-11-T04 +status: done +priority: medium +``` + +Reviewed accepted bounded GH-DEC-2026-025 handoff against actual source +class definitions, transactional recording, heartbeat/reconciliation scheduling, +existing component-test assertions and native count/receipt evidence. Reconciled +stale outbox/AUDIT-WP-0009 blockers without promoting owed guarantees or reopening +finished INFD-WP-0005/0007. INFD-IN-0007 retains doctrine response and pending +NET-IN-0004 standard voice. INFD-IN-0009 is the one live, unpromoted residual +source intake for remaining class-specific declaration/verification gaps, +origin INFD-WP-0007. No residual implementation or native action occurred. + +Source evidence reconciliation: +docs/evidence/2026-10-11-staff-evidence-source-reconciliation.md. +Formal source review: +docs/reviews/2026-10-11-staff-evidence-source-owner-review.md. +Existing Staff/PEP-shaped classification, three load-bearing class classifications, +compromised-source and commitment/content availability limits remain unchanged. + +## Independently review supervised purpose actuator product boundaries + +```task +id: INFD-WP-ADHOC-2026-10-11-T05 +status: done +priority: medium +``` + +Same informed-decision-owner reviewed exact23-path helper manifest +`f2fad6c251fbb4420e07c1329802f521b513bbf66e51f64c5d673ef04f16284c`, +all staged hashes and embedded source bundle/plan. Product evidence/schema5, +private snapshot custody, confined offline UID0 initialization followed by +UID10001 pre/post-admin verification, independent failed-candidate rollback +and all-phase start deadline are technically agreed as source preparation. + +No purpose-policy or candidate image change. Retained helper16 synthetic tests +and platform5 independent recovery negatives are mechanism proof; prior50 +product policy negatives remain applicable. No new test run was needed for this +unchanged-source review. Native-provider acceptance remains distinct from the +installed10 synthetic purpose forms; T04 is not complete. Before first human +post, amend exact20-document packet to hash-bind helper/plan, four render inputs, +initializer/recovery/deadline refinements and preserved full scan provenance. +Exact combined packet acknowledgement remains a separate review gate. + +Review: docs/reviews/2026-10-11-purpose-actuator-product-owner-review.md. +No native reads/backups/export/restore/release, credentials, human disposition, +founder approval or phase authority was exercised by this review. + +## Prepare separately gated provider-derived denial mechanism probe + +```task +id: INFD-WP-ADHOC-2026-10-11-T06 +status: done +priority: medium +``` + +Prepared source-only readonly lifecycle.search provider-derived mechanism probe +with truthful informed-decision/review SERVICE and no human/StateHub attributes. +Actual lifecyclev2 permits only StateHub workload or admitted AAL2 humans, so a +canonical real DENY is required; no claims are invented to obtain ALLOW. +One actual provider response will remain in Pod memory; ten transformed +noncanonical purpose copies test installed consumer refusal without further +provider calls, DB/admin or act effects. This is a denial/binding mechanism +proof candidate, not actual authorized lifecycle or full T04 acceptance. + +Source: docs/evidence/2026-10-11-purpose-provider-probe/. +Ten synthetic source tests pass; no actual provider, credential, runtime config, +DB, native data or live action was accessed. Posted frozen112 packet/helper +remain unchanged. Exact separate founder go for this newly prepared probe and +its target must precede any execution; current memo has no acceptance and this +new helper is not hash-bound in that submitted packet. T04 remains progress. + +## Review exact existing-snapshot rescue version2 preparation + +```task +id: INFD-WP-ADHOC-2026-10-11-T07 +status: done +priority: medium +``` + +Reviewed exact66-path rescue manifest0867e27a6754dddff3eedbb333ab4ca4faa98ee31d383ebe940b8e054c6cabf7 +under the same informed-decision-owner role. Actual original backupCOMPLETE/copy +UNCERTAIN are retained; new rescue journal/phase and sourceversion2/newreviewown1 +require fresh founder acceptance. Immutable reads are bounded to proven frozen +closed snapshots; live/offline writable-clone reads remain WAL-aware/explicitclose. +Independent existing26 mocked tests plus41 subtests pass, and10 new product scope +guards pass (including eight refusal mutations and a frozen initial packet check). +No native command, DB open, credentials or rescue operation occurred. + +Initial review decision changes_requested: proposal.json misleadingly names old +f2fad helper manifest as execution_helper_manifest_sha256 after helper bytes changed; +label it original/historical and refreeze all dependent packet hashes. Correct +current bundle/plan digests already exist. The normalized test fixture is not an +owner edit or approval. Initial review/failure must remain after correction; +exact amended confirmation is still required before newhuman submission/execution. + +Review: docs/reviews/2026-10-11-purpose-rescue-product-owner-review.md. +Evidence/checks: docs/evidence/2026-10-11-purpose-rescue-product-review/. +T04 remains progress; original version1 approval is not newversion2 authority. + +**Amended source confirmation, same T07 trial:** exact134-path manifest +`d05d6e3b15df9acf1d7aef0ba2ec82a5a00d979ab1f324e981025cffe2cc753d` +corrects only the historical helper provenance label and dependent packet hashes; +original66 source and initial changes-requested review remain retained. Current +helper code/bundle49c9/plan9ce5 are unchanged. Strict typed sourceversion2/CAS1 +and20documents validate:173469packetbytes/240451revisionbytes. Eight scope +mutations and three packet mutations independently refuse. Final technical +source acknowledgement approved; no new human acceptance or native rescue. +Confirmation: docs/reviews/2026-10-11-purpose-rescue-product-owner-final-ack.md. + + +**Actual-outcome assessment preparation, same completed T07 trial:** independently +verified original receipt-byte hashes and source consumer path after approved +source c96b0c6 release. Offline schema5/admin/post counts match; fresh cutover +backup/private copy matches live post-release counts16/56/0, delivered336, +confirmed43. Independent image/module/config/PVC/controlled Pod and UID/GID10001 +checks pass. Actual post-rollout authenticated provider-backed outcomes readback +is separate from installed ten synthetic purpose forms (2allow/8refuse). +Completed source-only assessment supports T04 done, T05 todo and WP0009 active. +Original failed copy and verifier UNCERTAIN remain preserved, with no replay or +helper amendment. Created unpromoted INFD-IN-0010 for future verifier omission +handling correction; no implementation, native action or authority grant. +This work-record preparation precedes the formal actual-outcome review entry. +Review: docs/reviews/2026-10-11-purpose-native-outcome-product-owner-acceptance.md. +Evidence: docs/evidence/2026-10-11-purpose-native-acceptance/. + + +## Independently review bounded zlib-only T05 source candidate + +```task +id: INFD-WP-ADHOC-2026-10-11-T08 +status: done +priority: medium +``` + +Completed informed-decision Product source review of exact27-path candidate +manifest8d345bb2bde3efce4d0cc99dfc2f883a64f79c42d2cd4abb288229a995e9ad66. +All staged/evidence hashes verify. Independently reread local saved base/candidate +image archives, effective runtime config, nine base layer prefix, two final file +changes and both full scan/SBOM artifacts. Only zlib1.3.2-r0 to r1 differs; +44 packages/base1MED to candidate0 at retained same scanner database. +Signed APK/index named key matches unchanged base trust metadata; enforced +apk verify against existing keys retained, no allow-untrusted or truststore override. +Four existing source tests pass (eight refusal mutations), plus five independent +appfile/trustkeys/world/network/provider metadata mutations refuse. +Purpose/backend checks remain local and synthetic, not actual PDP or data proof. +Technical source preparation agreement only: local image78bfdcc is unpublished, +T05 remains progress/WP0009 active; CI exact published provenance/scan/SBOM and +new native founder approval/installed proof are still required. Current763/native +DB/config/PVC/identity/approved R2 helper and journal remain unchanged; INFD-IN-0010 +is unpromoted/unimplemented. No native actions, credentials or owner source writes. +This completed work record is prepared before the formal review entry. +Review: docs/reviews/2026-10-11-zlib-candidate-product-owner-review.md. +Evidence: docs/evidence/2026-10-11-zlib-candidate-product-review/. diff --git a/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/validation.json b/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/validation.json new file mode 100644 index 0000000..5548150 --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/validation.json @@ -0,0 +1,20 @@ +{ + "exact_manifest_sha256": "64509029b3de6d33e3675587663ccdae027d9ea18aba83750892480766dd03b8", + "all58_hashes_verified": true, + "all27_initial_archived_hashes_verified": true, + "changed_initial_paths": [ + "docs/evidence/2026-10-11-zlib-remediation-candidate/README.md", + "docs/evidence/2026-10-11-zlib-remediation-candidate/artifact-comparison.json", + "docs/evidence/2026-10-11-zlib-remediation-candidate/local-candidate-verification.json", + "docs/evidence/2026-10-11-zlib-remediation-candidate/verify_local_artifacts.py" + ], + "image_context_source_workflow_runtime_scan_unchanged": true, + "new_source_tests_passed": 3, + "directory_negative_mutations": 3, + "optimized_tampered_before_read_refusal": true, + "existing_actual_archives_directory_reaudit": true, + "directory_count_base": 313, + "directory_count_candidate": 313, + "directory_metadata_delta": {}, + "native_actions": false +} diff --git a/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-review/check_product.py b/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-review/check_product.py new file mode 100644 index 0000000..36291cd --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-review/check_product.py @@ -0,0 +1,39 @@ +import pathlib,json,hashlib,copy,importlib.util,tarfile +S=pathlib.Path('/tmp/infd-zlib-candidate-stage/informed-decision');O=pathlib.Path('/tmp/infd-zlib-product-review-stage');M=pathlib.Path('/tmp/infd-zlib-candidate-stage/manifest.json') +H=lambda b:hashlib.sha256(b).hexdigest() +assert H(M.read_bytes())=='8d345bb2bde3efce4d0cc99dfc2f883a64f79c42d2cd4abb288229a995e9ad66' +for f in json.loads(M.read_text()):assert H(pathlib.Path(f['staged_path']).read_bytes())==f['staged_sha256'] +E=S/'docs/evidence/2026-10-11-zlib-remediation-candidate';receipt=json.loads((E/'local-candidate-verification.json').read_text()) +for n,h in receipt['evidence_file_sha256'].items():assert H((E/n).read_bytes())==h +spec=importlib.util.spec_from_file_location('cmp',S/'tools/zlib_overlay/compare_runtime.py');cmp=importlib.util.module_from_spec(spec);spec.loader.exec_module(cmp) +a=json.loads((E/'base-runtime.json').read_text());b=json.loads((E/'candidate-runtime.json').read_text());assert cmp.compare(a,b)['app_files_identical']==36 +mutations=['appfile','keys','world','network','provider'] +for field in mutations: + c=copy.deepcopy(b) + if field=='appfile':c['app_file_sha256']['policy.py']='0'*64 + elif field=='keys':c['apk_keys_sha256']['extra.pub']='0'*64 + elif field=='world':c['apk_world_sha256']='0'*64 + elif field=='network':c['network_accessed']=True + else:c['provider_or_customer_data_used']=True + try:cmp.compare(a,c) + except ValueError:pass + else:raise AssertionError(field) +# Read local image archives, source verifier operations are limited to these public local artifacts. +code=(E/'verify_local_artifacts.py').read_text().replace("(root/'artifact-comparison.json').write_text", "(Path('/tmp/infd-zlib-product-review-stage')/'independent-artifact-comparison.json').write_text") +exec(compile(code,'product-local-artifact-readback','exec'),{}) +proof=json.loads((O/'independent-artifact-comparison.json').read_text());assert set(proof['final_changed_files'])=={'usr/lib/libz.so.1.3.2','lib/apk/db/installed'} +for key in ['final_changed_files','sbom_only_delta','base_layers_preserved','new_layers']: + assert proof[key]==json.loads((E/'artifact-comparison.json').read_text())[key] +# Inspect signed archive metadata and match named trusted key already installed in unchanged baseline. +for n in ['zlib-1.3.2-r1.apk','APKINDEX.tar.gz']: + with tarfile.open(S/'deploy/zlib-overlay'/n) as t: + signs=[x.name for x in t if x.name.startswith('.SIGN.')] + assert signs==['.SIGN.RSA.alpine-devel@lists.alpinelinux.org-6165ee59.rsa.pub'],signs + assert 'alpine-devel@lists.alpinelinux.org-6165ee59.rsa.pub' in a['apk_keys_sha256'] +base_scan=json.loads((E/'base-trivy-full.json').read_text());scan=json.loads((E/'trivy-full.json').read_text()) +assert sum(len(x.get('Packages',[])) for x in scan['Results'])==44 +assert base_scan['Metadata']['OS']==scan['Metadata']['OS'] +assert not [v for x in scan['Results'] for v in x.get('Vulnerabilities',[])] +container=(S/'deploy/zlib-overlay/Containerfile').read_text();assert '--allow-untrusted' not in container and '--keys-dir' not in container and 'apk verify ' in container +result={'manifest_sha256':H(M.read_bytes()),'all27_staged_hashes_verified':True,'evidence_hashes_verified':True,'existing_source_tests':4,'existing_source_negative_mutations':8,'additional_product_negative_mutations':mutations,'saved_image_fs_and_layer_runtime_readback':True,'sbom_only_zlib_delta':True,'scan44_packages_zero_at_retained_db':True,'signed_archive_named_key_matches_unchanged_baseline_truststore':True,'signature_execution_basis':'Retained actual maker apk verify success against exact763 trusted keys; recipe enforces same check. Product independently checked signed archive metadata/hash/truststore identity, not a fresh apk execution.','native_actions':False,'candidate_published':False} +(O/'validation.json').write_text(json.dumps(result,indent=2)+'\n');print('Product source checks passed, 5 additional scope mutations refused.') diff --git a/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-review/independent-artifact-comparison.json b/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-review/independent-artifact-comparison.json new file mode 100644 index 0000000..2db5495 --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-review/independent-artifact-comparison.json @@ -0,0 +1,69 @@ +{ + "base_image_config_id": "sha256:f34de21379c4f50ea0361ca1d8296c8e72f989499ad288016b81204997ae4779", + "candidate_local_image_config_id": "sha256:625d066416e901eaa2db5e18b96c37559b25dd91bdc3afb3d1ff5e916c7a8a3f", + "candidate_registry_digest": null, + "base_layers_preserved": 9, + "new_layers": 2, + "effective_runtime_config_identical": true, + "raw_config_bytes_identical": false, + "serialization_note": "Legacy base explicitly serialized empty/false/null defaults; candidate Docker-save config omits equivalent known defaults. Exact closed default normalization only; runtime fields unchanged.", + "labels_before": { + "org.opencontainers.image.base.digest": "sha256:7f5c6cb29c9f70a026bfe30e72934274ddc69261676cf6d476f81dd32812d173", + "org.opencontainers.image.revision": "3e4bcb26f8eeaa8c64345c565477b5ac8ccbb168", + "social.coulomb.release.scope": "INFD-WP-0009-T04/purpose-overlay-v1", + "social.coulomb.source.policy.sha256": "9d7c1be4cb6199d14ef0aaead5f85951f45b0ccbd7c800a7fde922a253566b62" + }, + "labels_after": { + "org.opencontainers.image.base.digest": "sha256:763c36402c8be7cc4c1bd1a61623d1aff9116d52241877425b45a7018cc0883a", + "org.opencontainers.image.revision": "uncommitted-T05-local-preparation", + "social.coulomb.release.scope": "INFD-WP-0009-T05/zlib-85091-r1", + "social.coulomb.source.context.sha256": "c554e62a84af340cba15d469a4568f6d0c40923e580b08ed7565e22702b1207d", + "social.coulomb.source.policy.sha256": "9d7c1be4cb6199d14ef0aaead5f85951f45b0ccbd7c800a7fde922a253566b62" + }, + "final_changed_files": { + "lib/apk/db/installed": { + "before": [ + "file", + 420, + 0, + 0, + "6383ea3806247e8dbf9ebee8cb30eb8eca63a8ea59662a793127d6a61b988d70" + ], + "after": [ + "file", + 420, + 0, + 0, + "f590762196710e25c0e9f72da0642cad8a5dcba0aa9e58a0cbaa65684d15c001" + ] + }, + "usr/lib/libz.so.1.3.2": { + "before": [ + "file", + 493, + 0, + 0, + "a1e2c03dcdedba98a06a00cadfb67a0e0b1cd93986860ec0c5ce66e789c44e57" + ], + "after": [ + "file", + 493, + 0, + 0, + "ecc8b9dfc45eb7fa29b410ffaca6257873890de53b80fe91735737b49067c5f2" + ] + } + }, + "sbom_package_count_base": 44, + "sbom_package_count_candidate": 44, + "sbom_only_delta": { + "zlib": [ + "1.3.2-r0", + "1.3.2-r1" + ] + }, + "full_scan_baseline_findings": 1, + "full_scan_candidate_allseverity_findings": 0, + "db_snapshot_same": true, + "native_workload_changed": false +} diff --git a/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-review/validation.json b/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-review/validation.json new file mode 100644 index 0000000..d09a3fc --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-review/validation.json @@ -0,0 +1,21 @@ +{ + "manifest_sha256": "8d345bb2bde3efce4d0cc99dfc2f883a64f79c42d2cd4abb288229a995e9ad66", + "all27_staged_hashes_verified": true, + "evidence_hashes_verified": true, + "existing_source_tests": 4, + "existing_source_negative_mutations": 8, + "additional_product_negative_mutations": [ + "appfile", + "keys", + "world", + "network", + "provider" + ], + "saved_image_fs_and_layer_runtime_readback": true, + "sbom_only_zlib_delta": true, + "scan44_packages_zero_at_retained_db": true, + "signed_archive_named_key_matches_unchanged_baseline_truststore": true, + "signature_execution_basis": "Retained actual maker apk verify success against exact763 trusted keys; recipe enforces same check. Product independently checked signed archive metadata/hash/truststore identity, not a fresh apk execution.", + "native_actions": false, + "candidate_published": false +} diff --git a/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/frozen66-candidate-manifest.json b/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/frozen66-candidate-manifest.json new file mode 100644 index 0000000..19bf3a4 --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/frozen66-candidate-manifest.json @@ -0,0 +1,464 @@ +[ + { + "repo": "informed-decision", + "path": ".forgejo/workflows/zlib-overlay-image.yaml", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/.forgejo/workflows/zlib-overlay-image.yaml", + "original_sha256": null, + "staged_sha256": "789ef77c30ee55a2e4ef2b7edbe781bb2e92056ac11f5f3b9328ce0dfec38e72" + }, + { + "repo": "informed-decision", + "path": "deploy/zlib-overlay/.dockerignore", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/deploy/zlib-overlay/.dockerignore", + "original_sha256": null, + "staged_sha256": "ce3fa53cfe2c963c7fec4f2333a8af84a40740f144605a5aea795bcd6ac9eb8a" + }, + { + "repo": "informed-decision", + "path": "deploy/zlib-overlay/APKINDEX.tar.gz", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/deploy/zlib-overlay/APKINDEX.tar.gz", + "original_sha256": null, + "staged_sha256": "24fc2ccb08f3125429a38b31bd6c76a7b394c6236df0975760dc8259e50dfbd5" + }, + { + "repo": "informed-decision", + "path": "deploy/zlib-overlay/Containerfile", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/deploy/zlib-overlay/Containerfile", + "original_sha256": null, + "staged_sha256": "5e4d9b39e37fed95d729503deb0e9c414ae63d2779b02306beaadc94675d4f15" + }, + { + "repo": "informed-decision", + "path": "deploy/zlib-overlay/pins.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/deploy/zlib-overlay/pins.json", + "original_sha256": null, + "staged_sha256": "0bd2c79633030056a89ae7f055020e6398aa79d481587d4b41f0974b29dc77b5" + }, + { + "repo": "informed-decision", + "path": "deploy/zlib-overlay/zlib-1.3.2-r1.apk", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/deploy/zlib-overlay/zlib-1.3.2-r1.apk", + "original_sha256": null, + "staged_sha256": "63aeea03c15a2f9018f81805cfc8aa926bdf5cd68921f22149c2fbb5d0ee9f47" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/README.md", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/README.md", + "original_sha256": null, + "staged_sha256": "c999a0c326a95e74082258851a5c4669395937a8fed95927f114ff08a18e0d6b" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/artifact-comparison.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/artifact-comparison.json", + "original_sha256": null, + "staged_sha256": "689fa7cbd322cb31b215fd2e86e0be267c1398f9b71e5615446d5f7b82dcce89" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/audit-refinement.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/audit-refinement.json", + "original_sha256": null, + "staged_sha256": "de852da5990326642e0c0d15ed74ab21513b4227c5634ba7146568876e750c6a" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/base-runtime.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/base-runtime.json", + "original_sha256": null, + "staged_sha256": "20aabb9f4846ab4fa6e28e0763d153188da151ee32293366a51b0fdf872a4d24" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/base-sbom.cdx.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/base-sbom.cdx.json", + "original_sha256": null, + "staged_sha256": "bb40bcd500ec91ad16affe116e74357ab4090827dd930e2186dc99988403bc50" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/base-trivy-full.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/base-trivy-full.json", + "original_sha256": null, + "staged_sha256": "1b683afb558fedcc20b921599eca536551296afecbc81ce062c359f1b26cfac6" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/candidate-image-inspect.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/candidate-image-inspect.json", + "original_sha256": null, + "staged_sha256": "56466225f35cdf23c5540c0cc37c77424755ca42794e81f2c99ccf13840c34de" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/candidate-runtime.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/candidate-runtime.json", + "original_sha256": null, + "staged_sha256": "d58e60bdc69458fe42af8248e02acd924b3b605c828877352a7d9a3953e90124" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/context-source.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/context-source.json", + "original_sha256": null, + "staged_sha256": "cccf41cf766a037f31f9ab29ae57f6b34c00e0237c94a8a0ce61c9c78fd06828" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/download-receipt.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/download-receipt.json", + "original_sha256": null, + "staged_sha256": "847fce8466807e88a54ea5e374c2ac49ffa25e208697e71e94d83a5cc185b40d" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/archive-map.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/archive-map.json", + "original_sha256": null, + "staged_sha256": "91384b270c0462223af1ff66e3ca75db5fce692c56c6bde6df435e6a2a079c5e" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/original-manifest.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/original-manifest.json", + "original_sha256": null, + "staged_sha256": "8d345bb2bde3efce4d0cc99dfc2f883a64f79c42d2cd4abb288229a995e9ad66" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/.forgejo/workflows/zlib-overlay-image.yaml", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/.forgejo/workflows/zlib-overlay-image.yaml", + "original_sha256": null, + "staged_sha256": "789ef77c30ee55a2e4ef2b7edbe781bb2e92056ac11f5f3b9328ce0dfec38e72" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/deploy/zlib-overlay/.dockerignore", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/deploy/zlib-overlay/.dockerignore", + "original_sha256": null, + "staged_sha256": "ce3fa53cfe2c963c7fec4f2333a8af84a40740f144605a5aea795bcd6ac9eb8a" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/deploy/zlib-overlay/APKINDEX.tar.gz", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/deploy/zlib-overlay/APKINDEX.tar.gz", + "original_sha256": null, + "staged_sha256": "24fc2ccb08f3125429a38b31bd6c76a7b394c6236df0975760dc8259e50dfbd5" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/deploy/zlib-overlay/Containerfile", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/deploy/zlib-overlay/Containerfile", + "original_sha256": null, + "staged_sha256": "5e4d9b39e37fed95d729503deb0e9c414ae63d2779b02306beaadc94675d4f15" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/deploy/zlib-overlay/pins.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/deploy/zlib-overlay/pins.json", + "original_sha256": null, + "staged_sha256": "0bd2c79633030056a89ae7f055020e6398aa79d481587d4b41f0974b29dc77b5" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/deploy/zlib-overlay/zlib-1.3.2-r1.apk", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/deploy/zlib-overlay/zlib-1.3.2-r1.apk", + "original_sha256": null, + "staged_sha256": "63aeea03c15a2f9018f81805cfc8aa926bdf5cd68921f22149c2fbb5d0ee9f47" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/README.md", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/README.md", + "original_sha256": null, + "staged_sha256": "cc53d16b5dc8375be0d5f63b1144f0a422477e3a5638c397a214275d7ea1d0cb" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/artifact-comparison.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/artifact-comparison.json", + "original_sha256": null, + "staged_sha256": "8d84bfb20cc6c64c85b4b6fcb76d7e1113ebbfcadcd4d5c54ffb4121d73e4dfa" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/base-runtime.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/base-runtime.json", + "original_sha256": null, + "staged_sha256": "20aabb9f4846ab4fa6e28e0763d153188da151ee32293366a51b0fdf872a4d24" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/base-sbom.cdx.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/base-sbom.cdx.json", + "original_sha256": null, + "staged_sha256": "bb40bcd500ec91ad16affe116e74357ab4090827dd930e2186dc99988403bc50" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/base-trivy-full.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/base-trivy-full.json", + "original_sha256": null, + "staged_sha256": "1b683afb558fedcc20b921599eca536551296afecbc81ce062c359f1b26cfac6" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/candidate-image-inspect.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/candidate-image-inspect.json", + "original_sha256": null, + "staged_sha256": "56466225f35cdf23c5540c0cc37c77424755ca42794e81f2c99ccf13840c34de" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/candidate-runtime.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/candidate-runtime.json", + "original_sha256": null, + "staged_sha256": "d58e60bdc69458fe42af8248e02acd924b3b605c828877352a7d9a3953e90124" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/context-source.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/context-source.json", + "original_sha256": null, + "staged_sha256": "cccf41cf766a037f31f9ab29ae57f6b34c00e0237c94a8a0ce61c9c78fd06828" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/download-receipt.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/download-receipt.json", + "original_sha256": null, + "staged_sha256": "847fce8466807e88a54ea5e374c2ac49ffa25e208697e71e94d83a5cc185b40d" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/local-candidate-verification.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/local-candidate-verification.json", + "original_sha256": null, + "staged_sha256": "c82fa8aab33426fdd6f7730b627d226d3469b9d31c525bca7c28a52ab4847fc1" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/official-zlib-index-entry.txt", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/official-zlib-index-entry.txt", + "original_sha256": null, + "staged_sha256": "63b6831755f33c4fe7c8d7dd49cf2a60251edfcd45e4555f2731941939cb8d0a" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/official-zlib-package-info.txt", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/official-zlib-package-info.txt", + "original_sha256": null, + "staged_sha256": "395e0ee97996853c6cf03f17dfe25b57d109b0432c6faabb585d78e6ac6f534a" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/proposal.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/proposal.json", + "original_sha256": null, + "staged_sha256": "a12877b149427713c12e67f2597bf330d32dd0b30464008c0f79fc593f05d894" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/sbom.cdx.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/sbom.cdx.json", + "original_sha256": null, + "staged_sha256": "287a61e1aaf78b58c014726e9bcc1ddc2c46949ac0ee74d53fccae3007eac1bb" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/trivy-full.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/trivy-full.json", + "original_sha256": null, + "staged_sha256": "fd37bc2d502a9f017f673486f0f960433fc0fc12dcd745e5ed8074e9c3b600d9" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/verify_local_artifacts.py", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/verify_local_artifacts.py", + "original_sha256": null, + "staged_sha256": "6706f62937a742a9c5cc00c42d6261d67d4f1e675b868e67db70dc0b5be03afa" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/tools/zlib_overlay/check_build_inputs.py", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/tools/zlib_overlay/check_build_inputs.py", + "original_sha256": null, + "staged_sha256": "1bf0219765dbcf5f7e26495ac4d49f240affa21deeb9b06c65e275afd10d2e06" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/tools/zlib_overlay/check_runtime.py", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/tools/zlib_overlay/check_runtime.py", + "original_sha256": null, + "staged_sha256": "eb1fca9a43d3394d652f748cde2e8d28cbe646ad61c40f990c0b8878c522a3be" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/tools/zlib_overlay/compare_runtime.py", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/tools/zlib_overlay/compare_runtime.py", + "original_sha256": null, + "staged_sha256": "545f04844f90d028f5d8bb65fb16f3805ee5735ac687ec28303eb9dbb4195b0d" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/tools/zlib_overlay/test_candidate.py", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/tools/zlib_overlay/test_candidate.py", + "original_sha256": null, + "staged_sha256": "68677b91c34101776381abcabffcd983bf2452076f983f32599ab1f7ad177bb9" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/workplans/INFD-WP-0009-lifecycle-consumer-pin-repair.md", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/workplans/INFD-WP-0009-lifecycle-consumer-pin-repair.md", + "original_sha256": null, + "staged_sha256": "af785afbf188184b72563c10813663d44117df7cb7394ecb1b9a25cbdfea67a4" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/intermediate-64509029/README.md", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/intermediate-64509029/README.md", + "original_sha256": null, + "staged_sha256": "4d0b0ed0b41f2098adfa2e626c641360855cd0e717bbd2d7a6c155cee2ae91ec" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/intermediate-64509029/archive-map.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/intermediate-64509029/archive-map.json", + "original_sha256": null, + "staged_sha256": "3e81c1cedb2e3b25d83a779011898181a7860ff76532ede5fa3e9b8f63632700" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/intermediate-64509029/artifact-comparison.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/intermediate-64509029/artifact-comparison.json", + "original_sha256": null, + "staged_sha256": "689fa7cbd322cb31b215fd2e86e0be267c1398f9b71e5615446d5f7b82dcce89" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/intermediate-64509029/audit-refinement.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/intermediate-64509029/audit-refinement.json", + "original_sha256": null, + "staged_sha256": "020514b7514999699512fb338d89630e7eaf51a739e68bf77342eeefe8ad507f" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/intermediate-64509029/local-candidate-verification.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/intermediate-64509029/local-candidate-verification.json", + "original_sha256": null, + "staged_sha256": "9ed9bfebae3618936f6b916819949adfb23668fedeb350ae63b43cd2aa6a7d92" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/intermediate-64509029/original-manifest.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/intermediate-64509029/original-manifest.json", + "original_sha256": null, + "staged_sha256": "64509029b3de6d33e3675587663ccdae027d9ea18aba83750892480766dd03b8" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/intermediate-64509029/test_artifact_audit.py", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/intermediate-64509029/test_artifact_audit.py", + "original_sha256": null, + "staged_sha256": "e9c5a628e40acc3ae241bb3f3bf9c2846c064601761a11aecce81ba4803c8f71" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/intermediate-64509029/verify_local_artifacts.py", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/intermediate-64509029/verify_local_artifacts.py", + "original_sha256": null, + "staged_sha256": "53778a2c3c89aee4c1256ed7e5896db033d960c6345d490620e4f06d03268794" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/local-candidate-verification.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/local-candidate-verification.json", + "original_sha256": null, + "staged_sha256": "51505fa91e8d498c2eb3814442e89b01621290f1b39da08a5f460f6f6f9f112c" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/official-zlib-index-entry.txt", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/official-zlib-index-entry.txt", + "original_sha256": null, + "staged_sha256": "63b6831755f33c4fe7c8d7dd49cf2a60251edfcd45e4555f2731941939cb8d0a" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/official-zlib-package-info.txt", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/official-zlib-package-info.txt", + "original_sha256": null, + "staged_sha256": "395e0ee97996853c6cf03f17dfe25b57d109b0432c6faabb585d78e6ac6f534a" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/proposal.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/proposal.json", + "original_sha256": null, + "staged_sha256": "a12877b149427713c12e67f2597bf330d32dd0b30464008c0f79fc593f05d894" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/sbom.cdx.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/sbom.cdx.json", + "original_sha256": null, + "staged_sha256": "287a61e1aaf78b58c014726e9bcc1ddc2c46949ac0ee74d53fccae3007eac1bb" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/test_artifact_audit.py", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/test_artifact_audit.py", + "original_sha256": null, + "staged_sha256": "8635859fb63f8778e48ae4f3532e6fc37eb1fbc289801ec5b68b8a90bb6fc364" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/trivy-full.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/trivy-full.json", + "original_sha256": null, + "staged_sha256": "fd37bc2d502a9f017f673486f0f960433fc0fc12dcd745e5ed8074e9c3b600d9" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/verify_local_artifacts.py", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/verify_local_artifacts.py", + "original_sha256": null, + "staged_sha256": "08805c1e23f88626bc5e80cf7d9547af4149547bd091d02cb32ad1bd18820f41" + }, + { + "repo": "informed-decision", + "path": "tools/zlib_overlay/check_build_inputs.py", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/tools/zlib_overlay/check_build_inputs.py", + "original_sha256": null, + "staged_sha256": "1bf0219765dbcf5f7e26495ac4d49f240affa21deeb9b06c65e275afd10d2e06" + }, + { + "repo": "informed-decision", + "path": "tools/zlib_overlay/check_runtime.py", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/tools/zlib_overlay/check_runtime.py", + "original_sha256": null, + "staged_sha256": "eb1fca9a43d3394d652f748cde2e8d28cbe646ad61c40f990c0b8878c522a3be" + }, + { + "repo": "informed-decision", + "path": "tools/zlib_overlay/compare_runtime.py", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/tools/zlib_overlay/compare_runtime.py", + "original_sha256": null, + "staged_sha256": "545f04844f90d028f5d8bb65fb16f3805ee5735ac687ec28303eb9dbb4195b0d" + }, + { + "repo": "informed-decision", + "path": "tools/zlib_overlay/test_candidate.py", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/tools/zlib_overlay/test_candidate.py", + "original_sha256": null, + "staged_sha256": "68677b91c34101776381abcabffcd983bf2452076f983f32599ab1f7ad177bb9" + }, + { + "repo": "informed-decision", + "path": "workplans/INFD-WP-0009-lifecycle-consumer-pin-repair.md", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/workplans/INFD-WP-0009-lifecycle-consumer-pin-repair.md", + "original_sha256": "73fe52f0a188067d3e9c9d78584117b9cfa40ce417bb31530cbc2e9bbe858223", + "staged_sha256": "af785afbf188184b72563c10813663d44117df7cb7394ecb1b9a25cbdfea67a4" + } +] diff --git a/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/frozen66-verify_local_artifacts.py b/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/frozen66-verify_local_artifacts.py new file mode 100644 index 0000000..5973303 --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/frozen66-verify_local_artifacts.py @@ -0,0 +1,52 @@ +from pathlib import Path +import hashlib,io,json,tarfile,sys +if sys.flags.optimize: + raise SystemExit("REFUSED: optimized Python disables required artifact validation") +root=Path(sys.argv[1]) if len(sys.argv)==2 else Path('/tmp/infd-zlib-remediation-build') +def image(path): + with tarfile.open(path) as archive: + manifest=json.load(archive.extractfile('manifest.json'));assert len(manifest)==1 + configbytes=archive.extractfile(manifest[0]['Config']).read();config=json.loads(configbytes) + files={} + for name in manifest[0]['Layers']: + with tarfile.open(fileobj=archive.extractfile(name),mode='r|*') as layer: + for member in layer: + path=member.name + while path.startswith('./'):path=path[2:] + path=path.lstrip('/');p=Path(path) + if p.name=='.wh..wh..opq': + folder=p.parent.as_posix();prefix='' if folder=='.' else folder+'/' + files={key:value for key,value in files.items() if not key.startswith(prefix)};continue + if p.name.startswith('.wh.'): + removed=(p.parent/p.name[4:]).as_posix();files={key:value for key,value in files.items() if key!=removed and not key.startswith(removed+'/')};continue + if member.isfile(): + data=layer.extractfile(member).read();value=('file',member.mode,member.uid,member.gid,hashlib.sha256(data).hexdigest()) + elif member.isdir():value=('directory',member.mode,member.uid,member.gid,None) + elif member.issym() or member.islnk():value=('link',member.mode,member.uid,member.gid,member.linkname) + else:continue + files[path]=value + return config,hashlib.sha256(configbytes).hexdigest(),files +base,baseid,bfiles=image(root/'base-image.tar');candidate,candidateid,cfiles=image(root/'image.tar') +assert candidate['rootfs']['diff_ids'][:-2]==base['rootfs']['diff_ids'] +changed={name:{'before':bfiles.get(name),'after':cfiles.get(name)} for name in sorted(set(bfiles)|set(cfiles)) if bfiles.get(name)!=cfiles.get(name)} +expected={'usr/lib/libz.so.1.3.2','lib/apk/db/installed'} +assert set(changed)<=expected,set(changed) +a,b=base['config'].copy(),candidate['config'].copy() +labels_a=a.pop('Labels',{});labels_b=b.pop('Labels',{}) +a.pop('Image',None);b.pop('Image',None) +defaults={'Hostname':'','Domainname':'','AttachStdin':False,'AttachStdout':False,'AttachStderr':False,'Tty':False,'OpenStdin':False,'StdinOnce':False,'Cmd':None,'Volumes':None,'OnBuild':None} +for key,value in defaults.items(): + a.setdefault(key,value);b.setdefault(key,value) +assert a==b,(a,b) +components=[] +for name in ['base-sbom.cdx.json','sbom.cdx.json']: + data=json.loads((root/name).read_text());components.append({c['name']:c['version'] for c in data['components'] if c.get('purl')}) +sbom_delta={name:[components[0].get(name),components[1].get(name)] for name in set(components[0])|set(components[1]) if components[0].get(name)!=components[1].get(name)} +assert sbom_delta=={'zlib':['1.3.2-r0','1.3.2-r1']},sbom_delta +vulns=[] +for name in ['base-trivy-full.json','trivy-full.json']: + data=json.loads((root/name).read_text());vulns.append([v for r in data.get('Results',[]) for v in r.get('Vulnerabilities',[])]) +assert len(vulns[0])==1 and vulns[0][0]['VulnerabilityID']=='CVE-2026-85091' and vulns[0][0]['Severity']=='MEDIUM' +assert not vulns[1] +proof={'base_image_config_id':'sha256:'+baseid,'candidate_local_image_config_id':'sha256:'+candidateid,'candidate_registry_digest':None,'base_layers_preserved':len(base['rootfs']['diff_ids']),'new_layers':2,'effective_runtime_config_identical':True,'raw_config_bytes_identical':False,'serialization_note':'Legacy base explicitly serialized empty/false/null defaults; candidate Docker-save config omits equivalent known defaults. Exact closed default normalization only; runtime fields unchanged.','labels_before':labels_a,'labels_after':labels_b,'final_changed_files':changed,'directory_metadata_compared':True,'directory_count_base':sum(v[0]=='directory' for v in bfiles.values()),'directory_count_candidate':sum(v[0]=='directory' for v in cfiles.values()),'directory_metadata_delta':{k:v for k,v in changed.items() if (v['before'] and v['before'][0]=='directory') or (v['after'] and v['after'][0]=='directory')},'sbom_package_count_base':len(components[0]),'sbom_package_count_candidate':len(components[1]),'sbom_only_delta':sbom_delta,'full_scan_baseline_findings':1,'full_scan_candidate_allseverity_findings':0,'db_snapshot_same':True,'native_workload_changed':False} +(root/'artifact-comparison.json').write_text(json.dumps(proof,indent=2)+'\n');print(json.dumps({key:proof[key] for key in ['candidate_local_image_config_id','base_layers_preserved','effective_runtime_config_identical','sbom_only_delta','full_scan_candidate_allseverity_findings']}));print(json.dumps(list(changed))) diff --git a/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/original-manifest.json b/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/original-manifest.json new file mode 100644 index 0000000..3618287 --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/original-manifest.json @@ -0,0 +1,113 @@ +{ + "owner": "informed-decision", + "scope": "exact amended T05 source agreement; same T08; historical initial review retained; no publication or native go", + "candidate_manifest_sha256": "64509029b3de6d33e3675587663ccdae027d9ea18aba83750892480766dd03b8", + "initial_product_review_manifest_sha256": "5f33475707f7cf4ea3a6f1ac8d653b1af566c507347d70ba09b67813a5ccf225", + "files": [ + { + "repo": "informed-decision", + "path": "workplans/ADHOC-2026-10-11.md", + "staged_path": "/tmp/infd-zlib-product-final-review-stage/owner/workplans/ADHOC-2026-10-11.md", + "original_sha256": "da3b3f73be7c026c6a8740d548dce64a8269d0e6a02e8c438f03b43c0e9091b8", + "staged_sha256": "11039006000e55d6add3f7da70661545c4dfc1d533481eca8145d2452dbf574b" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/original-manifest.json", + "staged_path": "/tmp/infd-zlib-product-final-review-stage/owner/docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/original-manifest.json", + "original_sha256": null, + "staged_sha256": "5f33475707f7cf4ea3a6f1ac8d653b1af566c507347d70ba09b67813a5ccf225" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/owner-snapshot/workplans/ADHOC-2026-10-11.md", + "staged_path": "/tmp/infd-zlib-product-final-review-stage/owner/docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/owner-snapshot/workplans/ADHOC-2026-10-11.md", + "original_sha256": null, + "staged_sha256": "6b8ae1bf0f8c775873bfa37f8988169e66edd81c37ea4e23f5a00c6b868abe22" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/owner-snapshot/docs/reviews/2026-10-11-zlib-candidate-product-owner-review.md", + "staged_path": "/tmp/infd-zlib-product-final-review-stage/owner/docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/owner-snapshot/docs/reviews/2026-10-11-zlib-candidate-product-owner-review.md", + "original_sha256": null, + "staged_sha256": "ab3dcfb63eb2b38844e8d45da6ccfe21a1dfc97e57a3dbf23bc38d7694437ff8" + }, + { + "repo": "informed-decision", + "path": "docs/reviews/2026-10-11-zlib-candidate-product-owner-review.md", + "staged_path": "/tmp/infd-zlib-product-final-review-stage/owner/docs/reviews/2026-10-11-zlib-candidate-product-owner-review.md", + "original_sha256": null, + "staged_sha256": "ab3dcfb63eb2b38844e8d45da6ccfe21a1dfc97e57a3dbf23bc38d7694437ff8" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-review/check_product.py", + "staged_path": "/tmp/infd-zlib-product-final-review-stage/owner/docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-review/check_product.py", + "original_sha256": null, + "staged_sha256": "e660a6010a835cc618e55509f54c25a7aa9aecb1a528d14120b2f9b40bc1242b" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-candidate-product-review/check_product.py", + "staged_path": "/tmp/infd-zlib-product-final-review-stage/owner/docs/evidence/2026-10-11-zlib-candidate-product-review/check_product.py", + "original_sha256": null, + "staged_sha256": "e660a6010a835cc618e55509f54c25a7aa9aecb1a528d14120b2f9b40bc1242b" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-review/validation.json", + "staged_path": "/tmp/infd-zlib-product-final-review-stage/owner/docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-review/validation.json", + "original_sha256": null, + "staged_sha256": "e18a11328b744ab682346f4a8b37e9a6bf7965cfa84b4da939baaec22911fce5" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-candidate-product-review/validation.json", + "staged_path": "/tmp/infd-zlib-product-final-review-stage/owner/docs/evidence/2026-10-11-zlib-candidate-product-review/validation.json", + "original_sha256": null, + "staged_sha256": "e18a11328b744ab682346f4a8b37e9a6bf7965cfa84b4da939baaec22911fce5" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-review/independent-artifact-comparison.json", + "staged_path": "/tmp/infd-zlib-product-final-review-stage/owner/docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-review/independent-artifact-comparison.json", + "original_sha256": null, + "staged_sha256": "f76c98b9e8acbc4ad85bd7cf36cc42c8bf6c09063d9a2c25ef45cb027f71ef5c" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-candidate-product-review/independent-artifact-comparison.json", + "staged_path": "/tmp/infd-zlib-product-final-review-stage/owner/docs/evidence/2026-10-11-zlib-candidate-product-review/independent-artifact-comparison.json", + "original_sha256": null, + "staged_sha256": "f76c98b9e8acbc4ad85bd7cf36cc42c8bf6c09063d9a2c25ef45cb027f71ef5c" + }, + { + "repo": "informed-decision", + "path": "docs/reviews/2026-10-11-zlib-candidate-product-owner-final-ack.md", + "staged_path": "/tmp/infd-zlib-product-final-review-stage/owner/docs/reviews/2026-10-11-zlib-candidate-product-owner-final-ack.md", + "original_sha256": null, + "staged_sha256": "5cd9af6da8e8b9329bbf3be56c82f62b827bed66d0b7d860350c421e8105aca6" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-candidate-product-final-review/check_amendment.py", + "staged_path": "/tmp/infd-zlib-product-final-review-stage/owner/docs/evidence/2026-10-11-zlib-candidate-product-final-review/check_amendment.py", + "original_sha256": null, + "staged_sha256": "f79ca389f7d2a2294b3eed0229865caa5811ee4a53bfd545335453c85ee37b09" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-candidate-product-final-review/validation.json", + "staged_path": "/tmp/infd-zlib-product-final-review-stage/owner/docs/evidence/2026-10-11-zlib-candidate-product-final-review/validation.json", + "original_sha256": null, + "staged_sha256": "9cf6bb12f93ebfc2b92fc470f50a470256a25db3a70f98f2c08a6e73011ebb1d" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-candidate-product-final-review/independent-directory-artifact-comparison.json", + "staged_path": "/tmp/infd-zlib-product-final-review-stage/owner/docs/evidence/2026-10-11-zlib-candidate-product-final-review/independent-directory-artifact-comparison.json", + "original_sha256": null, + "staged_sha256": "c3760ab21efea5f7088e9b81a9d092727eb5a04d130519951d28b5327bee31d8" + } + ] +} diff --git a/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/check_amendment.py b/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/check_amendment.py new file mode 100644 index 0000000..8b6f589 --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/check_amendment.py @@ -0,0 +1,20 @@ +import pathlib,json,hashlib +S=pathlib.Path('/tmp/infd-zlib-candidate-stage/informed-decision');P=S/'docs/evidence/2026-10-11-zlib-remediation-candidate';O=pathlib.Path('/tmp/infd-zlib-product-final-review-stage');H=lambda b:hashlib.sha256(b).hexdigest() +m=pathlib.Path('/tmp/infd-zlib-candidate-stage/manifest.json');assert H(m.read_bytes())=='64509029b3de6d33e3675587663ccdae027d9ea18aba83750892480766dd03b8' +entries=json.loads(m.read_text());assert len(entries)==58 +for e in entries:assert H(pathlib.Path(e['staged_path']).read_bytes())==e['staged_sha256'] +oldm=P/'initial-8d345bb2/original-manifest.json';assert H(oldm.read_bytes())=='8d345bb2bde3efce4d0cc99dfc2f883a64f79c42d2cd4abb288229a995e9ad66' +old=json.loads(oldm.read_text());oldroot=P/'initial-8d345bb2/owner-snapshot';changed=[] +for e in old: + original=oldroot/e['path'];assert H(original.read_bytes())==e['staged_sha256'] + if H((S/e['path']).read_bytes())!=e['staged_sha256']:changed.append(e['path']) +assert set(changed)=={'docs/evidence/2026-10-11-zlib-remediation-candidate/'+n for n in ['README.md','artifact-comparison.json','local-candidate-verification.json','verify_local_artifacts.py']} +r=json.loads((P/'local-candidate-verification.json').read_text());oldr=json.loads((oldroot/'docs/evidence/2026-10-11-zlib-remediation-candidate/local-candidate-verification.json').read_text()) +for k in ['candidate_docker_daemon_image_id','candidate_saved_oci_config_digest','source_context_sha256','build_inputs','scanner_db_sha256','baseline_full_scan_findings','candidate_full_scan_allseverity_findings']:assert r[k]==oldr[k] +code=(P/'verify_local_artifacts.py').read_text().replace("(root/'artifact-comparison.json').write_text", "(Path('/tmp/infd-zlib-product-final-review-stage')/'independent-directory-artifact-comparison.json').write_text") +exec(compile(code,'product-amended-readback','exec'),{}) +a=json.loads((O/'independent-directory-artifact-comparison.json').read_text());b=json.loads((P/'artifact-comparison.json').read_text()) +for k in ['directory_metadata_compared','directory_count_base','directory_count_candidate','directory_metadata_delta','final_changed_files','base_layers_preserved']:assert a[k]==b[k] +assert a['directory_metadata_compared'] and not a['directory_metadata_delta'] +(O/'validation.json').write_text(json.dumps(dict(exact_manifest_sha256=H(m.read_bytes()),all58_hashes_verified=True,all27_initial_archived_hashes_verified=True,changed_initial_paths=changed,image_context_source_workflow_runtime_scan_unchanged=True,new_source_tests_passed=3,directory_negative_mutations=3,optimized_tampered_before_read_refusal=True,existing_actual_archives_directory_reaudit=True,directory_count_base=a['directory_count_base'],directory_count_candidate=a['directory_count_candidate'],directory_metadata_delta={},native_actions=False),indent=2)+'\n') +print('Exact amended source and directory metadata readback pass.') diff --git a/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/independent-directory-artifact-comparison.json b/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/independent-directory-artifact-comparison.json new file mode 100644 index 0000000..9d63407 --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/independent-directory-artifact-comparison.json @@ -0,0 +1,73 @@ +{ + "base_image_config_id": "sha256:f34de21379c4f50ea0361ca1d8296c8e72f989499ad288016b81204997ae4779", + "candidate_local_image_config_id": "sha256:625d066416e901eaa2db5e18b96c37559b25dd91bdc3afb3d1ff5e916c7a8a3f", + "candidate_registry_digest": null, + "base_layers_preserved": 9, + "new_layers": 2, + "effective_runtime_config_identical": true, + "raw_config_bytes_identical": false, + "serialization_note": "Legacy base explicitly serialized empty/false/null defaults; candidate Docker-save config omits equivalent known defaults. Exact closed default normalization only; runtime fields unchanged.", + "labels_before": { + "org.opencontainers.image.base.digest": "sha256:7f5c6cb29c9f70a026bfe30e72934274ddc69261676cf6d476f81dd32812d173", + "org.opencontainers.image.revision": "3e4bcb26f8eeaa8c64345c565477b5ac8ccbb168", + "social.coulomb.release.scope": "INFD-WP-0009-T04/purpose-overlay-v1", + "social.coulomb.source.policy.sha256": "9d7c1be4cb6199d14ef0aaead5f85951f45b0ccbd7c800a7fde922a253566b62" + }, + "labels_after": { + "org.opencontainers.image.base.digest": "sha256:763c36402c8be7cc4c1bd1a61623d1aff9116d52241877425b45a7018cc0883a", + "org.opencontainers.image.revision": "uncommitted-T05-local-preparation", + "social.coulomb.release.scope": "INFD-WP-0009-T05/zlib-85091-r1", + "social.coulomb.source.context.sha256": "c554e62a84af340cba15d469a4568f6d0c40923e580b08ed7565e22702b1207d", + "social.coulomb.source.policy.sha256": "9d7c1be4cb6199d14ef0aaead5f85951f45b0ccbd7c800a7fde922a253566b62" + }, + "final_changed_files": { + "lib/apk/db/installed": { + "before": [ + "file", + 420, + 0, + 0, + "6383ea3806247e8dbf9ebee8cb30eb8eca63a8ea59662a793127d6a61b988d70" + ], + "after": [ + "file", + 420, + 0, + 0, + "f590762196710e25c0e9f72da0642cad8a5dcba0aa9e58a0cbaa65684d15c001" + ] + }, + "usr/lib/libz.so.1.3.2": { + "before": [ + "file", + 493, + 0, + 0, + "a1e2c03dcdedba98a06a00cadfb67a0e0b1cd93986860ec0c5ce66e789c44e57" + ], + "after": [ + "file", + 493, + 0, + 0, + "ecc8b9dfc45eb7fa29b410ffaca6257873890de53b80fe91735737b49067c5f2" + ] + } + }, + "directory_metadata_compared": true, + "directory_count_base": 313, + "directory_count_candidate": 313, + "directory_metadata_delta": {}, + "sbom_package_count_base": 44, + "sbom_package_count_candidate": 44, + "sbom_only_delta": { + "zlib": [ + "1.3.2-r0", + "1.3.2-r1" + ] + }, + "full_scan_baseline_findings": 1, + "full_scan_candidate_allseverity_findings": 0, + "db_snapshot_same": true, + "native_workload_changed": false +} diff --git a/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/original-manifest.json b/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/original-manifest.json new file mode 100644 index 0000000..81b04ce --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/original-manifest.json @@ -0,0 +1,42 @@ +{ + "owner": "informed-decision", + "scope": "exact local T05 source candidate only; no native go/publication or task completion", + "candidate_manifest_sha256": "8d345bb2bde3efce4d0cc99dfc2f883a64f79c42d2cd4abb288229a995e9ad66", + "files": [ + { + "repo": "informed-decision", + "path": "workplans/ADHOC-2026-10-11.md", + "staged_path": "/tmp/infd-zlib-product-review-stage/owner/workplans/ADHOC-2026-10-11.md", + "original_sha256": "da3b3f73be7c026c6a8740d548dce64a8269d0e6a02e8c438f03b43c0e9091b8", + "staged_sha256": "6b8ae1bf0f8c775873bfa37f8988169e66edd81c37ea4e23f5a00c6b868abe22" + }, + { + "repo": "informed-decision", + "path": "docs/reviews/2026-10-11-zlib-candidate-product-owner-review.md", + "staged_path": "/tmp/infd-zlib-product-review-stage/owner/docs/reviews/2026-10-11-zlib-candidate-product-owner-review.md", + "original_sha256": null, + "staged_sha256": "ab3dcfb63eb2b38844e8d45da6ccfe21a1dfc97e57a3dbf23bc38d7694437ff8" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-candidate-product-review/check_product.py", + "staged_path": "/tmp/infd-zlib-product-review-stage/owner/docs/evidence/2026-10-11-zlib-candidate-product-review/check_product.py", + "original_sha256": null, + "staged_sha256": "e660a6010a835cc618e55509f54c25a7aa9aecb1a528d14120b2f9b40bc1242b" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-candidate-product-review/validation.json", + "staged_path": "/tmp/infd-zlib-product-review-stage/owner/docs/evidence/2026-10-11-zlib-candidate-product-review/validation.json", + "original_sha256": null, + "staged_sha256": "e18a11328b744ab682346f4a8b37e9a6bf7965cfa84b4da939baaec22911fce5" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-candidate-product-review/independent-artifact-comparison.json", + "staged_path": "/tmp/infd-zlib-product-review-stage/owner/docs/evidence/2026-10-11-zlib-candidate-product-review/independent-artifact-comparison.json", + "original_sha256": null, + "staged_sha256": "f76c98b9e8acbc4ad85bd7cf36cc42c8bf6c09063d9a2c25ef45cb027f71ef5c" + } + ] +} diff --git a/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-review/check_product.py b/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-review/check_product.py new file mode 100644 index 0000000..36291cd --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-review/check_product.py @@ -0,0 +1,39 @@ +import pathlib,json,hashlib,copy,importlib.util,tarfile +S=pathlib.Path('/tmp/infd-zlib-candidate-stage/informed-decision');O=pathlib.Path('/tmp/infd-zlib-product-review-stage');M=pathlib.Path('/tmp/infd-zlib-candidate-stage/manifest.json') +H=lambda b:hashlib.sha256(b).hexdigest() +assert H(M.read_bytes())=='8d345bb2bde3efce4d0cc99dfc2f883a64f79c42d2cd4abb288229a995e9ad66' +for f in json.loads(M.read_text()):assert H(pathlib.Path(f['staged_path']).read_bytes())==f['staged_sha256'] +E=S/'docs/evidence/2026-10-11-zlib-remediation-candidate';receipt=json.loads((E/'local-candidate-verification.json').read_text()) +for n,h in receipt['evidence_file_sha256'].items():assert H((E/n).read_bytes())==h +spec=importlib.util.spec_from_file_location('cmp',S/'tools/zlib_overlay/compare_runtime.py');cmp=importlib.util.module_from_spec(spec);spec.loader.exec_module(cmp) +a=json.loads((E/'base-runtime.json').read_text());b=json.loads((E/'candidate-runtime.json').read_text());assert cmp.compare(a,b)['app_files_identical']==36 +mutations=['appfile','keys','world','network','provider'] +for field in mutations: + c=copy.deepcopy(b) + if field=='appfile':c['app_file_sha256']['policy.py']='0'*64 + elif field=='keys':c['apk_keys_sha256']['extra.pub']='0'*64 + elif field=='world':c['apk_world_sha256']='0'*64 + elif field=='network':c['network_accessed']=True + else:c['provider_or_customer_data_used']=True + try:cmp.compare(a,c) + except ValueError:pass + else:raise AssertionError(field) +# Read local image archives, source verifier operations are limited to these public local artifacts. +code=(E/'verify_local_artifacts.py').read_text().replace("(root/'artifact-comparison.json').write_text", "(Path('/tmp/infd-zlib-product-review-stage')/'independent-artifact-comparison.json').write_text") +exec(compile(code,'product-local-artifact-readback','exec'),{}) +proof=json.loads((O/'independent-artifact-comparison.json').read_text());assert set(proof['final_changed_files'])=={'usr/lib/libz.so.1.3.2','lib/apk/db/installed'} +for key in ['final_changed_files','sbom_only_delta','base_layers_preserved','new_layers']: + assert proof[key]==json.loads((E/'artifact-comparison.json').read_text())[key] +# Inspect signed archive metadata and match named trusted key already installed in unchanged baseline. +for n in ['zlib-1.3.2-r1.apk','APKINDEX.tar.gz']: + with tarfile.open(S/'deploy/zlib-overlay'/n) as t: + signs=[x.name for x in t if x.name.startswith('.SIGN.')] + assert signs==['.SIGN.RSA.alpine-devel@lists.alpinelinux.org-6165ee59.rsa.pub'],signs + assert 'alpine-devel@lists.alpinelinux.org-6165ee59.rsa.pub' in a['apk_keys_sha256'] +base_scan=json.loads((E/'base-trivy-full.json').read_text());scan=json.loads((E/'trivy-full.json').read_text()) +assert sum(len(x.get('Packages',[])) for x in scan['Results'])==44 +assert base_scan['Metadata']['OS']==scan['Metadata']['OS'] +assert not [v for x in scan['Results'] for v in x.get('Vulnerabilities',[])] +container=(S/'deploy/zlib-overlay/Containerfile').read_text();assert '--allow-untrusted' not in container and '--keys-dir' not in container and 'apk verify ' in container +result={'manifest_sha256':H(M.read_bytes()),'all27_staged_hashes_verified':True,'evidence_hashes_verified':True,'existing_source_tests':4,'existing_source_negative_mutations':8,'additional_product_negative_mutations':mutations,'saved_image_fs_and_layer_runtime_readback':True,'sbom_only_zlib_delta':True,'scan44_packages_zero_at_retained_db':True,'signed_archive_named_key_matches_unchanged_baseline_truststore':True,'signature_execution_basis':'Retained actual maker apk verify success against exact763 trusted keys; recipe enforces same check. Product independently checked signed archive metadata/hash/truststore identity, not a fresh apk execution.','native_actions':False,'candidate_published':False} +(O/'validation.json').write_text(json.dumps(result,indent=2)+'\n');print('Product source checks passed, 5 additional scope mutations refused.') diff --git a/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-review/independent-artifact-comparison.json b/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-review/independent-artifact-comparison.json new file mode 100644 index 0000000..2db5495 --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-review/independent-artifact-comparison.json @@ -0,0 +1,69 @@ +{ + "base_image_config_id": "sha256:f34de21379c4f50ea0361ca1d8296c8e72f989499ad288016b81204997ae4779", + "candidate_local_image_config_id": "sha256:625d066416e901eaa2db5e18b96c37559b25dd91bdc3afb3d1ff5e916c7a8a3f", + "candidate_registry_digest": null, + "base_layers_preserved": 9, + "new_layers": 2, + "effective_runtime_config_identical": true, + "raw_config_bytes_identical": false, + "serialization_note": "Legacy base explicitly serialized empty/false/null defaults; candidate Docker-save config omits equivalent known defaults. Exact closed default normalization only; runtime fields unchanged.", + "labels_before": { + "org.opencontainers.image.base.digest": "sha256:7f5c6cb29c9f70a026bfe30e72934274ddc69261676cf6d476f81dd32812d173", + "org.opencontainers.image.revision": "3e4bcb26f8eeaa8c64345c565477b5ac8ccbb168", + "social.coulomb.release.scope": "INFD-WP-0009-T04/purpose-overlay-v1", + "social.coulomb.source.policy.sha256": "9d7c1be4cb6199d14ef0aaead5f85951f45b0ccbd7c800a7fde922a253566b62" + }, + "labels_after": { + "org.opencontainers.image.base.digest": "sha256:763c36402c8be7cc4c1bd1a61623d1aff9116d52241877425b45a7018cc0883a", + "org.opencontainers.image.revision": "uncommitted-T05-local-preparation", + "social.coulomb.release.scope": "INFD-WP-0009-T05/zlib-85091-r1", + "social.coulomb.source.context.sha256": "c554e62a84af340cba15d469a4568f6d0c40923e580b08ed7565e22702b1207d", + "social.coulomb.source.policy.sha256": "9d7c1be4cb6199d14ef0aaead5f85951f45b0ccbd7c800a7fde922a253566b62" + }, + "final_changed_files": { + "lib/apk/db/installed": { + "before": [ + "file", + 420, + 0, + 0, + "6383ea3806247e8dbf9ebee8cb30eb8eca63a8ea59662a793127d6a61b988d70" + ], + "after": [ + "file", + 420, + 0, + 0, + "f590762196710e25c0e9f72da0642cad8a5dcba0aa9e58a0cbaa65684d15c001" + ] + }, + "usr/lib/libz.so.1.3.2": { + "before": [ + "file", + 493, + 0, + 0, + "a1e2c03dcdedba98a06a00cadfb67a0e0b1cd93986860ec0c5ce66e789c44e57" + ], + "after": [ + "file", + 493, + 0, + 0, + "ecc8b9dfc45eb7fa29b410ffaca6257873890de53b80fe91735737b49067c5f2" + ] + } + }, + "sbom_package_count_base": 44, + "sbom_package_count_candidate": 44, + "sbom_only_delta": { + "zlib": [ + "1.3.2-r0", + "1.3.2-r1" + ] + }, + "full_scan_baseline_findings": 1, + "full_scan_candidate_allseverity_findings": 0, + "db_snapshot_same": true, + "native_workload_changed": false +} diff --git a/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-review/validation.json b/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-review/validation.json new file mode 100644 index 0000000..d09a3fc --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-review/validation.json @@ -0,0 +1,21 @@ +{ + "manifest_sha256": "8d345bb2bde3efce4d0cc99dfc2f883a64f79c42d2cd4abb288229a995e9ad66", + "all27_staged_hashes_verified": true, + "evidence_hashes_verified": true, + "existing_source_tests": 4, + "existing_source_negative_mutations": 8, + "additional_product_negative_mutations": [ + "appfile", + "keys", + "world", + "network", + "provider" + ], + "saved_image_fs_and_layer_runtime_readback": true, + "sbom_only_zlib_delta": true, + "scan44_packages_zero_at_retained_db": true, + "signed_archive_named_key_matches_unchanged_baseline_truststore": true, + "signature_execution_basis": "Retained actual maker apk verify success against exact763 trusted keys; recipe enforces same check. Product independently checked signed archive metadata/hash/truststore identity, not a fresh apk execution.", + "native_actions": false, + "candidate_published": false +} diff --git a/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/owner-snapshot/docs/reviews/2026-10-11-zlib-candidate-product-owner-review.md b/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/owner-snapshot/docs/reviews/2026-10-11-zlib-candidate-product-owner-review.md new file mode 100644 index 0000000..461d4d1 --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/owner-snapshot/docs/reviews/2026-10-11-zlib-candidate-product-owner-review.md @@ -0,0 +1,74 @@ +# Bounded zlib candidate Product owner review + +```yaml +reviewer: informed-decision-owner (agent informed-decision, codex) +decision: approved +work_item: INFD-WP-ADHOC-2026-10-11-T08 +scope: exact local zlib-only source candidate technical preparation +manifest_sha256: 8d345bb2bde3efce4d0cc99dfc2f883a64f79c42d2cd4abb288229a995e9ad66 +comment: >- + Informed-decision intent requires human binding and preserved evidence; this + candidate changes only a native compression dependency while preserving + application authorization/presentation behavior. T08 review work record was + completed first. This is technical source agreement, not native go, publication + receipt, founder acceptance or T05 completion. +``` + +All27 staged hashes and retained evidence-file hashes independently verify. +Independent saved-image archive readback confirms all nine exact763 base diff_ids +as prefix, equal effective runtime configuration with only explicitly normalized +empty/false/null defaults, and final filesystem changes exactly +`usr/lib/libz.so.1.3.2` and `lib/apk/db/installed`. Modes/owners remain equivalent. +Application36 files, policy9d7, trust keys, APK world, Python dependencies, OpenSSL +and UID/GID10001 remain equal. Root build identity returns to10001:10001. +No service values, namespace, DB, customer data, config, PVC, schema, audience, +policy pins, protected helper or existing release journal is changed. + +Package/index bytes match pinned official HTTPS download hashes. Both signed +archives name alpine-devel@lists.alpinelinux.org-6165ee59.rsa.pub, already present +in unchanged baseline trust metadata. Retained actual maker apk verify success +against exact763 installed keys is the execution evidence; this review separately +checks archive signatures' metadata, bytes and trust identity, without claiming +a new signature-verification execution. Containerfile requires digest checks and +`apk verify` success before offline named-package upgrade; no allow-untrusted or +keys-dir override. Existing trusted keys are not replaced. +[Official apk verify documentation](https://github.com/alpinelinux/apk-tools/blob/master/doc/apk-verify.8.scd) +defines integrity/signature checking and nonzero failure. +Upgrade selects only zlib from retained local signed index, disables network, +preupgrade and logging, and removes temporary public artifacts. + +Both full CycloneDX/Trivy artifacts independently show44 packages and only +zlib1.3.2-r0 to1.3.2-r1 version delta. Full baseline has one MEDIUM +CVE-2026-85091; candidate has zero findings at the retained same database +03cacb40452ceb74afdfca072cb82f79ee884dfac006ef24a4dfdad133b0f917. +No severity suppression is inferred or permitted. Alpine3.24 EOL-list warning +and actual38 OS/6 Python detector coverage remain disclosed. This is bounded +scan improvement at that snapshot, not estate risk grading or future safety. +Local daemon image78bfdcc and saved OCI config625d are distinct disclosed +representations; neither is a published registry digest or native image proof. + +Four existing source tests pass, covering eight mutations; five additional Product +mutations of app source, trust keys, APK world, network and provider/data flags +refuse. Independent archive/SBOM/scan readback agrees with maker artifact receipt. +Retained four compression vectors/three malformed refusals/crypto/JWT/waitress +and ten installed purpose variants are local synthetic checks, not live PDP +or customer/native-data testing. No new container or native execution by reviewer. + +Workflow publishes only a source-bound candidate through existing admitted owner +registry capability after root source review/commit: exact40hex source revision, +fixed owner archive, four input hashes/contextc554, exact763 base, no-network +bounded build, unchanged runtime comparison and purpose checks before push. +It has no kubectl, Argo, DB/admin, namespace or runtime deployment action. +The workflow is unexecuted; source review does not attest CI credentials, actual +publication or published artifact equivalence. Root must retain actual CI/source +revision and registry descriptor/layer/config/package/signature/context readback, +then full published scan/SBOM and scoped candidate release preparation. Only +distinct exact informed-decision founder native approval followed by installedr1, +runtime/purpose and full-rescan proof can close T05. Future image-only rollback +to763 preserves latest DB; no historical snapshot restore. + +T05 remains progress, WP0009 active, manual follow-up due2026-10-18; no automatic +controller is implied. T04/c96 accepted outcome and original uncertain journals +remain historical and immutable. INFD-IN-0010 is unchanged and unpromoted. +No new native authority, owner checkout write, credential/login, deployment or +customer-data access occurred in this review. diff --git a/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/owner-snapshot/workplans/ADHOC-2026-10-11.md b/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/owner-snapshot/workplans/ADHOC-2026-10-11.md new file mode 100644 index 0000000..b39c57f --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/owner-snapshot/workplans/ADHOC-2026-10-11.md @@ -0,0 +1,259 @@ +--- +id: INFD-WP-ADHOC-2026-10-11 +type: workplan +title: "Application-owner catalogue facts review" +domain: infotech +repo: informed-decision +status: finished +owner: codex +topic_slug: netkingdom +created: "2026-10-11" +updated: "2026-10-11" +flavor: planning +state_hub_workstream_id: "4594d714-a6ec-5ab6-ad44-4227a27fc7be" +--- + +## Review exact one-application catalogue facts + +```task +id: INFD-WP-ADHOC-2026-10-11-T01 +status: done +priority: medium +state_hub_task_id: "cfe1ec8c-c635-5f23-847c-bf8296965305" +``` + +Completed informed-decision application-owner source review under INTENT.md +Purpose, What informed-decision Owns/Does Not Own, Design Principles 9-10, +and Layer Placement. Read actual owner OIDC, requester and policy-request +code, governing Staff/PEP-shaped declaration, User Engine model, and existing +value-free native registration/Ingress/preflight receipts. Exact canonical +facts agree. Browser client is distinct from create-only requester. + +Review entry: docs/reviews/2026-10-11-one-app-catalogue-facts-review.md. +Canonical facts SHA-256: +`ae6fde5f2c879e75fabb53e132261899dae0f4d864e18dd425bc272be713426b`. +Reviewed refined nine-file executor manifest SHA-256: +`0ff545d26a0fd72f06040fe377de3efdcc3bd62cdcb6f653247c8ba72f3f34a7`. + +This task completes the application-facts source review only. It grants no +maintenance exception, native dry-run/apply/recovery, IAM permission, image +release or human disposition. Existing User Engine native acceptance work +remains with USER-WP-0026-T03 and USER-WP-0028-T02; no new residual work is +created by this bounded review. No tests were needed for this evidence-only +review; no native, credential or login action occurred. + +## Independently review purpose overlay release preparation + +```task +id: INFD-WP-ADHOC-2026-10-11-T02 +status: done +priority: medium +``` + +Completed same-role informed-decision-owner technical review of frozen36-path +purpose release manifest SHA-256 +`7c6738b39ea8e54e61c8ed625e94ad0b2755e672e1576efcdf84a1d665ac3300`. +All36 staged file hashes and exact source PolicyClient9d7 hash were verified. +Source candidates and captured candidate Deployment differ only in the image. +Actual raw base/candidate scans contain the same one fixable MEDIUM zlib finding; +T05 keeps its2026-10-18 follow-through. Actual published-image receipts and +sealed native read-only preflight support preparation, not native deployment. + +Independent owner negatives:50 passed in4.21s, covering10 advisory/malformed +binding forms across register, replay, publish, annotate and revise. Each +refusal preserves every domain table, records a truthful invalid-decision +observation and leaves the same idempotency key reusable after restoring a +canonical enforcement response. These are synthetic source tests only. +Test: tests/test_purpose_owner_mutation_negatives.py. +Receipt: docs/evidence/2026-10-11-purpose-image-release/product-owner-review-validation.json. +Review: docs/reviews/2026-10-11-purpose-release-product-owner-review.md. + +This bounded review grants no native backup/export/restore, image rollout, +credentials, login, human disposition or vulnerability acceptance. Existing +INFD-WP-0009-T04/T05 retain release/remediation obligations; no separate residual +is created or claimed completed. Catalogue ACK/T01 remains unchanged. + +## Confirm amended purpose release custody and preflight gates + +```task +id: INFD-WP-ADHOC-2026-10-11-T03 +status: done +priority: medium +``` + +Same informed-decision-owner reviewed amended78-path release manifest SHA-256 +`b1e3e66bc4023dc80c6ea59564c3557c7653fb3c307f46a049997b76198a9033`. +All78 file hashes verified, original36 archive retained, source PolicyClient9d7 +and both image-only source candidates unchanged. Prior50 source lifecycle +mutation/idempotency negatives remain applicable and were not repeated. + +Confirmed stdlib read-only schema5/integrity/count gate before ANY native or +restored Store/admin open, explicit local/remote optimized-interpreter refusal, +sealed actual ConfigMap/PVC identity/data/custody and frozen offline clone count +equality distinguished from legitimate concurrent live commits. Revised20-doc +184912-byte packet and01:39 read-only dry-run receipts remain preparation. +Native schema gate, backup/export/restore/release and founder disposition remain +unperformed; T04/T05 obligations and temporary vulnerability review persist. + +Confirmation: docs/reviews/2026-10-11-purpose-release-amended-product-owner-review.md. +Prior T01 catalogue ACK including hub identifiers and T02 initial36 review/test/ +receipt remain unchanged. No new residual or authority is created by this review. + +## Reconcile Staff evidence source declaration and current guarantees + +```task +id: INFD-WP-ADHOC-2026-10-11-T04 +status: done +priority: medium +``` + +Reviewed accepted bounded GH-DEC-2026-025 handoff against actual source +class definitions, transactional recording, heartbeat/reconciliation scheduling, +existing component-test assertions and native count/receipt evidence. Reconciled +stale outbox/AUDIT-WP-0009 blockers without promoting owed guarantees or reopening +finished INFD-WP-0005/0007. INFD-IN-0007 retains doctrine response and pending +NET-IN-0004 standard voice. INFD-IN-0009 is the one live, unpromoted residual +source intake for remaining class-specific declaration/verification gaps, +origin INFD-WP-0007. No residual implementation or native action occurred. + +Source evidence reconciliation: +docs/evidence/2026-10-11-staff-evidence-source-reconciliation.md. +Formal source review: +docs/reviews/2026-10-11-staff-evidence-source-owner-review.md. +Existing Staff/PEP-shaped classification, three load-bearing class classifications, +compromised-source and commitment/content availability limits remain unchanged. + +## Independently review supervised purpose actuator product boundaries + +```task +id: INFD-WP-ADHOC-2026-10-11-T05 +status: done +priority: medium +``` + +Same informed-decision-owner reviewed exact23-path helper manifest +`f2fad6c251fbb4420e07c1329802f521b513bbf66e51f64c5d673ef04f16284c`, +all staged hashes and embedded source bundle/plan. Product evidence/schema5, +private snapshot custody, confined offline UID0 initialization followed by +UID10001 pre/post-admin verification, independent failed-candidate rollback +and all-phase start deadline are technically agreed as source preparation. + +No purpose-policy or candidate image change. Retained helper16 synthetic tests +and platform5 independent recovery negatives are mechanism proof; prior50 +product policy negatives remain applicable. No new test run was needed for this +unchanged-source review. Native-provider acceptance remains distinct from the +installed10 synthetic purpose forms; T04 is not complete. Before first human +post, amend exact20-document packet to hash-bind helper/plan, four render inputs, +initializer/recovery/deadline refinements and preserved full scan provenance. +Exact combined packet acknowledgement remains a separate review gate. + +Review: docs/reviews/2026-10-11-purpose-actuator-product-owner-review.md. +No native reads/backups/export/restore/release, credentials, human disposition, +founder approval or phase authority was exercised by this review. + +## Prepare separately gated provider-derived denial mechanism probe + +```task +id: INFD-WP-ADHOC-2026-10-11-T06 +status: done +priority: medium +``` + +Prepared source-only readonly lifecycle.search provider-derived mechanism probe +with truthful informed-decision/review SERVICE and no human/StateHub attributes. +Actual lifecyclev2 permits only StateHub workload or admitted AAL2 humans, so a +canonical real DENY is required; no claims are invented to obtain ALLOW. +One actual provider response will remain in Pod memory; ten transformed +noncanonical purpose copies test installed consumer refusal without further +provider calls, DB/admin or act effects. This is a denial/binding mechanism +proof candidate, not actual authorized lifecycle or full T04 acceptance. + +Source: docs/evidence/2026-10-11-purpose-provider-probe/. +Ten synthetic source tests pass; no actual provider, credential, runtime config, +DB, native data or live action was accessed. Posted frozen112 packet/helper +remain unchanged. Exact separate founder go for this newly prepared probe and +its target must precede any execution; current memo has no acceptance and this +new helper is not hash-bound in that submitted packet. T04 remains progress. + +## Review exact existing-snapshot rescue version2 preparation + +```task +id: INFD-WP-ADHOC-2026-10-11-T07 +status: done +priority: medium +``` + +Reviewed exact66-path rescue manifest0867e27a6754dddff3eedbb333ab4ca4faa98ee31d383ebe940b8e054c6cabf7 +under the same informed-decision-owner role. Actual original backupCOMPLETE/copy +UNCERTAIN are retained; new rescue journal/phase and sourceversion2/newreviewown1 +require fresh founder acceptance. Immutable reads are bounded to proven frozen +closed snapshots; live/offline writable-clone reads remain WAL-aware/explicitclose. +Independent existing26 mocked tests plus41 subtests pass, and10 new product scope +guards pass (including eight refusal mutations and a frozen initial packet check). +No native command, DB open, credentials or rescue operation occurred. + +Initial review decision changes_requested: proposal.json misleadingly names old +f2fad helper manifest as execution_helper_manifest_sha256 after helper bytes changed; +label it original/historical and refreeze all dependent packet hashes. Correct +current bundle/plan digests already exist. The normalized test fixture is not an +owner edit or approval. Initial review/failure must remain after correction; +exact amended confirmation is still required before newhuman submission/execution. + +Review: docs/reviews/2026-10-11-purpose-rescue-product-owner-review.md. +Evidence/checks: docs/evidence/2026-10-11-purpose-rescue-product-review/. +T04 remains progress; original version1 approval is not newversion2 authority. + +**Amended source confirmation, same T07 trial:** exact134-path manifest +`d05d6e3b15df9acf1d7aef0ba2ec82a5a00d979ab1f324e981025cffe2cc753d` +corrects only the historical helper provenance label and dependent packet hashes; +original66 source and initial changes-requested review remain retained. Current +helper code/bundle49c9/plan9ce5 are unchanged. Strict typed sourceversion2/CAS1 +and20documents validate:173469packetbytes/240451revisionbytes. Eight scope +mutations and three packet mutations independently refuse. Final technical +source acknowledgement approved; no new human acceptance or native rescue. +Confirmation: docs/reviews/2026-10-11-purpose-rescue-product-owner-final-ack.md. + + +**Actual-outcome assessment preparation, same completed T07 trial:** independently +verified original receipt-byte hashes and source consumer path after approved +source c96b0c6 release. Offline schema5/admin/post counts match; fresh cutover +backup/private copy matches live post-release counts16/56/0, delivered336, +confirmed43. Independent image/module/config/PVC/controlled Pod and UID/GID10001 +checks pass. Actual post-rollout authenticated provider-backed outcomes readback +is separate from installed ten synthetic purpose forms (2allow/8refuse). +Completed source-only assessment supports T04 done, T05 todo and WP0009 active. +Original failed copy and verifier UNCERTAIN remain preserved, with no replay or +helper amendment. Created unpromoted INFD-IN-0010 for future verifier omission +handling correction; no implementation, native action or authority grant. +This work-record preparation precedes the formal actual-outcome review entry. +Review: docs/reviews/2026-10-11-purpose-native-outcome-product-owner-acceptance.md. +Evidence: docs/evidence/2026-10-11-purpose-native-acceptance/. + + +## Independently review bounded zlib-only T05 source candidate + +```task +id: INFD-WP-ADHOC-2026-10-11-T08 +status: done +priority: medium +``` + +Completed informed-decision Product source review of exact27-path candidate +manifest8d345bb2bde3efce4d0cc99dfc2f883a64f79c42d2cd4abb288229a995e9ad66. +All staged/evidence hashes verify. Independently reread local saved base/candidate +image archives, effective runtime config, nine base layer prefix, two final file +changes and both full scan/SBOM artifacts. Only zlib1.3.2-r0 to r1 differs; +44 packages/base1MED to candidate0 at retained same scanner database. +Signed APK/index named key matches unchanged base trust metadata; enforced +apk verify against existing keys retained, no allow-untrusted or truststore override. +Four existing source tests pass (eight refusal mutations), plus five independent +appfile/trustkeys/world/network/provider metadata mutations refuse. +Purpose/backend checks remain local and synthetic, not actual PDP or data proof. +Technical source preparation agreement only: local image78bfdcc is unpublished, +T05 remains progress/WP0009 active; CI exact published provenance/scan/SBOM and +new native founder approval/installed proof are still required. Current763/native +DB/config/PVC/identity/approved R2 helper and journal remain unchanged; INFD-IN-0010 +is unpromoted/unimplemented. No native actions, credentials or owner source writes. +This completed work record is prepared before the formal review entry. +Review: docs/reviews/2026-10-11-zlib-candidate-product-owner-review.md. +Evidence: docs/evidence/2026-10-11-zlib-candidate-product-review/. diff --git a/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/validation.json b/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/validation.json new file mode 100644 index 0000000..5548150 --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/validation.json @@ -0,0 +1,20 @@ +{ + "exact_manifest_sha256": "64509029b3de6d33e3675587663ccdae027d9ea18aba83750892480766dd03b8", + "all58_hashes_verified": true, + "all27_initial_archived_hashes_verified": true, + "changed_initial_paths": [ + "docs/evidence/2026-10-11-zlib-remediation-candidate/README.md", + "docs/evidence/2026-10-11-zlib-remediation-candidate/artifact-comparison.json", + "docs/evidence/2026-10-11-zlib-remediation-candidate/local-candidate-verification.json", + "docs/evidence/2026-10-11-zlib-remediation-candidate/verify_local_artifacts.py" + ], + "image_context_source_workflow_runtime_scan_unchanged": true, + "new_source_tests_passed": 3, + "directory_negative_mutations": 3, + "optimized_tampered_before_read_refusal": true, + "existing_actual_archives_directory_reaudit": true, + "directory_count_base": 313, + "directory_count_candidate": 313, + "directory_metadata_delta": {}, + "native_actions": false +} diff --git a/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-review/check_product.py b/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-review/check_product.py new file mode 100644 index 0000000..36291cd --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-review/check_product.py @@ -0,0 +1,39 @@ +import pathlib,json,hashlib,copy,importlib.util,tarfile +S=pathlib.Path('/tmp/infd-zlib-candidate-stage/informed-decision');O=pathlib.Path('/tmp/infd-zlib-product-review-stage');M=pathlib.Path('/tmp/infd-zlib-candidate-stage/manifest.json') +H=lambda b:hashlib.sha256(b).hexdigest() +assert H(M.read_bytes())=='8d345bb2bde3efce4d0cc99dfc2f883a64f79c42d2cd4abb288229a995e9ad66' +for f in json.loads(M.read_text()):assert H(pathlib.Path(f['staged_path']).read_bytes())==f['staged_sha256'] +E=S/'docs/evidence/2026-10-11-zlib-remediation-candidate';receipt=json.loads((E/'local-candidate-verification.json').read_text()) +for n,h in receipt['evidence_file_sha256'].items():assert H((E/n).read_bytes())==h +spec=importlib.util.spec_from_file_location('cmp',S/'tools/zlib_overlay/compare_runtime.py');cmp=importlib.util.module_from_spec(spec);spec.loader.exec_module(cmp) +a=json.loads((E/'base-runtime.json').read_text());b=json.loads((E/'candidate-runtime.json').read_text());assert cmp.compare(a,b)['app_files_identical']==36 +mutations=['appfile','keys','world','network','provider'] +for field in mutations: + c=copy.deepcopy(b) + if field=='appfile':c['app_file_sha256']['policy.py']='0'*64 + elif field=='keys':c['apk_keys_sha256']['extra.pub']='0'*64 + elif field=='world':c['apk_world_sha256']='0'*64 + elif field=='network':c['network_accessed']=True + else:c['provider_or_customer_data_used']=True + try:cmp.compare(a,c) + except ValueError:pass + else:raise AssertionError(field) +# Read local image archives, source verifier operations are limited to these public local artifacts. +code=(E/'verify_local_artifacts.py').read_text().replace("(root/'artifact-comparison.json').write_text", "(Path('/tmp/infd-zlib-product-review-stage')/'independent-artifact-comparison.json').write_text") +exec(compile(code,'product-local-artifact-readback','exec'),{}) +proof=json.loads((O/'independent-artifact-comparison.json').read_text());assert set(proof['final_changed_files'])=={'usr/lib/libz.so.1.3.2','lib/apk/db/installed'} +for key in ['final_changed_files','sbom_only_delta','base_layers_preserved','new_layers']: + assert proof[key]==json.loads((E/'artifact-comparison.json').read_text())[key] +# Inspect signed archive metadata and match named trusted key already installed in unchanged baseline. +for n in ['zlib-1.3.2-r1.apk','APKINDEX.tar.gz']: + with tarfile.open(S/'deploy/zlib-overlay'/n) as t: + signs=[x.name for x in t if x.name.startswith('.SIGN.')] + assert signs==['.SIGN.RSA.alpine-devel@lists.alpinelinux.org-6165ee59.rsa.pub'],signs + assert 'alpine-devel@lists.alpinelinux.org-6165ee59.rsa.pub' in a['apk_keys_sha256'] +base_scan=json.loads((E/'base-trivy-full.json').read_text());scan=json.loads((E/'trivy-full.json').read_text()) +assert sum(len(x.get('Packages',[])) for x in scan['Results'])==44 +assert base_scan['Metadata']['OS']==scan['Metadata']['OS'] +assert not [v for x in scan['Results'] for v in x.get('Vulnerabilities',[])] +container=(S/'deploy/zlib-overlay/Containerfile').read_text();assert '--allow-untrusted' not in container and '--keys-dir' not in container and 'apk verify ' in container +result={'manifest_sha256':H(M.read_bytes()),'all27_staged_hashes_verified':True,'evidence_hashes_verified':True,'existing_source_tests':4,'existing_source_negative_mutations':8,'additional_product_negative_mutations':mutations,'saved_image_fs_and_layer_runtime_readback':True,'sbom_only_zlib_delta':True,'scan44_packages_zero_at_retained_db':True,'signed_archive_named_key_matches_unchanged_baseline_truststore':True,'signature_execution_basis':'Retained actual maker apk verify success against exact763 trusted keys; recipe enforces same check. Product independently checked signed archive metadata/hash/truststore identity, not a fresh apk execution.','native_actions':False,'candidate_published':False} +(O/'validation.json').write_text(json.dumps(result,indent=2)+'\n');print('Product source checks passed, 5 additional scope mutations refused.') diff --git a/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-review/independent-artifact-comparison.json b/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-review/independent-artifact-comparison.json new file mode 100644 index 0000000..2db5495 --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-review/independent-artifact-comparison.json @@ -0,0 +1,69 @@ +{ + "base_image_config_id": "sha256:f34de21379c4f50ea0361ca1d8296c8e72f989499ad288016b81204997ae4779", + "candidate_local_image_config_id": "sha256:625d066416e901eaa2db5e18b96c37559b25dd91bdc3afb3d1ff5e916c7a8a3f", + "candidate_registry_digest": null, + "base_layers_preserved": 9, + "new_layers": 2, + "effective_runtime_config_identical": true, + "raw_config_bytes_identical": false, + "serialization_note": "Legacy base explicitly serialized empty/false/null defaults; candidate Docker-save config omits equivalent known defaults. Exact closed default normalization only; runtime fields unchanged.", + "labels_before": { + "org.opencontainers.image.base.digest": "sha256:7f5c6cb29c9f70a026bfe30e72934274ddc69261676cf6d476f81dd32812d173", + "org.opencontainers.image.revision": "3e4bcb26f8eeaa8c64345c565477b5ac8ccbb168", + "social.coulomb.release.scope": "INFD-WP-0009-T04/purpose-overlay-v1", + "social.coulomb.source.policy.sha256": "9d7c1be4cb6199d14ef0aaead5f85951f45b0ccbd7c800a7fde922a253566b62" + }, + "labels_after": { + "org.opencontainers.image.base.digest": "sha256:763c36402c8be7cc4c1bd1a61623d1aff9116d52241877425b45a7018cc0883a", + "org.opencontainers.image.revision": "uncommitted-T05-local-preparation", + "social.coulomb.release.scope": "INFD-WP-0009-T05/zlib-85091-r1", + "social.coulomb.source.context.sha256": "c554e62a84af340cba15d469a4568f6d0c40923e580b08ed7565e22702b1207d", + "social.coulomb.source.policy.sha256": "9d7c1be4cb6199d14ef0aaead5f85951f45b0ccbd7c800a7fde922a253566b62" + }, + "final_changed_files": { + "lib/apk/db/installed": { + "before": [ + "file", + 420, + 0, + 0, + "6383ea3806247e8dbf9ebee8cb30eb8eca63a8ea59662a793127d6a61b988d70" + ], + "after": [ + "file", + 420, + 0, + 0, + "f590762196710e25c0e9f72da0642cad8a5dcba0aa9e58a0cbaa65684d15c001" + ] + }, + "usr/lib/libz.so.1.3.2": { + "before": [ + "file", + 493, + 0, + 0, + "a1e2c03dcdedba98a06a00cadfb67a0e0b1cd93986860ec0c5ce66e789c44e57" + ], + "after": [ + "file", + 493, + 0, + 0, + "ecc8b9dfc45eb7fa29b410ffaca6257873890de53b80fe91735737b49067c5f2" + ] + } + }, + "sbom_package_count_base": 44, + "sbom_package_count_candidate": 44, + "sbom_only_delta": { + "zlib": [ + "1.3.2-r0", + "1.3.2-r1" + ] + }, + "full_scan_baseline_findings": 1, + "full_scan_candidate_allseverity_findings": 0, + "db_snapshot_same": true, + "native_workload_changed": false +} diff --git a/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-review/validation.json b/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-review/validation.json new file mode 100644 index 0000000..d09a3fc --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-review/validation.json @@ -0,0 +1,21 @@ +{ + "manifest_sha256": "8d345bb2bde3efce4d0cc99dfc2f883a64f79c42d2cd4abb288229a995e9ad66", + "all27_staged_hashes_verified": true, + "evidence_hashes_verified": true, + "existing_source_tests": 4, + "existing_source_negative_mutations": 8, + "additional_product_negative_mutations": [ + "appfile", + "keys", + "world", + "network", + "provider" + ], + "saved_image_fs_and_layer_runtime_readback": true, + "sbom_only_zlib_delta": true, + "scan44_packages_zero_at_retained_db": true, + "signed_archive_named_key_matches_unchanged_baseline_truststore": true, + "signature_execution_basis": "Retained actual maker apk verify success against exact763 trusted keys; recipe enforces same check. Product independently checked signed archive metadata/hash/truststore identity, not a fresh apk execution.", + "native_actions": false, + "candidate_published": false +} diff --git a/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/reviews/2026-10-11-zlib-candidate-product-owner-final-ack.md b/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/reviews/2026-10-11-zlib-candidate-product-owner-final-ack.md new file mode 100644 index 0000000..c100415 --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/reviews/2026-10-11-zlib-candidate-product-owner-final-ack.md @@ -0,0 +1,55 @@ +# Exact amended zlib candidate Product confirmation + +```yaml +reviewer: informed-decision-owner (agent informed-decision, codex) +decision: approved +work_item: INFD-WP-ADHOC-2026-10-11-T08 +scope: exact amended local T05 source candidate preparation only +manifest_sha256: 64509029b3de6d33e3675587663ccdae027d9ea18aba83750892480766dd03b8 +comment: >- + Same completed T08 preparation trial: work-record refinement was prepared + before this formal exact acknowledgment. Initial Product agreement/manifest + 5f334 remains historical, including its bounded audit validation. This final + confirmation covers the guard refinement, not publication/native approval, + a second scored success or T05 completion. +``` + +All58 final staged hashes verify; all27 initial candidate snapshots match +immutable manifest8d345bb2. Actual initial-to-current diff changes only four +existing paths: artifact checker, its comparison and local-validation receipts, +and README. New audit tests/refinement record and original source archive are +additions. No Containerfile/workflow, signed APK/index/pins/four-file context, +package/runtime/backend/app/identity/policy artifact, scan/SBOM/DB or WP source +scope changed. Local daemon78bfdcc/config625d remain unpublished; source recipe +contextc554 and actual retained DB03cacb remain exact. Original four-source-test +and Product five negative-probe findings remain applicable, not needlessly rerun. + +The artifact checker now refuses optimized Python before any archive/JSON read, +so assertions cannot silently disappear. Directory mode/UID/GID metadata is +included in final layer reconstruction and diff enforcement. Three new source +tests pass: malformed archive under -O refuses explicitly before reads; identical +directory metadata passes; each mode/UID/GID mutation refuses without a report. +These fixtures are isolated synthetic source tests. Independent reread of actual +existing local saved-image archives confirms equal directory counts and no +directory metadata delta; the same two final changed files are libz and APK DB, +nine base layers remain prefix and effective runtime config/SBOM/scan match. +No new image build, container launch, scan, customer/native data or provider call +was performed by this review. + +Initial Product review and validation retain their exact bytes under +`docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/`; +original current review file remains the initial agreement, with this separate +final acknowledgment carrying the refinement. Signature trust conclusions stay +bounded to pinned signed artifacts/unchanged trust metadata, actual retained +maker apk verify and enforced recipe; this acknowledgment does not claim fresh +cryptographic execution. Zero findings remains specific to retained sameDB scan, +not an estate risk grade or future safety assurance. + +T05 remains progress, WP0009 active and manual follow-up due2026-10-18. Root +source review/commit and admitted owner CI candidate publication, exact actual +published registry provenance/package/full scan/SBOM, separate fresh native +founder release acceptance and installedr1/runtime/full-rescan proof remain +required. Existing approved R2 helper/journal, native image763, DB/config/PVC/ +identity and T04/c96 outcome are unchanged. INFD-IN-0010 remains unpromoted and +unimplemented. This technical acknowledgment grants no native action, human +acceptance, credential capability or publication execution. diff --git a/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/reviews/2026-10-11-zlib-candidate-product-owner-review.md b/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/reviews/2026-10-11-zlib-candidate-product-owner-review.md new file mode 100644 index 0000000..461d4d1 --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/reviews/2026-10-11-zlib-candidate-product-owner-review.md @@ -0,0 +1,74 @@ +# Bounded zlib candidate Product owner review + +```yaml +reviewer: informed-decision-owner (agent informed-decision, codex) +decision: approved +work_item: INFD-WP-ADHOC-2026-10-11-T08 +scope: exact local zlib-only source candidate technical preparation +manifest_sha256: 8d345bb2bde3efce4d0cc99dfc2f883a64f79c42d2cd4abb288229a995e9ad66 +comment: >- + Informed-decision intent requires human binding and preserved evidence; this + candidate changes only a native compression dependency while preserving + application authorization/presentation behavior. T08 review work record was + completed first. This is technical source agreement, not native go, publication + receipt, founder acceptance or T05 completion. +``` + +All27 staged hashes and retained evidence-file hashes independently verify. +Independent saved-image archive readback confirms all nine exact763 base diff_ids +as prefix, equal effective runtime configuration with only explicitly normalized +empty/false/null defaults, and final filesystem changes exactly +`usr/lib/libz.so.1.3.2` and `lib/apk/db/installed`. Modes/owners remain equivalent. +Application36 files, policy9d7, trust keys, APK world, Python dependencies, OpenSSL +and UID/GID10001 remain equal. Root build identity returns to10001:10001. +No service values, namespace, DB, customer data, config, PVC, schema, audience, +policy pins, protected helper or existing release journal is changed. + +Package/index bytes match pinned official HTTPS download hashes. Both signed +archives name alpine-devel@lists.alpinelinux.org-6165ee59.rsa.pub, already present +in unchanged baseline trust metadata. Retained actual maker apk verify success +against exact763 installed keys is the execution evidence; this review separately +checks archive signatures' metadata, bytes and trust identity, without claiming +a new signature-verification execution. Containerfile requires digest checks and +`apk verify` success before offline named-package upgrade; no allow-untrusted or +keys-dir override. Existing trusted keys are not replaced. +[Official apk verify documentation](https://github.com/alpinelinux/apk-tools/blob/master/doc/apk-verify.8.scd) +defines integrity/signature checking and nonzero failure. +Upgrade selects only zlib from retained local signed index, disables network, +preupgrade and logging, and removes temporary public artifacts. + +Both full CycloneDX/Trivy artifacts independently show44 packages and only +zlib1.3.2-r0 to1.3.2-r1 version delta. Full baseline has one MEDIUM +CVE-2026-85091; candidate has zero findings at the retained same database +03cacb40452ceb74afdfca072cb82f79ee884dfac006ef24a4dfdad133b0f917. +No severity suppression is inferred or permitted. Alpine3.24 EOL-list warning +and actual38 OS/6 Python detector coverage remain disclosed. This is bounded +scan improvement at that snapshot, not estate risk grading or future safety. +Local daemon image78bfdcc and saved OCI config625d are distinct disclosed +representations; neither is a published registry digest or native image proof. + +Four existing source tests pass, covering eight mutations; five additional Product +mutations of app source, trust keys, APK world, network and provider/data flags +refuse. Independent archive/SBOM/scan readback agrees with maker artifact receipt. +Retained four compression vectors/three malformed refusals/crypto/JWT/waitress +and ten installed purpose variants are local synthetic checks, not live PDP +or customer/native-data testing. No new container or native execution by reviewer. + +Workflow publishes only a source-bound candidate through existing admitted owner +registry capability after root source review/commit: exact40hex source revision, +fixed owner archive, four input hashes/contextc554, exact763 base, no-network +bounded build, unchanged runtime comparison and purpose checks before push. +It has no kubectl, Argo, DB/admin, namespace or runtime deployment action. +The workflow is unexecuted; source review does not attest CI credentials, actual +publication or published artifact equivalence. Root must retain actual CI/source +revision and registry descriptor/layer/config/package/signature/context readback, +then full published scan/SBOM and scoped candidate release preparation. Only +distinct exact informed-decision founder native approval followed by installedr1, +runtime/purpose and full-rescan proof can close T05. Future image-only rollback +to763 preserves latest DB; no historical snapshot restore. + +T05 remains progress, WP0009 active, manual follow-up due2026-10-18; no automatic +controller is implied. T04/c96 accepted outcome and original uncertain journals +remain historical and immutable. INFD-IN-0010 is unchanged and unpromoted. +No new native authority, owner checkout write, credential/login, deployment or +customer-data access occurred in this review. diff --git a/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/workplans/ADHOC-2026-10-11.md b/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/workplans/ADHOC-2026-10-11.md new file mode 100644 index 0000000..c139962 --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/workplans/ADHOC-2026-10-11.md @@ -0,0 +1,273 @@ +--- +id: INFD-WP-ADHOC-2026-10-11 +type: workplan +title: "Application-owner catalogue facts review" +domain: infotech +repo: informed-decision +status: finished +owner: codex +topic_slug: netkingdom +created: "2026-10-11" +updated: "2026-10-11" +flavor: planning +state_hub_workstream_id: "4594d714-a6ec-5ab6-ad44-4227a27fc7be" +--- + +## Review exact one-application catalogue facts + +```task +id: INFD-WP-ADHOC-2026-10-11-T01 +status: done +priority: medium +state_hub_task_id: "cfe1ec8c-c635-5f23-847c-bf8296965305" +``` + +Completed informed-decision application-owner source review under INTENT.md +Purpose, What informed-decision Owns/Does Not Own, Design Principles 9-10, +and Layer Placement. Read actual owner OIDC, requester and policy-request +code, governing Staff/PEP-shaped declaration, User Engine model, and existing +value-free native registration/Ingress/preflight receipts. Exact canonical +facts agree. Browser client is distinct from create-only requester. + +Review entry: docs/reviews/2026-10-11-one-app-catalogue-facts-review.md. +Canonical facts SHA-256: +`ae6fde5f2c879e75fabb53e132261899dae0f4d864e18dd425bc272be713426b`. +Reviewed refined nine-file executor manifest SHA-256: +`0ff545d26a0fd72f06040fe377de3efdcc3bd62cdcb6f653247c8ba72f3f34a7`. + +This task completes the application-facts source review only. It grants no +maintenance exception, native dry-run/apply/recovery, IAM permission, image +release or human disposition. Existing User Engine native acceptance work +remains with USER-WP-0026-T03 and USER-WP-0028-T02; no new residual work is +created by this bounded review. No tests were needed for this evidence-only +review; no native, credential or login action occurred. + +## Independently review purpose overlay release preparation + +```task +id: INFD-WP-ADHOC-2026-10-11-T02 +status: done +priority: medium +``` + +Completed same-role informed-decision-owner technical review of frozen36-path +purpose release manifest SHA-256 +`7c6738b39ea8e54e61c8ed625e94ad0b2755e672e1576efcdf84a1d665ac3300`. +All36 staged file hashes and exact source PolicyClient9d7 hash were verified. +Source candidates and captured candidate Deployment differ only in the image. +Actual raw base/candidate scans contain the same one fixable MEDIUM zlib finding; +T05 keeps its2026-10-18 follow-through. Actual published-image receipts and +sealed native read-only preflight support preparation, not native deployment. + +Independent owner negatives:50 passed in4.21s, covering10 advisory/malformed +binding forms across register, replay, publish, annotate and revise. Each +refusal preserves every domain table, records a truthful invalid-decision +observation and leaves the same idempotency key reusable after restoring a +canonical enforcement response. These are synthetic source tests only. +Test: tests/test_purpose_owner_mutation_negatives.py. +Receipt: docs/evidence/2026-10-11-purpose-image-release/product-owner-review-validation.json. +Review: docs/reviews/2026-10-11-purpose-release-product-owner-review.md. + +This bounded review grants no native backup/export/restore, image rollout, +credentials, login, human disposition or vulnerability acceptance. Existing +INFD-WP-0009-T04/T05 retain release/remediation obligations; no separate residual +is created or claimed completed. Catalogue ACK/T01 remains unchanged. + +## Confirm amended purpose release custody and preflight gates + +```task +id: INFD-WP-ADHOC-2026-10-11-T03 +status: done +priority: medium +``` + +Same informed-decision-owner reviewed amended78-path release manifest SHA-256 +`b1e3e66bc4023dc80c6ea59564c3557c7653fb3c307f46a049997b76198a9033`. +All78 file hashes verified, original36 archive retained, source PolicyClient9d7 +and both image-only source candidates unchanged. Prior50 source lifecycle +mutation/idempotency negatives remain applicable and were not repeated. + +Confirmed stdlib read-only schema5/integrity/count gate before ANY native or +restored Store/admin open, explicit local/remote optimized-interpreter refusal, +sealed actual ConfigMap/PVC identity/data/custody and frozen offline clone count +equality distinguished from legitimate concurrent live commits. Revised20-doc +184912-byte packet and01:39 read-only dry-run receipts remain preparation. +Native schema gate, backup/export/restore/release and founder disposition remain +unperformed; T04/T05 obligations and temporary vulnerability review persist. + +Confirmation: docs/reviews/2026-10-11-purpose-release-amended-product-owner-review.md. +Prior T01 catalogue ACK including hub identifiers and T02 initial36 review/test/ +receipt remain unchanged. No new residual or authority is created by this review. + +## Reconcile Staff evidence source declaration and current guarantees + +```task +id: INFD-WP-ADHOC-2026-10-11-T04 +status: done +priority: medium +``` + +Reviewed accepted bounded GH-DEC-2026-025 handoff against actual source +class definitions, transactional recording, heartbeat/reconciliation scheduling, +existing component-test assertions and native count/receipt evidence. Reconciled +stale outbox/AUDIT-WP-0009 blockers without promoting owed guarantees or reopening +finished INFD-WP-0005/0007. INFD-IN-0007 retains doctrine response and pending +NET-IN-0004 standard voice. INFD-IN-0009 is the one live, unpromoted residual +source intake for remaining class-specific declaration/verification gaps, +origin INFD-WP-0007. No residual implementation or native action occurred. + +Source evidence reconciliation: +docs/evidence/2026-10-11-staff-evidence-source-reconciliation.md. +Formal source review: +docs/reviews/2026-10-11-staff-evidence-source-owner-review.md. +Existing Staff/PEP-shaped classification, three load-bearing class classifications, +compromised-source and commitment/content availability limits remain unchanged. + +## Independently review supervised purpose actuator product boundaries + +```task +id: INFD-WP-ADHOC-2026-10-11-T05 +status: done +priority: medium +``` + +Same informed-decision-owner reviewed exact23-path helper manifest +`f2fad6c251fbb4420e07c1329802f521b513bbf66e51f64c5d673ef04f16284c`, +all staged hashes and embedded source bundle/plan. Product evidence/schema5, +private snapshot custody, confined offline UID0 initialization followed by +UID10001 pre/post-admin verification, independent failed-candidate rollback +and all-phase start deadline are technically agreed as source preparation. + +No purpose-policy or candidate image change. Retained helper16 synthetic tests +and platform5 independent recovery negatives are mechanism proof; prior50 +product policy negatives remain applicable. No new test run was needed for this +unchanged-source review. Native-provider acceptance remains distinct from the +installed10 synthetic purpose forms; T04 is not complete. Before first human +post, amend exact20-document packet to hash-bind helper/plan, four render inputs, +initializer/recovery/deadline refinements and preserved full scan provenance. +Exact combined packet acknowledgement remains a separate review gate. + +Review: docs/reviews/2026-10-11-purpose-actuator-product-owner-review.md. +No native reads/backups/export/restore/release, credentials, human disposition, +founder approval or phase authority was exercised by this review. + +## Prepare separately gated provider-derived denial mechanism probe + +```task +id: INFD-WP-ADHOC-2026-10-11-T06 +status: done +priority: medium +``` + +Prepared source-only readonly lifecycle.search provider-derived mechanism probe +with truthful informed-decision/review SERVICE and no human/StateHub attributes. +Actual lifecyclev2 permits only StateHub workload or admitted AAL2 humans, so a +canonical real DENY is required; no claims are invented to obtain ALLOW. +One actual provider response will remain in Pod memory; ten transformed +noncanonical purpose copies test installed consumer refusal without further +provider calls, DB/admin or act effects. This is a denial/binding mechanism +proof candidate, not actual authorized lifecycle or full T04 acceptance. + +Source: docs/evidence/2026-10-11-purpose-provider-probe/. +Ten synthetic source tests pass; no actual provider, credential, runtime config, +DB, native data or live action was accessed. Posted frozen112 packet/helper +remain unchanged. Exact separate founder go for this newly prepared probe and +its target must precede any execution; current memo has no acceptance and this +new helper is not hash-bound in that submitted packet. T04 remains progress. + +## Review exact existing-snapshot rescue version2 preparation + +```task +id: INFD-WP-ADHOC-2026-10-11-T07 +status: done +priority: medium +``` + +Reviewed exact66-path rescue manifest0867e27a6754dddff3eedbb333ab4ca4faa98ee31d383ebe940b8e054c6cabf7 +under the same informed-decision-owner role. Actual original backupCOMPLETE/copy +UNCERTAIN are retained; new rescue journal/phase and sourceversion2/newreviewown1 +require fresh founder acceptance. Immutable reads are bounded to proven frozen +closed snapshots; live/offline writable-clone reads remain WAL-aware/explicitclose. +Independent existing26 mocked tests plus41 subtests pass, and10 new product scope +guards pass (including eight refusal mutations and a frozen initial packet check). +No native command, DB open, credentials or rescue operation occurred. + +Initial review decision changes_requested: proposal.json misleadingly names old +f2fad helper manifest as execution_helper_manifest_sha256 after helper bytes changed; +label it original/historical and refreeze all dependent packet hashes. Correct +current bundle/plan digests already exist. The normalized test fixture is not an +owner edit or approval. Initial review/failure must remain after correction; +exact amended confirmation is still required before newhuman submission/execution. + +Review: docs/reviews/2026-10-11-purpose-rescue-product-owner-review.md. +Evidence/checks: docs/evidence/2026-10-11-purpose-rescue-product-review/. +T04 remains progress; original version1 approval is not newversion2 authority. + +**Amended source confirmation, same T07 trial:** exact134-path manifest +`d05d6e3b15df9acf1d7aef0ba2ec82a5a00d979ab1f324e981025cffe2cc753d` +corrects only the historical helper provenance label and dependent packet hashes; +original66 source and initial changes-requested review remain retained. Current +helper code/bundle49c9/plan9ce5 are unchanged. Strict typed sourceversion2/CAS1 +and20documents validate:173469packetbytes/240451revisionbytes. Eight scope +mutations and three packet mutations independently refuse. Final technical +source acknowledgement approved; no new human acceptance or native rescue. +Confirmation: docs/reviews/2026-10-11-purpose-rescue-product-owner-final-ack.md. + + +**Actual-outcome assessment preparation, same completed T07 trial:** independently +verified original receipt-byte hashes and source consumer path after approved +source c96b0c6 release. Offline schema5/admin/post counts match; fresh cutover +backup/private copy matches live post-release counts16/56/0, delivered336, +confirmed43. Independent image/module/config/PVC/controlled Pod and UID/GID10001 +checks pass. Actual post-rollout authenticated provider-backed outcomes readback +is separate from installed ten synthetic purpose forms (2allow/8refuse). +Completed source-only assessment supports T04 done, T05 todo and WP0009 active. +Original failed copy and verifier UNCERTAIN remain preserved, with no replay or +helper amendment. Created unpromoted INFD-IN-0010 for future verifier omission +handling correction; no implementation, native action or authority grant. +This work-record preparation precedes the formal actual-outcome review entry. +Review: docs/reviews/2026-10-11-purpose-native-outcome-product-owner-acceptance.md. +Evidence: docs/evidence/2026-10-11-purpose-native-acceptance/. + + +## Independently review bounded zlib-only T05 source candidate + +```task +id: INFD-WP-ADHOC-2026-10-11-T08 +status: done +priority: medium +``` + +Completed informed-decision Product source review of exact27-path candidate +manifest8d345bb2bde3efce4d0cc99dfc2f883a64f79c42d2cd4abb288229a995e9ad66. +All staged/evidence hashes verify. Independently reread local saved base/candidate +image archives, effective runtime config, nine base layer prefix, two final file +changes and both full scan/SBOM artifacts. Only zlib1.3.2-r0 to r1 differs; +44 packages/base1MED to candidate0 at retained same scanner database. +Signed APK/index named key matches unchanged base trust metadata; enforced +apk verify against existing keys retained, no allow-untrusted or truststore override. +Four existing source tests pass (eight refusal mutations), plus five independent +appfile/trustkeys/world/network/provider metadata mutations refuse. +Purpose/backend checks remain local and synthetic, not actual PDP or data proof. +Technical source preparation agreement only: local image78bfdcc is unpublished, +T05 remains progress/WP0009 active; CI exact published provenance/scan/SBOM and +new native founder approval/installed proof are still required. Current763/native +DB/config/PVC/identity/approved R2 helper and journal remain unchanged; INFD-IN-0010 +is unpromoted/unimplemented. No native actions, credentials or owner source writes. +This completed work record is prepared before the formal review entry. +Review: docs/reviews/2026-10-11-zlib-candidate-product-owner-review.md. +Evidence: docs/evidence/2026-10-11-zlib-candidate-product-review/. + + +**Exact amended confirmation, same completed T08 preparation trial:** verified +final58-path candidate manifest64509029b3de6d33e3675587663ccdae027d9ea18aba83750892480766dd03b8 +and immutable archived initial27 hashes. Only artifact-audit source/receipts/docs +change; recipe/workflow/four build inputs/image78bfdcc/config625d/runtime/scan/DB +remain identical. New3 artifact tests pass (optimized malformed input refused +before reads; matching directories pass; directory mode/UID/GID drift refuse). +Independent actual saved-image reread proves all directory metadata unchanged, +with the same two final file changes. Initial Product manifest5f334/ack/validation +are retained as historical source agreement, not new scored native success. +This work-record refinement precedes final formal acknowledgment. No publication, +native operation, credentials or owner edits. T05progress/WP0009active remains. +Confirmation: docs/reviews/2026-10-11-zlib-candidate-product-owner-final-ack.md. diff --git a/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/negative-probe-receipt.json b/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/negative-probe-receipt.json new file mode 100644 index 0000000..dd4bb80 --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/negative-probe-receipt.json @@ -0,0 +1,24 @@ +[ + { + "marker": "usr/.wh..wh..opq", + "same_layer_new": "usr/new", + "actual_names": [ + "usr" + ], + "same_layer_new_preserved": false + }, + { + "marker": ".wh..wh..opq", + "same_layer_new": "new", + "actual_names": [], + "same_layer_new_preserved": false + }, + { + "marker": "usr/.wh.child", + "same_layer_new": "usr/child/new", + "actual_names": [ + "usr" + ], + "same_layer_new_preserved": false + } +] diff --git a/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/probe_same_layer_whiteout.py b/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/probe_same_layer_whiteout.py new file mode 100644 index 0000000..80d2197 --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/probe_same_layer_whiteout.py @@ -0,0 +1,23 @@ +import ast,tarfile,io,json,hashlib,tempfile +from pathlib import Path +P=Path(__file__).parent +ns={'Path':Path,'tarfile':tarfile,'json':json,'hashlib':hashlib};tree=ast.parse((P/'frozen66-verify_local_artifacts.py').read_text());fn=next(x for x in tree.body if isinstance(x,ast.FunctionDef) and x.name=='image');exec(compile(ast.Module(body=[fn],type_ignores=[]),'reader','exec'),ns) +def add(t,name,data): + m=tarfile.TarInfo(name);m.mode=0o755 + if data is None:m.type=tarfile.DIRTYPE;t.addfile(m) + else:m.size=len(data);t.addfile(m,io.BytesIO(data)) +def layer(entries): + b=io.BytesIO() + with tarfile.open(fileobj=b,mode='w') as t: + for name,data in entries:add(t,name,data) + return b.getvalue() +results=[] +for marker,new in [('usr/.wh..wh..opq','usr/new'),('.wh..wh..opq','new'),('usr/.wh.child','usr/child/new')]: + base=layer([('usr',None),('usr/child',None),('usr/child/old',b'old')]);over=layer([(new,b'new'),(marker,b'')]) + with tempfile.TemporaryDirectory() as tmp: + path=Path(tmp)/'image.tar' + with tarfile.open(path,'w') as t: + add(t,'manifest.json',json.dumps([{'Config':'config.json','Layers':['base.tar','over.tar']}]).encode());add(t,'config.json',json.dumps({'config':{},'rootfs':{'diff_ids':['base','over']}}).encode());add(t,'base.tar',base);add(t,'over.tar',over) + _,_,files=ns['image'](path);results.append(dict(marker=marker,same_layer_new=new,actual_names=sorted(files),same_layer_new_preserved=new in files)) +print(json.dumps(results,indent=2)) +assert all(not r['same_layer_new_preserved'] for r in results),'finding no longer reproduced' diff --git a/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/reviews/2026-10-11-zlib-candidate-product-owner-final-ack.md b/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/reviews/2026-10-11-zlib-candidate-product-owner-final-ack.md new file mode 100644 index 0000000..c100415 --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/reviews/2026-10-11-zlib-candidate-product-owner-final-ack.md @@ -0,0 +1,55 @@ +# Exact amended zlib candidate Product confirmation + +```yaml +reviewer: informed-decision-owner (agent informed-decision, codex) +decision: approved +work_item: INFD-WP-ADHOC-2026-10-11-T08 +scope: exact amended local T05 source candidate preparation only +manifest_sha256: 64509029b3de6d33e3675587663ccdae027d9ea18aba83750892480766dd03b8 +comment: >- + Same completed T08 preparation trial: work-record refinement was prepared + before this formal exact acknowledgment. Initial Product agreement/manifest + 5f334 remains historical, including its bounded audit validation. This final + confirmation covers the guard refinement, not publication/native approval, + a second scored success or T05 completion. +``` + +All58 final staged hashes verify; all27 initial candidate snapshots match +immutable manifest8d345bb2. Actual initial-to-current diff changes only four +existing paths: artifact checker, its comparison and local-validation receipts, +and README. New audit tests/refinement record and original source archive are +additions. No Containerfile/workflow, signed APK/index/pins/four-file context, +package/runtime/backend/app/identity/policy artifact, scan/SBOM/DB or WP source +scope changed. Local daemon78bfdcc/config625d remain unpublished; source recipe +contextc554 and actual retained DB03cacb remain exact. Original four-source-test +and Product five negative-probe findings remain applicable, not needlessly rerun. + +The artifact checker now refuses optimized Python before any archive/JSON read, +so assertions cannot silently disappear. Directory mode/UID/GID metadata is +included in final layer reconstruction and diff enforcement. Three new source +tests pass: malformed archive under -O refuses explicitly before reads; identical +directory metadata passes; each mode/UID/GID mutation refuses without a report. +These fixtures are isolated synthetic source tests. Independent reread of actual +existing local saved-image archives confirms equal directory counts and no +directory metadata delta; the same two final changed files are libz and APK DB, +nine base layers remain prefix and effective runtime config/SBOM/scan match. +No new image build, container launch, scan, customer/native data or provider call +was performed by this review. + +Initial Product review and validation retain their exact bytes under +`docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/`; +original current review file remains the initial agreement, with this separate +final acknowledgment carrying the refinement. Signature trust conclusions stay +bounded to pinned signed artifacts/unchanged trust metadata, actual retained +maker apk verify and enforced recipe; this acknowledgment does not claim fresh +cryptographic execution. Zero findings remains specific to retained sameDB scan, +not an estate risk grade or future safety assurance. + +T05 remains progress, WP0009 active and manual follow-up due2026-10-18. Root +source review/commit and admitted owner CI candidate publication, exact actual +published registry provenance/package/full scan/SBOM, separate fresh native +founder release acceptance and installedr1/runtime/full-rescan proof remain +required. Existing approved R2 helper/journal, native image763, DB/config/PVC/ +identity and T04/c96 outcome are unchanged. INFD-IN-0010 remains unpromoted and +unimplemented. This technical acknowledgment grants no native action, human +acceptance, credential capability or publication execution. diff --git a/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/reviews/2026-10-11-zlib-candidate-product-owner-review.md b/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/reviews/2026-10-11-zlib-candidate-product-owner-review.md new file mode 100644 index 0000000..461d4d1 --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/reviews/2026-10-11-zlib-candidate-product-owner-review.md @@ -0,0 +1,74 @@ +# Bounded zlib candidate Product owner review + +```yaml +reviewer: informed-decision-owner (agent informed-decision, codex) +decision: approved +work_item: INFD-WP-ADHOC-2026-10-11-T08 +scope: exact local zlib-only source candidate technical preparation +manifest_sha256: 8d345bb2bde3efce4d0cc99dfc2f883a64f79c42d2cd4abb288229a995e9ad66 +comment: >- + Informed-decision intent requires human binding and preserved evidence; this + candidate changes only a native compression dependency while preserving + application authorization/presentation behavior. T08 review work record was + completed first. This is technical source agreement, not native go, publication + receipt, founder acceptance or T05 completion. +``` + +All27 staged hashes and retained evidence-file hashes independently verify. +Independent saved-image archive readback confirms all nine exact763 base diff_ids +as prefix, equal effective runtime configuration with only explicitly normalized +empty/false/null defaults, and final filesystem changes exactly +`usr/lib/libz.so.1.3.2` and `lib/apk/db/installed`. Modes/owners remain equivalent. +Application36 files, policy9d7, trust keys, APK world, Python dependencies, OpenSSL +and UID/GID10001 remain equal. Root build identity returns to10001:10001. +No service values, namespace, DB, customer data, config, PVC, schema, audience, +policy pins, protected helper or existing release journal is changed. + +Package/index bytes match pinned official HTTPS download hashes. Both signed +archives name alpine-devel@lists.alpinelinux.org-6165ee59.rsa.pub, already present +in unchanged baseline trust metadata. Retained actual maker apk verify success +against exact763 installed keys is the execution evidence; this review separately +checks archive signatures' metadata, bytes and trust identity, without claiming +a new signature-verification execution. Containerfile requires digest checks and +`apk verify` success before offline named-package upgrade; no allow-untrusted or +keys-dir override. Existing trusted keys are not replaced. +[Official apk verify documentation](https://github.com/alpinelinux/apk-tools/blob/master/doc/apk-verify.8.scd) +defines integrity/signature checking and nonzero failure. +Upgrade selects only zlib from retained local signed index, disables network, +preupgrade and logging, and removes temporary public artifacts. + +Both full CycloneDX/Trivy artifacts independently show44 packages and only +zlib1.3.2-r0 to1.3.2-r1 version delta. Full baseline has one MEDIUM +CVE-2026-85091; candidate has zero findings at the retained same database +03cacb40452ceb74afdfca072cb82f79ee884dfac006ef24a4dfdad133b0f917. +No severity suppression is inferred or permitted. Alpine3.24 EOL-list warning +and actual38 OS/6 Python detector coverage remain disclosed. This is bounded +scan improvement at that snapshot, not estate risk grading or future safety. +Local daemon image78bfdcc and saved OCI config625d are distinct disclosed +representations; neither is a published registry digest or native image proof. + +Four existing source tests pass, covering eight mutations; five additional Product +mutations of app source, trust keys, APK world, network and provider/data flags +refuse. Independent archive/SBOM/scan readback agrees with maker artifact receipt. +Retained four compression vectors/three malformed refusals/crypto/JWT/waitress +and ten installed purpose variants are local synthetic checks, not live PDP +or customer/native-data testing. No new container or native execution by reviewer. + +Workflow publishes only a source-bound candidate through existing admitted owner +registry capability after root source review/commit: exact40hex source revision, +fixed owner archive, four input hashes/contextc554, exact763 base, no-network +bounded build, unchanged runtime comparison and purpose checks before push. +It has no kubectl, Argo, DB/admin, namespace or runtime deployment action. +The workflow is unexecuted; source review does not attest CI credentials, actual +publication or published artifact equivalence. Root must retain actual CI/source +revision and registry descriptor/layer/config/package/signature/context readback, +then full published scan/SBOM and scoped candidate release preparation. Only +distinct exact informed-decision founder native approval followed by installedr1, +runtime/purpose and full-rescan proof can close T05. Future image-only rollback +to763 preserves latest DB; no historical snapshot restore. + +T05 remains progress, WP0009 active, manual follow-up due2026-10-18; no automatic +controller is implied. T04/c96 accepted outcome and original uncertain journals +remain historical and immutable. INFD-IN-0010 is unchanged and unpromoted. +No new native authority, owner checkout write, credential/login, deployment or +customer-data access occurred in this review. diff --git a/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/reviews/2026-10-11-zlib-candidate-product-whiteout-review.md b/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/reviews/2026-10-11-zlib-candidate-product-whiteout-review.md new file mode 100644 index 0000000..bad854b --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/docs/reviews/2026-10-11-zlib-candidate-product-whiteout-review.md @@ -0,0 +1,37 @@ +# Exact66 zlib audit whiteout Product finding + +```yaml +reviewer: informed-decision-owner (agent informed-decision, codex) +decision: changes_requested +work_item: INFD-WP-ADHOC-2026-10-11-T08 +scope: exact66 local candidate artifact-audit source refinement +manifest_sha256: 3e41ab391cda26f09a556fecef8a17c2759ef2899e43eb136b25ef4b3fde23a0 +comment: >- + Same completed T08; work record prepared before this formal finding. + No actual candidate-image failure or new scored/native trial. Preserve + initial5f334 and intermediate8bc6 acknowledgments as historical. +``` + +All66 staged hashes independently verify. Whiteout leading-dot and root opaque +handling corrections address the prior cases, but remaining stream-order behavior +violates the lower-layer boundary. A synthetic parent layer contains usr/child/old; +next layer writes a new file before its whiteout marker. Three retained isolated +probes reproduce incorrect deletion: usr/new then usr/.wh..wh..opq, root new then +.wh..wh..opq, and usr/child/new then usr/.wh.child. Actual parsed sets lose the +same-layer new file in every case. Frozen checker/manifest and reproducible +probe/receipt are retained under docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/. + +[OCI layer specification](https://github.com/opencontainers/image-spec/blob/main/layer.md) +requires whiteouts to affect only parent layers and opacity to precede new entries +regardless archive ordering. Correct reconstruction should apply whiteouts to +the prior layer state and then merge current layer additions, preserving both +marker-before and marker-after order semantics. Add meaningful root/nested opaque +and explicit-directory removal cases with same-layer children/replacements. +The existing four no-new-sibling cases cannot establish this boundary. + +This finding is confined to audit-source semantics, not APK trust or actual image +contents/build/scan. Current actual candidate image/context/package/workflow/ +runtime and scanner evidence remain unchanged; no native/read-only command or +customer/DB/credential access occurred. T05 remains progress/WP0009 active; +publication and distinct founder native release/installed proof remain pending. +A corrected exact frozen packet needs final technical confirmation. diff --git a/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/workplans/ADHOC-2026-10-11.md b/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/workplans/ADHOC-2026-10-11.md new file mode 100644 index 0000000..1e6f0bf --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/owner-snapshot/workplans/ADHOC-2026-10-11.md @@ -0,0 +1,288 @@ +--- +id: INFD-WP-ADHOC-2026-10-11 +type: workplan +title: "Application-owner catalogue facts review" +domain: infotech +repo: informed-decision +status: finished +owner: codex +topic_slug: netkingdom +created: "2026-10-11" +updated: "2026-10-11" +flavor: planning +state_hub_workstream_id: "4594d714-a6ec-5ab6-ad44-4227a27fc7be" +--- + +## Review exact one-application catalogue facts + +```task +id: INFD-WP-ADHOC-2026-10-11-T01 +status: done +priority: medium +state_hub_task_id: "cfe1ec8c-c635-5f23-847c-bf8296965305" +``` + +Completed informed-decision application-owner source review under INTENT.md +Purpose, What informed-decision Owns/Does Not Own, Design Principles 9-10, +and Layer Placement. Read actual owner OIDC, requester and policy-request +code, governing Staff/PEP-shaped declaration, User Engine model, and existing +value-free native registration/Ingress/preflight receipts. Exact canonical +facts agree. Browser client is distinct from create-only requester. + +Review entry: docs/reviews/2026-10-11-one-app-catalogue-facts-review.md. +Canonical facts SHA-256: +`ae6fde5f2c879e75fabb53e132261899dae0f4d864e18dd425bc272be713426b`. +Reviewed refined nine-file executor manifest SHA-256: +`0ff545d26a0fd72f06040fe377de3efdcc3bd62cdcb6f653247c8ba72f3f34a7`. + +This task completes the application-facts source review only. It grants no +maintenance exception, native dry-run/apply/recovery, IAM permission, image +release or human disposition. Existing User Engine native acceptance work +remains with USER-WP-0026-T03 and USER-WP-0028-T02; no new residual work is +created by this bounded review. No tests were needed for this evidence-only +review; no native, credential or login action occurred. + +## Independently review purpose overlay release preparation + +```task +id: INFD-WP-ADHOC-2026-10-11-T02 +status: done +priority: medium +``` + +Completed same-role informed-decision-owner technical review of frozen36-path +purpose release manifest SHA-256 +`7c6738b39ea8e54e61c8ed625e94ad0b2755e672e1576efcdf84a1d665ac3300`. +All36 staged file hashes and exact source PolicyClient9d7 hash were verified. +Source candidates and captured candidate Deployment differ only in the image. +Actual raw base/candidate scans contain the same one fixable MEDIUM zlib finding; +T05 keeps its2026-10-18 follow-through. Actual published-image receipts and +sealed native read-only preflight support preparation, not native deployment. + +Independent owner negatives:50 passed in4.21s, covering10 advisory/malformed +binding forms across register, replay, publish, annotate and revise. Each +refusal preserves every domain table, records a truthful invalid-decision +observation and leaves the same idempotency key reusable after restoring a +canonical enforcement response. These are synthetic source tests only. +Test: tests/test_purpose_owner_mutation_negatives.py. +Receipt: docs/evidence/2026-10-11-purpose-image-release/product-owner-review-validation.json. +Review: docs/reviews/2026-10-11-purpose-release-product-owner-review.md. + +This bounded review grants no native backup/export/restore, image rollout, +credentials, login, human disposition or vulnerability acceptance. Existing +INFD-WP-0009-T04/T05 retain release/remediation obligations; no separate residual +is created or claimed completed. Catalogue ACK/T01 remains unchanged. + +## Confirm amended purpose release custody and preflight gates + +```task +id: INFD-WP-ADHOC-2026-10-11-T03 +status: done +priority: medium +``` + +Same informed-decision-owner reviewed amended78-path release manifest SHA-256 +`b1e3e66bc4023dc80c6ea59564c3557c7653fb3c307f46a049997b76198a9033`. +All78 file hashes verified, original36 archive retained, source PolicyClient9d7 +and both image-only source candidates unchanged. Prior50 source lifecycle +mutation/idempotency negatives remain applicable and were not repeated. + +Confirmed stdlib read-only schema5/integrity/count gate before ANY native or +restored Store/admin open, explicit local/remote optimized-interpreter refusal, +sealed actual ConfigMap/PVC identity/data/custody and frozen offline clone count +equality distinguished from legitimate concurrent live commits. Revised20-doc +184912-byte packet and01:39 read-only dry-run receipts remain preparation. +Native schema gate, backup/export/restore/release and founder disposition remain +unperformed; T04/T05 obligations and temporary vulnerability review persist. + +Confirmation: docs/reviews/2026-10-11-purpose-release-amended-product-owner-review.md. +Prior T01 catalogue ACK including hub identifiers and T02 initial36 review/test/ +receipt remain unchanged. No new residual or authority is created by this review. + +## Reconcile Staff evidence source declaration and current guarantees + +```task +id: INFD-WP-ADHOC-2026-10-11-T04 +status: done +priority: medium +``` + +Reviewed accepted bounded GH-DEC-2026-025 handoff against actual source +class definitions, transactional recording, heartbeat/reconciliation scheduling, +existing component-test assertions and native count/receipt evidence. Reconciled +stale outbox/AUDIT-WP-0009 blockers without promoting owed guarantees or reopening +finished INFD-WP-0005/0007. INFD-IN-0007 retains doctrine response and pending +NET-IN-0004 standard voice. INFD-IN-0009 is the one live, unpromoted residual +source intake for remaining class-specific declaration/verification gaps, +origin INFD-WP-0007. No residual implementation or native action occurred. + +Source evidence reconciliation: +docs/evidence/2026-10-11-staff-evidence-source-reconciliation.md. +Formal source review: +docs/reviews/2026-10-11-staff-evidence-source-owner-review.md. +Existing Staff/PEP-shaped classification, three load-bearing class classifications, +compromised-source and commitment/content availability limits remain unchanged. + +## Independently review supervised purpose actuator product boundaries + +```task +id: INFD-WP-ADHOC-2026-10-11-T05 +status: done +priority: medium +``` + +Same informed-decision-owner reviewed exact23-path helper manifest +`f2fad6c251fbb4420e07c1329802f521b513bbf66e51f64c5d673ef04f16284c`, +all staged hashes and embedded source bundle/plan. Product evidence/schema5, +private snapshot custody, confined offline UID0 initialization followed by +UID10001 pre/post-admin verification, independent failed-candidate rollback +and all-phase start deadline are technically agreed as source preparation. + +No purpose-policy or candidate image change. Retained helper16 synthetic tests +and platform5 independent recovery negatives are mechanism proof; prior50 +product policy negatives remain applicable. No new test run was needed for this +unchanged-source review. Native-provider acceptance remains distinct from the +installed10 synthetic purpose forms; T04 is not complete. Before first human +post, amend exact20-document packet to hash-bind helper/plan, four render inputs, +initializer/recovery/deadline refinements and preserved full scan provenance. +Exact combined packet acknowledgement remains a separate review gate. + +Review: docs/reviews/2026-10-11-purpose-actuator-product-owner-review.md. +No native reads/backups/export/restore/release, credentials, human disposition, +founder approval or phase authority was exercised by this review. + +## Prepare separately gated provider-derived denial mechanism probe + +```task +id: INFD-WP-ADHOC-2026-10-11-T06 +status: done +priority: medium +``` + +Prepared source-only readonly lifecycle.search provider-derived mechanism probe +with truthful informed-decision/review SERVICE and no human/StateHub attributes. +Actual lifecyclev2 permits only StateHub workload or admitted AAL2 humans, so a +canonical real DENY is required; no claims are invented to obtain ALLOW. +One actual provider response will remain in Pod memory; ten transformed +noncanonical purpose copies test installed consumer refusal without further +provider calls, DB/admin or act effects. This is a denial/binding mechanism +proof candidate, not actual authorized lifecycle or full T04 acceptance. + +Source: docs/evidence/2026-10-11-purpose-provider-probe/. +Ten synthetic source tests pass; no actual provider, credential, runtime config, +DB, native data or live action was accessed. Posted frozen112 packet/helper +remain unchanged. Exact separate founder go for this newly prepared probe and +its target must precede any execution; current memo has no acceptance and this +new helper is not hash-bound in that submitted packet. T04 remains progress. + +## Review exact existing-snapshot rescue version2 preparation + +```task +id: INFD-WP-ADHOC-2026-10-11-T07 +status: done +priority: medium +``` + +Reviewed exact66-path rescue manifest0867e27a6754dddff3eedbb333ab4ca4faa98ee31d383ebe940b8e054c6cabf7 +under the same informed-decision-owner role. Actual original backupCOMPLETE/copy +UNCERTAIN are retained; new rescue journal/phase and sourceversion2/newreviewown1 +require fresh founder acceptance. Immutable reads are bounded to proven frozen +closed snapshots; live/offline writable-clone reads remain WAL-aware/explicitclose. +Independent existing26 mocked tests plus41 subtests pass, and10 new product scope +guards pass (including eight refusal mutations and a frozen initial packet check). +No native command, DB open, credentials or rescue operation occurred. + +Initial review decision changes_requested: proposal.json misleadingly names old +f2fad helper manifest as execution_helper_manifest_sha256 after helper bytes changed; +label it original/historical and refreeze all dependent packet hashes. Correct +current bundle/plan digests already exist. The normalized test fixture is not an +owner edit or approval. Initial review/failure must remain after correction; +exact amended confirmation is still required before newhuman submission/execution. + +Review: docs/reviews/2026-10-11-purpose-rescue-product-owner-review.md. +Evidence/checks: docs/evidence/2026-10-11-purpose-rescue-product-review/. +T04 remains progress; original version1 approval is not newversion2 authority. + +**Amended source confirmation, same T07 trial:** exact134-path manifest +`d05d6e3b15df9acf1d7aef0ba2ec82a5a00d979ab1f324e981025cffe2cc753d` +corrects only the historical helper provenance label and dependent packet hashes; +original66 source and initial changes-requested review remain retained. Current +helper code/bundle49c9/plan9ce5 are unchanged. Strict typed sourceversion2/CAS1 +and20documents validate:173469packetbytes/240451revisionbytes. Eight scope +mutations and three packet mutations independently refuse. Final technical +source acknowledgement approved; no new human acceptance or native rescue. +Confirmation: docs/reviews/2026-10-11-purpose-rescue-product-owner-final-ack.md. + + +**Actual-outcome assessment preparation, same completed T07 trial:** independently +verified original receipt-byte hashes and source consumer path after approved +source c96b0c6 release. Offline schema5/admin/post counts match; fresh cutover +backup/private copy matches live post-release counts16/56/0, delivered336, +confirmed43. Independent image/module/config/PVC/controlled Pod and UID/GID10001 +checks pass. Actual post-rollout authenticated provider-backed outcomes readback +is separate from installed ten synthetic purpose forms (2allow/8refuse). +Completed source-only assessment supports T04 done, T05 todo and WP0009 active. +Original failed copy and verifier UNCERTAIN remain preserved, with no replay or +helper amendment. Created unpromoted INFD-IN-0010 for future verifier omission +handling correction; no implementation, native action or authority grant. +This work-record preparation precedes the formal actual-outcome review entry. +Review: docs/reviews/2026-10-11-purpose-native-outcome-product-owner-acceptance.md. +Evidence: docs/evidence/2026-10-11-purpose-native-acceptance/. + + +## Independently review bounded zlib-only T05 source candidate + +```task +id: INFD-WP-ADHOC-2026-10-11-T08 +status: done +priority: medium +``` + +Completed informed-decision Product source review of exact27-path candidate +manifest8d345bb2bde3efce4d0cc99dfc2f883a64f79c42d2cd4abb288229a995e9ad66. +All staged/evidence hashes verify. Independently reread local saved base/candidate +image archives, effective runtime config, nine base layer prefix, two final file +changes and both full scan/SBOM artifacts. Only zlib1.3.2-r0 to r1 differs; +44 packages/base1MED to candidate0 at retained same scanner database. +Signed APK/index named key matches unchanged base trust metadata; enforced +apk verify against existing keys retained, no allow-untrusted or truststore override. +Four existing source tests pass (eight refusal mutations), plus five independent +appfile/trustkeys/world/network/provider metadata mutations refuse. +Purpose/backend checks remain local and synthetic, not actual PDP or data proof. +Technical source preparation agreement only: local image78bfdcc is unpublished, +T05 remains progress/WP0009 active; CI exact published provenance/scan/SBOM and +new native founder approval/installed proof are still required. Current763/native +DB/config/PVC/identity/approved R2 helper and journal remain unchanged; INFD-IN-0010 +is unpromoted/unimplemented. No native actions, credentials or owner source writes. +This completed work record is prepared before the formal review entry. +Review: docs/reviews/2026-10-11-zlib-candidate-product-owner-review.md. +Evidence: docs/evidence/2026-10-11-zlib-candidate-product-review/. + + +**Exact amended confirmation, same completed T08 preparation trial:** verified +final58-path candidate manifest64509029b3de6d33e3675587663ccdae027d9ea18aba83750892480766dd03b8 +and immutable archived initial27 hashes. Only artifact-audit source/receipts/docs +change; recipe/workflow/four build inputs/image78bfdcc/config625d/runtime/scan/DB +remain identical. New3 artifact tests pass (optimized malformed input refused +before reads; matching directories pass; directory mode/UID/GID drift refuse). +Independent actual saved-image reread proves all directory metadata unchanged, +with the same two final file changes. Initial Product manifest5f334/ack/validation +are retained as historical source agreement, not new scored native success. +This work-record refinement precedes final formal acknowledgment. No publication, +native operation, credentials or owner edits. T05progress/WP0009active remains. +Confirmation: docs/reviews/2026-10-11-zlib-candidate-product-owner-final-ack.md. + + +**Exact66 whiteout follow-through, same completed T08 preparation:** independently +verified manifest3e41ab391cda26f09a556fecef8a17c2759ef2899e43eb136b25ef4b3fde23a0 +and all66 hashes. New source correction preserves leading whiteout dots/root +parent handling, but three Product synthetic probes find same-layer new files +incorrectly removed by subsequent nested/root opaque or explicit descendant +whiteouts. OCI requires whiteouts affect only lower layers and preserve same-layer +additions regardless archive order. Completed source assessment changes_requested +before formal entry: apply whiteouts only previous layers then merge current +layer additions, with both archive orders covered. No actual candidate failure +or image/sourcecontext/scan change is inferred. Initial5f334 and intermediate +8bc6 reviews/evidence remain historical, not rewritten; same T08/no new trial. +No owner edits, native operation, publication or credentials. +Review: docs/reviews/2026-10-11-zlib-candidate-product-whiteout-review.md. diff --git a/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/check_final74.py b/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/check_final74.py new file mode 100644 index 0000000..2c3e23b --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/check_final74.py @@ -0,0 +1,23 @@ +from pathlib import Path +import json,hashlib,subprocess +S=Path('/tmp/infd-zlib-candidate-stage/informed-decision');P=S/'docs/evidence/2026-10-11-zlib-remediation-candidate';O=Path('/tmp/infd-zlib-product-complete-ack-stage');H=lambda b:hashlib.sha256(b).hexdigest() +m=Path('/tmp/infd-zlib-candidate-stage/manifest.json');assert H(m.read_bytes())=='724aa4777eb1c8976d868e5f504473f4b6d58f13d750d87aefa5c8d5ca0747ec';entries=json.loads(m.read_text());assert len(entries)==74 +for e in entries:assert H(Path(e['staged_path']).read_bytes())==e['staged_sha256'] +old=Path('/tmp/infd-zlib-product-whiteout-review-stage/frozen66-candidate-manifest.json');oldentries=json.loads(old.read_text());changed=[] +for e in oldentries: + p=S/e['path'];assert p.exists() + if H(p.read_bytes())!=e['staged_sha256']:changed.append(e['path']) +assert all(p.startswith('docs/evidence/2026-10-11-zlib-remediation-candidate/') for p in changed) +initial=P/'initial-8d345bb2/owner-snapshot';a=json.loads((initial/'docs/evidence/2026-10-11-zlib-remediation-candidate/local-candidate-verification.json').read_text());b=json.loads((P/'local-candidate-verification.json').read_text()) +for k in ['candidate_docker_daemon_image_id','candidate_saved_oci_config_digest','source_context_sha256','build_inputs','scanner_db_sha256','baseline_full_scan_findings','candidate_full_scan_allseverity_findings']:assert a[k]==b[k] +(O/'frozen74-verify_local_artifacts.py').write_bytes((P/'verify_local_artifacts.py').read_bytes()) +code=Path('/tmp/infd-zlib-product-whiteout-review-stage/probe_same_layer_whiteout.py').read_text().replace('frozen66-verify_local_artifacts.py','frozen74-verify_local_artifacts.py').replace("all(not r['same_layer_new_preserved'] for r in results),'finding no longer reproduced'","all(r['same_layer_new_preserved'] for r in results),'same-layer addition lost'") +(O/'probe_corrected_same_layer_whiteout.py').write_text(code) +r=subprocess.run(['python3',str(O/'probe_corrected_same_layer_whiteout.py')],capture_output=True,text=True);assert r.returncode==0,r.stderr;(O/'corrected-probe-receipt.json').write_text(r.stdout) +code=(P/'verify_local_artifacts.py').read_text().replace("(root/'artifact-comparison.json').write_text", "(Path('/tmp/infd-zlib-product-complete-ack-stage')/'independent-final-artifact-comparison.json').write_text") +exec(compile(code,'product-final74-readback','exec'),{}) +proof=json.loads((O/'independent-final-artifact-comparison.json').read_text());official=json.loads((P/'artifact-comparison.json').read_text()) +for k in ['final_changed_files','directory_count_base','directory_count_candidate','directory_metadata_delta','base_layers_preserved','sbom_only_delta']:assert proof[k]==official[k] +assert set(proof['final_changed_files'])=={'usr/lib/libz.so.1.3.2','lib/apk/db/installed'} and not proof['directory_metadata_delta'] +(O/'validation.json').write_text(json.dumps(dict(exact_manifest_sha256=H(m.read_bytes()),all74_hashes_verified=True,changed_from66=changed,source_recipe_workflow_context_image_scan_unchanged=True,new_audit_tests_passed=5,whiteout_semantic_cases=12,additional_product_original_counterexamples_now_preserved=3,actual_saved_archive_reaudit_pass=True,directory_count_base=proof['directory_count_base'],directory_count_candidate=proof['directory_count_candidate'],directory_metadata_delta={},sameT08=True,native_actions=False,publication=False),indent=2)+'\n') +print('Exact74 and all original Product counterexamples now pass; existing actual image re-audit passes.') diff --git a/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/corrected-probe-receipt.json b/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/corrected-probe-receipt.json new file mode 100644 index 0000000..9242852 --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/corrected-probe-receipt.json @@ -0,0 +1,28 @@ +[ + { + "marker": "usr/.wh..wh..opq", + "same_layer_new": "usr/new", + "actual_names": [ + "usr", + "usr/new" + ], + "same_layer_new_preserved": true + }, + { + "marker": ".wh..wh..opq", + "same_layer_new": "new", + "actual_names": [ + "new" + ], + "same_layer_new_preserved": true + }, + { + "marker": "usr/.wh.child", + "same_layer_new": "usr/child/new", + "actual_names": [ + "usr", + "usr/child/new" + ], + "same_layer_new_preserved": true + } +] diff --git a/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/frozen74-verify_local_artifacts.py b/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/frozen74-verify_local_artifacts.py new file mode 100644 index 0000000..76e9bca --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/frozen74-verify_local_artifacts.py @@ -0,0 +1,56 @@ +from pathlib import Path +import hashlib,io,json,tarfile,sys +if sys.flags.optimize: + raise SystemExit("REFUSED: optimized Python disables required artifact validation") +root=Path(sys.argv[1]) if len(sys.argv)==2 else Path('/tmp/infd-zlib-remediation-build') +def image(path): + with tarfile.open(path) as archive: + manifest=json.load(archive.extractfile('manifest.json'));assert len(manifest)==1 + configbytes=archive.extractfile(manifest[0]['Config']).read();config=json.loads(configbytes) + files={} + for name in manifest[0]['Layers']: + additions={};removed=[];opaque=[] + with tarfile.open(fileobj=archive.extractfile(name),mode='r|*') as layer: + for member in layer: + path=member.name + while path.startswith('./'):path=path[2:] + path=path.lstrip('/');p=Path(path) + if p.name=='.wh..wh..opq': + parent=p.parent.as_posix();opaque.append('' if parent=='.' else parent+'/');continue + if p.name.startswith('.wh.'): + removed.append((p.parent/p.name[4:]).as_posix());continue + if member.isfile(): + data=layer.extractfile(member).read();value=('file',member.mode,member.uid,member.gid,hashlib.sha256(data).hexdigest()) + elif member.isdir():value=('directory',member.mode,member.uid,member.gid,None) + elif member.issym() or member.islnk():value=('link',member.mode,member.uid,member.gid,member.linkname) + else:continue + additions[path]=value + # OCI whiteouts mask lower-layer entries only; same-layer additions survive + # independently of where the marker appeared in the layer tar stream. + files={key:value for key,value in files.items() if not any(key.startswith(prefix) for prefix in opaque) and not any(key==target or key.startswith(target+'/') for target in removed)} + files.update(additions) + return config,hashlib.sha256(configbytes).hexdigest(),files +base,baseid,bfiles=image(root/'base-image.tar');candidate,candidateid,cfiles=image(root/'image.tar') +assert candidate['rootfs']['diff_ids'][:-2]==base['rootfs']['diff_ids'] +changed={name:{'before':bfiles.get(name),'after':cfiles.get(name)} for name in sorted(set(bfiles)|set(cfiles)) if bfiles.get(name)!=cfiles.get(name)} +expected={'usr/lib/libz.so.1.3.2','lib/apk/db/installed'} +assert set(changed)<=expected,set(changed) +a,b=base['config'].copy(),candidate['config'].copy() +labels_a=a.pop('Labels',{});labels_b=b.pop('Labels',{}) +a.pop('Image',None);b.pop('Image',None) +defaults={'Hostname':'','Domainname':'','AttachStdin':False,'AttachStdout':False,'AttachStderr':False,'Tty':False,'OpenStdin':False,'StdinOnce':False,'Cmd':None,'Volumes':None,'OnBuild':None} +for key,value in defaults.items(): + a.setdefault(key,value);b.setdefault(key,value) +assert a==b,(a,b) +components=[] +for name in ['base-sbom.cdx.json','sbom.cdx.json']: + data=json.loads((root/name).read_text());components.append({c['name']:c['version'] for c in data['components'] if c.get('purl')}) +sbom_delta={name:[components[0].get(name),components[1].get(name)] for name in set(components[0])|set(components[1]) if components[0].get(name)!=components[1].get(name)} +assert sbom_delta=={'zlib':['1.3.2-r0','1.3.2-r1']},sbom_delta +vulns=[] +for name in ['base-trivy-full.json','trivy-full.json']: + data=json.loads((root/name).read_text());vulns.append([v for r in data.get('Results',[]) for v in r.get('Vulnerabilities',[])]) +assert len(vulns[0])==1 and vulns[0][0]['VulnerabilityID']=='CVE-2026-85091' and vulns[0][0]['Severity']=='MEDIUM' +assert not vulns[1] +proof={'base_image_config_id':'sha256:'+baseid,'candidate_local_image_config_id':'sha256:'+candidateid,'candidate_registry_digest':None,'base_layers_preserved':len(base['rootfs']['diff_ids']),'new_layers':2,'effective_runtime_config_identical':True,'raw_config_bytes_identical':False,'serialization_note':'Legacy base explicitly serialized empty/false/null defaults; candidate Docker-save config omits equivalent known defaults. Exact closed default normalization only; runtime fields unchanged.','labels_before':labels_a,'labels_after':labels_b,'final_changed_files':changed,'directory_metadata_compared':True,'directory_count_base':sum(v[0]=='directory' for v in bfiles.values()),'directory_count_candidate':sum(v[0]=='directory' for v in cfiles.values()),'directory_metadata_delta':{k:v for k,v in changed.items() if (v['before'] and v['before'][0]=='directory') or (v['after'] and v['after'][0]=='directory')},'sbom_package_count_base':len(components[0]),'sbom_package_count_candidate':len(components[1]),'sbom_only_delta':sbom_delta,'full_scan_baseline_findings':1,'full_scan_candidate_allseverity_findings':0,'db_snapshot_same':True,'native_workload_changed':False} +(root/'artifact-comparison.json').write_text(json.dumps(proof,indent=2)+'\n');print(json.dumps({key:proof[key] for key in ['candidate_local_image_config_id','base_layers_preserved','effective_runtime_config_identical','sbom_only_delta','full_scan_candidate_allseverity_findings']}));print(json.dumps(list(changed))) diff --git a/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/independent-final-artifact-comparison.json b/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/independent-final-artifact-comparison.json new file mode 100644 index 0000000..9d63407 --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/independent-final-artifact-comparison.json @@ -0,0 +1,73 @@ +{ + "base_image_config_id": "sha256:f34de21379c4f50ea0361ca1d8296c8e72f989499ad288016b81204997ae4779", + "candidate_local_image_config_id": "sha256:625d066416e901eaa2db5e18b96c37559b25dd91bdc3afb3d1ff5e916c7a8a3f", + "candidate_registry_digest": null, + "base_layers_preserved": 9, + "new_layers": 2, + "effective_runtime_config_identical": true, + "raw_config_bytes_identical": false, + "serialization_note": "Legacy base explicitly serialized empty/false/null defaults; candidate Docker-save config omits equivalent known defaults. Exact closed default normalization only; runtime fields unchanged.", + "labels_before": { + "org.opencontainers.image.base.digest": "sha256:7f5c6cb29c9f70a026bfe30e72934274ddc69261676cf6d476f81dd32812d173", + "org.opencontainers.image.revision": "3e4bcb26f8eeaa8c64345c565477b5ac8ccbb168", + "social.coulomb.release.scope": "INFD-WP-0009-T04/purpose-overlay-v1", + "social.coulomb.source.policy.sha256": "9d7c1be4cb6199d14ef0aaead5f85951f45b0ccbd7c800a7fde922a253566b62" + }, + "labels_after": { + "org.opencontainers.image.base.digest": "sha256:763c36402c8be7cc4c1bd1a61623d1aff9116d52241877425b45a7018cc0883a", + "org.opencontainers.image.revision": "uncommitted-T05-local-preparation", + "social.coulomb.release.scope": "INFD-WP-0009-T05/zlib-85091-r1", + "social.coulomb.source.context.sha256": "c554e62a84af340cba15d469a4568f6d0c40923e580b08ed7565e22702b1207d", + "social.coulomb.source.policy.sha256": "9d7c1be4cb6199d14ef0aaead5f85951f45b0ccbd7c800a7fde922a253566b62" + }, + "final_changed_files": { + "lib/apk/db/installed": { + "before": [ + "file", + 420, + 0, + 0, + "6383ea3806247e8dbf9ebee8cb30eb8eca63a8ea59662a793127d6a61b988d70" + ], + "after": [ + "file", + 420, + 0, + 0, + "f590762196710e25c0e9f72da0642cad8a5dcba0aa9e58a0cbaa65684d15c001" + ] + }, + "usr/lib/libz.so.1.3.2": { + "before": [ + "file", + 493, + 0, + 0, + "a1e2c03dcdedba98a06a00cadfb67a0e0b1cd93986860ec0c5ce66e789c44e57" + ], + "after": [ + "file", + 493, + 0, + 0, + "ecc8b9dfc45eb7fa29b410ffaca6257873890de53b80fe91735737b49067c5f2" + ] + } + }, + "directory_metadata_compared": true, + "directory_count_base": 313, + "directory_count_candidate": 313, + "directory_metadata_delta": {}, + "sbom_package_count_base": 44, + "sbom_package_count_candidate": 44, + "sbom_only_delta": { + "zlib": [ + "1.3.2-r0", + "1.3.2-r1" + ] + }, + "full_scan_baseline_findings": 1, + "full_scan_candidate_allseverity_findings": 0, + "db_snapshot_same": true, + "native_workload_changed": false +} diff --git a/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/probe_corrected_same_layer_whiteout.py b/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/probe_corrected_same_layer_whiteout.py new file mode 100644 index 0000000..e3f587f --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/probe_corrected_same_layer_whiteout.py @@ -0,0 +1,23 @@ +import ast,tarfile,io,json,hashlib,tempfile +from pathlib import Path +P=Path(__file__).parent +ns={'Path':Path,'tarfile':tarfile,'json':json,'hashlib':hashlib};tree=ast.parse((P/'frozen74-verify_local_artifacts.py').read_text());fn=next(x for x in tree.body if isinstance(x,ast.FunctionDef) and x.name=='image');exec(compile(ast.Module(body=[fn],type_ignores=[]),'reader','exec'),ns) +def add(t,name,data): + m=tarfile.TarInfo(name);m.mode=0o755 + if data is None:m.type=tarfile.DIRTYPE;t.addfile(m) + else:m.size=len(data);t.addfile(m,io.BytesIO(data)) +def layer(entries): + b=io.BytesIO() + with tarfile.open(fileobj=b,mode='w') as t: + for name,data in entries:add(t,name,data) + return b.getvalue() +results=[] +for marker,new in [('usr/.wh..wh..opq','usr/new'),('.wh..wh..opq','new'),('usr/.wh.child','usr/child/new')]: + base=layer([('usr',None),('usr/child',None),('usr/child/old',b'old')]);over=layer([(new,b'new'),(marker,b'')]) + with tempfile.TemporaryDirectory() as tmp: + path=Path(tmp)/'image.tar' + with tarfile.open(path,'w') as t: + add(t,'manifest.json',json.dumps([{'Config':'config.json','Layers':['base.tar','over.tar']}]).encode());add(t,'config.json',json.dumps({'config':{},'rootfs':{'diff_ids':['base','over']}}).encode());add(t,'base.tar',base);add(t,'over.tar',over) + _,_,files=ns['image'](path);results.append(dict(marker=marker,same_layer_new=new,actual_names=sorted(files),same_layer_new_preserved=new in files)) +print(json.dumps(results,indent=2)) +assert all(r['same_layer_new_preserved'] for r in results),'same-layer addition lost' diff --git a/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/validation.json b/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/validation.json new file mode 100644 index 0000000..1fd15a8 --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-candidate-product-complete-review/validation.json @@ -0,0 +1,22 @@ +{ + "exact_manifest_sha256": "724aa4777eb1c8976d868e5f504473f4b6d58f13d750d87aefa5c8d5ca0747ec", + "all74_hashes_verified": true, + "changed_from66": [ + "docs/evidence/2026-10-11-zlib-remediation-candidate/README.md", + "docs/evidence/2026-10-11-zlib-remediation-candidate/audit-refinement.json", + "docs/evidence/2026-10-11-zlib-remediation-candidate/local-candidate-verification.json", + "docs/evidence/2026-10-11-zlib-remediation-candidate/test_artifact_audit.py", + "docs/evidence/2026-10-11-zlib-remediation-candidate/verify_local_artifacts.py" + ], + "source_recipe_workflow_context_image_scan_unchanged": true, + "new_audit_tests_passed": 5, + "whiteout_semantic_cases": 12, + "additional_product_original_counterexamples_now_preserved": 3, + "actual_saved_archive_reaudit_pass": true, + "directory_count_base": 313, + "directory_count_candidate": 313, + "directory_metadata_delta": {}, + "sameT08": true, + "native_actions": false, + "publication": false +} diff --git a/docs/evidence/2026-10-11-zlib-candidate-product-final-review/check_amendment.py b/docs/evidence/2026-10-11-zlib-candidate-product-final-review/check_amendment.py new file mode 100644 index 0000000..8b6f589 --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-candidate-product-final-review/check_amendment.py @@ -0,0 +1,20 @@ +import pathlib,json,hashlib +S=pathlib.Path('/tmp/infd-zlib-candidate-stage/informed-decision');P=S/'docs/evidence/2026-10-11-zlib-remediation-candidate';O=pathlib.Path('/tmp/infd-zlib-product-final-review-stage');H=lambda b:hashlib.sha256(b).hexdigest() +m=pathlib.Path('/tmp/infd-zlib-candidate-stage/manifest.json');assert H(m.read_bytes())=='64509029b3de6d33e3675587663ccdae027d9ea18aba83750892480766dd03b8' +entries=json.loads(m.read_text());assert len(entries)==58 +for e in entries:assert H(pathlib.Path(e['staged_path']).read_bytes())==e['staged_sha256'] +oldm=P/'initial-8d345bb2/original-manifest.json';assert H(oldm.read_bytes())=='8d345bb2bde3efce4d0cc99dfc2f883a64f79c42d2cd4abb288229a995e9ad66' +old=json.loads(oldm.read_text());oldroot=P/'initial-8d345bb2/owner-snapshot';changed=[] +for e in old: + original=oldroot/e['path'];assert H(original.read_bytes())==e['staged_sha256'] + if H((S/e['path']).read_bytes())!=e['staged_sha256']:changed.append(e['path']) +assert set(changed)=={'docs/evidence/2026-10-11-zlib-remediation-candidate/'+n for n in ['README.md','artifact-comparison.json','local-candidate-verification.json','verify_local_artifacts.py']} +r=json.loads((P/'local-candidate-verification.json').read_text());oldr=json.loads((oldroot/'docs/evidence/2026-10-11-zlib-remediation-candidate/local-candidate-verification.json').read_text()) +for k in ['candidate_docker_daemon_image_id','candidate_saved_oci_config_digest','source_context_sha256','build_inputs','scanner_db_sha256','baseline_full_scan_findings','candidate_full_scan_allseverity_findings']:assert r[k]==oldr[k] +code=(P/'verify_local_artifacts.py').read_text().replace("(root/'artifact-comparison.json').write_text", "(Path('/tmp/infd-zlib-product-final-review-stage')/'independent-directory-artifact-comparison.json').write_text") +exec(compile(code,'product-amended-readback','exec'),{}) +a=json.loads((O/'independent-directory-artifact-comparison.json').read_text());b=json.loads((P/'artifact-comparison.json').read_text()) +for k in ['directory_metadata_compared','directory_count_base','directory_count_candidate','directory_metadata_delta','final_changed_files','base_layers_preserved']:assert a[k]==b[k] +assert a['directory_metadata_compared'] and not a['directory_metadata_delta'] +(O/'validation.json').write_text(json.dumps(dict(exact_manifest_sha256=H(m.read_bytes()),all58_hashes_verified=True,all27_initial_archived_hashes_verified=True,changed_initial_paths=changed,image_context_source_workflow_runtime_scan_unchanged=True,new_source_tests_passed=3,directory_negative_mutations=3,optimized_tampered_before_read_refusal=True,existing_actual_archives_directory_reaudit=True,directory_count_base=a['directory_count_base'],directory_count_candidate=a['directory_count_candidate'],directory_metadata_delta={},native_actions=False),indent=2)+'\n') +print('Exact amended source and directory metadata readback pass.') diff --git a/docs/evidence/2026-10-11-zlib-candidate-product-final-review/independent-directory-artifact-comparison.json b/docs/evidence/2026-10-11-zlib-candidate-product-final-review/independent-directory-artifact-comparison.json new file mode 100644 index 0000000..9d63407 --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-candidate-product-final-review/independent-directory-artifact-comparison.json @@ -0,0 +1,73 @@ +{ + "base_image_config_id": "sha256:f34de21379c4f50ea0361ca1d8296c8e72f989499ad288016b81204997ae4779", + "candidate_local_image_config_id": "sha256:625d066416e901eaa2db5e18b96c37559b25dd91bdc3afb3d1ff5e916c7a8a3f", + "candidate_registry_digest": null, + "base_layers_preserved": 9, + "new_layers": 2, + "effective_runtime_config_identical": true, + "raw_config_bytes_identical": false, + "serialization_note": "Legacy base explicitly serialized empty/false/null defaults; candidate Docker-save config omits equivalent known defaults. Exact closed default normalization only; runtime fields unchanged.", + "labels_before": { + "org.opencontainers.image.base.digest": "sha256:7f5c6cb29c9f70a026bfe30e72934274ddc69261676cf6d476f81dd32812d173", + "org.opencontainers.image.revision": "3e4bcb26f8eeaa8c64345c565477b5ac8ccbb168", + "social.coulomb.release.scope": "INFD-WP-0009-T04/purpose-overlay-v1", + "social.coulomb.source.policy.sha256": "9d7c1be4cb6199d14ef0aaead5f85951f45b0ccbd7c800a7fde922a253566b62" + }, + "labels_after": { + "org.opencontainers.image.base.digest": "sha256:763c36402c8be7cc4c1bd1a61623d1aff9116d52241877425b45a7018cc0883a", + "org.opencontainers.image.revision": "uncommitted-T05-local-preparation", + "social.coulomb.release.scope": "INFD-WP-0009-T05/zlib-85091-r1", + "social.coulomb.source.context.sha256": "c554e62a84af340cba15d469a4568f6d0c40923e580b08ed7565e22702b1207d", + "social.coulomb.source.policy.sha256": "9d7c1be4cb6199d14ef0aaead5f85951f45b0ccbd7c800a7fde922a253566b62" + }, + "final_changed_files": { + "lib/apk/db/installed": { + "before": [ + "file", + 420, + 0, + 0, + "6383ea3806247e8dbf9ebee8cb30eb8eca63a8ea59662a793127d6a61b988d70" + ], + "after": [ + "file", + 420, + 0, + 0, + "f590762196710e25c0e9f72da0642cad8a5dcba0aa9e58a0cbaa65684d15c001" + ] + }, + "usr/lib/libz.so.1.3.2": { + "before": [ + "file", + 493, + 0, + 0, + "a1e2c03dcdedba98a06a00cadfb67a0e0b1cd93986860ec0c5ce66e789c44e57" + ], + "after": [ + "file", + 493, + 0, + 0, + "ecc8b9dfc45eb7fa29b410ffaca6257873890de53b80fe91735737b49067c5f2" + ] + } + }, + "directory_metadata_compared": true, + "directory_count_base": 313, + "directory_count_candidate": 313, + "directory_metadata_delta": {}, + "sbom_package_count_base": 44, + "sbom_package_count_candidate": 44, + "sbom_only_delta": { + "zlib": [ + "1.3.2-r0", + "1.3.2-r1" + ] + }, + "full_scan_baseline_findings": 1, + "full_scan_candidate_allseverity_findings": 0, + "db_snapshot_same": true, + "native_workload_changed": false +} diff --git a/docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/original-manifest.json b/docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/original-manifest.json new file mode 100644 index 0000000..81b04ce --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/original-manifest.json @@ -0,0 +1,42 @@ +{ + "owner": "informed-decision", + "scope": "exact local T05 source candidate only; no native go/publication or task completion", + "candidate_manifest_sha256": "8d345bb2bde3efce4d0cc99dfc2f883a64f79c42d2cd4abb288229a995e9ad66", + "files": [ + { + "repo": "informed-decision", + "path": "workplans/ADHOC-2026-10-11.md", + "staged_path": "/tmp/infd-zlib-product-review-stage/owner/workplans/ADHOC-2026-10-11.md", + "original_sha256": "da3b3f73be7c026c6a8740d548dce64a8269d0e6a02e8c438f03b43c0e9091b8", + "staged_sha256": "6b8ae1bf0f8c775873bfa37f8988169e66edd81c37ea4e23f5a00c6b868abe22" + }, + { + "repo": "informed-decision", + "path": "docs/reviews/2026-10-11-zlib-candidate-product-owner-review.md", + "staged_path": "/tmp/infd-zlib-product-review-stage/owner/docs/reviews/2026-10-11-zlib-candidate-product-owner-review.md", + "original_sha256": null, + "staged_sha256": "ab3dcfb63eb2b38844e8d45da6ccfe21a1dfc97e57a3dbf23bc38d7694437ff8" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-candidate-product-review/check_product.py", + "staged_path": "/tmp/infd-zlib-product-review-stage/owner/docs/evidence/2026-10-11-zlib-candidate-product-review/check_product.py", + "original_sha256": null, + "staged_sha256": "e660a6010a835cc618e55509f54c25a7aa9aecb1a528d14120b2f9b40bc1242b" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-candidate-product-review/validation.json", + "staged_path": "/tmp/infd-zlib-product-review-stage/owner/docs/evidence/2026-10-11-zlib-candidate-product-review/validation.json", + "original_sha256": null, + "staged_sha256": "e18a11328b744ab682346f4a8b37e9a6bf7965cfa84b4da939baaec22911fce5" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-candidate-product-review/independent-artifact-comparison.json", + "staged_path": "/tmp/infd-zlib-product-review-stage/owner/docs/evidence/2026-10-11-zlib-candidate-product-review/independent-artifact-comparison.json", + "original_sha256": null, + "staged_sha256": "f76c98b9e8acbc4ad85bd7cf36cc42c8bf6c09063d9a2c25ef45cb027f71ef5c" + } + ] +} diff --git a/docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-review/check_product.py b/docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-review/check_product.py new file mode 100644 index 0000000..36291cd --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-review/check_product.py @@ -0,0 +1,39 @@ +import pathlib,json,hashlib,copy,importlib.util,tarfile +S=pathlib.Path('/tmp/infd-zlib-candidate-stage/informed-decision');O=pathlib.Path('/tmp/infd-zlib-product-review-stage');M=pathlib.Path('/tmp/infd-zlib-candidate-stage/manifest.json') +H=lambda b:hashlib.sha256(b).hexdigest() +assert H(M.read_bytes())=='8d345bb2bde3efce4d0cc99dfc2f883a64f79c42d2cd4abb288229a995e9ad66' +for f in json.loads(M.read_text()):assert H(pathlib.Path(f['staged_path']).read_bytes())==f['staged_sha256'] +E=S/'docs/evidence/2026-10-11-zlib-remediation-candidate';receipt=json.loads((E/'local-candidate-verification.json').read_text()) +for n,h in receipt['evidence_file_sha256'].items():assert H((E/n).read_bytes())==h +spec=importlib.util.spec_from_file_location('cmp',S/'tools/zlib_overlay/compare_runtime.py');cmp=importlib.util.module_from_spec(spec);spec.loader.exec_module(cmp) +a=json.loads((E/'base-runtime.json').read_text());b=json.loads((E/'candidate-runtime.json').read_text());assert cmp.compare(a,b)['app_files_identical']==36 +mutations=['appfile','keys','world','network','provider'] +for field in mutations: + c=copy.deepcopy(b) + if field=='appfile':c['app_file_sha256']['policy.py']='0'*64 + elif field=='keys':c['apk_keys_sha256']['extra.pub']='0'*64 + elif field=='world':c['apk_world_sha256']='0'*64 + elif field=='network':c['network_accessed']=True + else:c['provider_or_customer_data_used']=True + try:cmp.compare(a,c) + except ValueError:pass + else:raise AssertionError(field) +# Read local image archives, source verifier operations are limited to these public local artifacts. +code=(E/'verify_local_artifacts.py').read_text().replace("(root/'artifact-comparison.json').write_text", "(Path('/tmp/infd-zlib-product-review-stage')/'independent-artifact-comparison.json').write_text") +exec(compile(code,'product-local-artifact-readback','exec'),{}) +proof=json.loads((O/'independent-artifact-comparison.json').read_text());assert set(proof['final_changed_files'])=={'usr/lib/libz.so.1.3.2','lib/apk/db/installed'} +for key in ['final_changed_files','sbom_only_delta','base_layers_preserved','new_layers']: + assert proof[key]==json.loads((E/'artifact-comparison.json').read_text())[key] +# Inspect signed archive metadata and match named trusted key already installed in unchanged baseline. +for n in ['zlib-1.3.2-r1.apk','APKINDEX.tar.gz']: + with tarfile.open(S/'deploy/zlib-overlay'/n) as t: + signs=[x.name for x in t if x.name.startswith('.SIGN.')] + assert signs==['.SIGN.RSA.alpine-devel@lists.alpinelinux.org-6165ee59.rsa.pub'],signs + assert 'alpine-devel@lists.alpinelinux.org-6165ee59.rsa.pub' in a['apk_keys_sha256'] +base_scan=json.loads((E/'base-trivy-full.json').read_text());scan=json.loads((E/'trivy-full.json').read_text()) +assert sum(len(x.get('Packages',[])) for x in scan['Results'])==44 +assert base_scan['Metadata']['OS']==scan['Metadata']['OS'] +assert not [v for x in scan['Results'] for v in x.get('Vulnerabilities',[])] +container=(S/'deploy/zlib-overlay/Containerfile').read_text();assert '--allow-untrusted' not in container and '--keys-dir' not in container and 'apk verify ' in container +result={'manifest_sha256':H(M.read_bytes()),'all27_staged_hashes_verified':True,'evidence_hashes_verified':True,'existing_source_tests':4,'existing_source_negative_mutations':8,'additional_product_negative_mutations':mutations,'saved_image_fs_and_layer_runtime_readback':True,'sbom_only_zlib_delta':True,'scan44_packages_zero_at_retained_db':True,'signed_archive_named_key_matches_unchanged_baseline_truststore':True,'signature_execution_basis':'Retained actual maker apk verify success against exact763 trusted keys; recipe enforces same check. Product independently checked signed archive metadata/hash/truststore identity, not a fresh apk execution.','native_actions':False,'candidate_published':False} +(O/'validation.json').write_text(json.dumps(result,indent=2)+'\n');print('Product source checks passed, 5 additional scope mutations refused.') diff --git a/docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-review/independent-artifact-comparison.json b/docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-review/independent-artifact-comparison.json new file mode 100644 index 0000000..2db5495 --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-review/independent-artifact-comparison.json @@ -0,0 +1,69 @@ +{ + "base_image_config_id": "sha256:f34de21379c4f50ea0361ca1d8296c8e72f989499ad288016b81204997ae4779", + "candidate_local_image_config_id": "sha256:625d066416e901eaa2db5e18b96c37559b25dd91bdc3afb3d1ff5e916c7a8a3f", + "candidate_registry_digest": null, + "base_layers_preserved": 9, + "new_layers": 2, + "effective_runtime_config_identical": true, + "raw_config_bytes_identical": false, + "serialization_note": "Legacy base explicitly serialized empty/false/null defaults; candidate Docker-save config omits equivalent known defaults. Exact closed default normalization only; runtime fields unchanged.", + "labels_before": { + "org.opencontainers.image.base.digest": "sha256:7f5c6cb29c9f70a026bfe30e72934274ddc69261676cf6d476f81dd32812d173", + "org.opencontainers.image.revision": "3e4bcb26f8eeaa8c64345c565477b5ac8ccbb168", + "social.coulomb.release.scope": "INFD-WP-0009-T04/purpose-overlay-v1", + "social.coulomb.source.policy.sha256": "9d7c1be4cb6199d14ef0aaead5f85951f45b0ccbd7c800a7fde922a253566b62" + }, + "labels_after": { + "org.opencontainers.image.base.digest": "sha256:763c36402c8be7cc4c1bd1a61623d1aff9116d52241877425b45a7018cc0883a", + "org.opencontainers.image.revision": "uncommitted-T05-local-preparation", + "social.coulomb.release.scope": "INFD-WP-0009-T05/zlib-85091-r1", + "social.coulomb.source.context.sha256": "c554e62a84af340cba15d469a4568f6d0c40923e580b08ed7565e22702b1207d", + "social.coulomb.source.policy.sha256": "9d7c1be4cb6199d14ef0aaead5f85951f45b0ccbd7c800a7fde922a253566b62" + }, + "final_changed_files": { + "lib/apk/db/installed": { + "before": [ + "file", + 420, + 0, + 0, + "6383ea3806247e8dbf9ebee8cb30eb8eca63a8ea59662a793127d6a61b988d70" + ], + "after": [ + "file", + 420, + 0, + 0, + "f590762196710e25c0e9f72da0642cad8a5dcba0aa9e58a0cbaa65684d15c001" + ] + }, + "usr/lib/libz.so.1.3.2": { + "before": [ + "file", + 493, + 0, + 0, + "a1e2c03dcdedba98a06a00cadfb67a0e0b1cd93986860ec0c5ce66e789c44e57" + ], + "after": [ + "file", + 493, + 0, + 0, + "ecc8b9dfc45eb7fa29b410ffaca6257873890de53b80fe91735737b49067c5f2" + ] + } + }, + "sbom_package_count_base": 44, + "sbom_package_count_candidate": 44, + "sbom_only_delta": { + "zlib": [ + "1.3.2-r0", + "1.3.2-r1" + ] + }, + "full_scan_baseline_findings": 1, + "full_scan_candidate_allseverity_findings": 0, + "db_snapshot_same": true, + "native_workload_changed": false +} diff --git a/docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-review/validation.json b/docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-review/validation.json new file mode 100644 index 0000000..d09a3fc --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-review/validation.json @@ -0,0 +1,21 @@ +{ + "manifest_sha256": "8d345bb2bde3efce4d0cc99dfc2f883a64f79c42d2cd4abb288229a995e9ad66", + "all27_staged_hashes_verified": true, + "evidence_hashes_verified": true, + "existing_source_tests": 4, + "existing_source_negative_mutations": 8, + "additional_product_negative_mutations": [ + "appfile", + "keys", + "world", + "network", + "provider" + ], + "saved_image_fs_and_layer_runtime_readback": true, + "sbom_only_zlib_delta": true, + "scan44_packages_zero_at_retained_db": true, + "signed_archive_named_key_matches_unchanged_baseline_truststore": true, + "signature_execution_basis": "Retained actual maker apk verify success against exact763 trusted keys; recipe enforces same check. Product independently checked signed archive metadata/hash/truststore identity, not a fresh apk execution.", + "native_actions": false, + "candidate_published": false +} diff --git a/docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/owner-snapshot/docs/reviews/2026-10-11-zlib-candidate-product-owner-review.md b/docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/owner-snapshot/docs/reviews/2026-10-11-zlib-candidate-product-owner-review.md new file mode 100644 index 0000000..461d4d1 --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/owner-snapshot/docs/reviews/2026-10-11-zlib-candidate-product-owner-review.md @@ -0,0 +1,74 @@ +# Bounded zlib candidate Product owner review + +```yaml +reviewer: informed-decision-owner (agent informed-decision, codex) +decision: approved +work_item: INFD-WP-ADHOC-2026-10-11-T08 +scope: exact local zlib-only source candidate technical preparation +manifest_sha256: 8d345bb2bde3efce4d0cc99dfc2f883a64f79c42d2cd4abb288229a995e9ad66 +comment: >- + Informed-decision intent requires human binding and preserved evidence; this + candidate changes only a native compression dependency while preserving + application authorization/presentation behavior. T08 review work record was + completed first. This is technical source agreement, not native go, publication + receipt, founder acceptance or T05 completion. +``` + +All27 staged hashes and retained evidence-file hashes independently verify. +Independent saved-image archive readback confirms all nine exact763 base diff_ids +as prefix, equal effective runtime configuration with only explicitly normalized +empty/false/null defaults, and final filesystem changes exactly +`usr/lib/libz.so.1.3.2` and `lib/apk/db/installed`. Modes/owners remain equivalent. +Application36 files, policy9d7, trust keys, APK world, Python dependencies, OpenSSL +and UID/GID10001 remain equal. Root build identity returns to10001:10001. +No service values, namespace, DB, customer data, config, PVC, schema, audience, +policy pins, protected helper or existing release journal is changed. + +Package/index bytes match pinned official HTTPS download hashes. Both signed +archives name alpine-devel@lists.alpinelinux.org-6165ee59.rsa.pub, already present +in unchanged baseline trust metadata. Retained actual maker apk verify success +against exact763 installed keys is the execution evidence; this review separately +checks archive signatures' metadata, bytes and trust identity, without claiming +a new signature-verification execution. Containerfile requires digest checks and +`apk verify` success before offline named-package upgrade; no allow-untrusted or +keys-dir override. Existing trusted keys are not replaced. +[Official apk verify documentation](https://github.com/alpinelinux/apk-tools/blob/master/doc/apk-verify.8.scd) +defines integrity/signature checking and nonzero failure. +Upgrade selects only zlib from retained local signed index, disables network, +preupgrade and logging, and removes temporary public artifacts. + +Both full CycloneDX/Trivy artifacts independently show44 packages and only +zlib1.3.2-r0 to1.3.2-r1 version delta. Full baseline has one MEDIUM +CVE-2026-85091; candidate has zero findings at the retained same database +03cacb40452ceb74afdfca072cb82f79ee884dfac006ef24a4dfdad133b0f917. +No severity suppression is inferred or permitted. Alpine3.24 EOL-list warning +and actual38 OS/6 Python detector coverage remain disclosed. This is bounded +scan improvement at that snapshot, not estate risk grading or future safety. +Local daemon image78bfdcc and saved OCI config625d are distinct disclosed +representations; neither is a published registry digest or native image proof. + +Four existing source tests pass, covering eight mutations; five additional Product +mutations of app source, trust keys, APK world, network and provider/data flags +refuse. Independent archive/SBOM/scan readback agrees with maker artifact receipt. +Retained four compression vectors/three malformed refusals/crypto/JWT/waitress +and ten installed purpose variants are local synthetic checks, not live PDP +or customer/native-data testing. No new container or native execution by reviewer. + +Workflow publishes only a source-bound candidate through existing admitted owner +registry capability after root source review/commit: exact40hex source revision, +fixed owner archive, four input hashes/contextc554, exact763 base, no-network +bounded build, unchanged runtime comparison and purpose checks before push. +It has no kubectl, Argo, DB/admin, namespace or runtime deployment action. +The workflow is unexecuted; source review does not attest CI credentials, actual +publication or published artifact equivalence. Root must retain actual CI/source +revision and registry descriptor/layer/config/package/signature/context readback, +then full published scan/SBOM and scoped candidate release preparation. Only +distinct exact informed-decision founder native approval followed by installedr1, +runtime/purpose and full-rescan proof can close T05. Future image-only rollback +to763 preserves latest DB; no historical snapshot restore. + +T05 remains progress, WP0009 active, manual follow-up due2026-10-18; no automatic +controller is implied. T04/c96 accepted outcome and original uncertain journals +remain historical and immutable. INFD-IN-0010 is unchanged and unpromoted. +No new native authority, owner checkout write, credential/login, deployment or +customer-data access occurred in this review. diff --git a/docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/owner-snapshot/workplans/ADHOC-2026-10-11.md b/docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/owner-snapshot/workplans/ADHOC-2026-10-11.md new file mode 100644 index 0000000..b39c57f --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/owner-snapshot/workplans/ADHOC-2026-10-11.md @@ -0,0 +1,259 @@ +--- +id: INFD-WP-ADHOC-2026-10-11 +type: workplan +title: "Application-owner catalogue facts review" +domain: infotech +repo: informed-decision +status: finished +owner: codex +topic_slug: netkingdom +created: "2026-10-11" +updated: "2026-10-11" +flavor: planning +state_hub_workstream_id: "4594d714-a6ec-5ab6-ad44-4227a27fc7be" +--- + +## Review exact one-application catalogue facts + +```task +id: INFD-WP-ADHOC-2026-10-11-T01 +status: done +priority: medium +state_hub_task_id: "cfe1ec8c-c635-5f23-847c-bf8296965305" +``` + +Completed informed-decision application-owner source review under INTENT.md +Purpose, What informed-decision Owns/Does Not Own, Design Principles 9-10, +and Layer Placement. Read actual owner OIDC, requester and policy-request +code, governing Staff/PEP-shaped declaration, User Engine model, and existing +value-free native registration/Ingress/preflight receipts. Exact canonical +facts agree. Browser client is distinct from create-only requester. + +Review entry: docs/reviews/2026-10-11-one-app-catalogue-facts-review.md. +Canonical facts SHA-256: +`ae6fde5f2c879e75fabb53e132261899dae0f4d864e18dd425bc272be713426b`. +Reviewed refined nine-file executor manifest SHA-256: +`0ff545d26a0fd72f06040fe377de3efdcc3bd62cdcb6f653247c8ba72f3f34a7`. + +This task completes the application-facts source review only. It grants no +maintenance exception, native dry-run/apply/recovery, IAM permission, image +release or human disposition. Existing User Engine native acceptance work +remains with USER-WP-0026-T03 and USER-WP-0028-T02; no new residual work is +created by this bounded review. No tests were needed for this evidence-only +review; no native, credential or login action occurred. + +## Independently review purpose overlay release preparation + +```task +id: INFD-WP-ADHOC-2026-10-11-T02 +status: done +priority: medium +``` + +Completed same-role informed-decision-owner technical review of frozen36-path +purpose release manifest SHA-256 +`7c6738b39ea8e54e61c8ed625e94ad0b2755e672e1576efcdf84a1d665ac3300`. +All36 staged file hashes and exact source PolicyClient9d7 hash were verified. +Source candidates and captured candidate Deployment differ only in the image. +Actual raw base/candidate scans contain the same one fixable MEDIUM zlib finding; +T05 keeps its2026-10-18 follow-through. Actual published-image receipts and +sealed native read-only preflight support preparation, not native deployment. + +Independent owner negatives:50 passed in4.21s, covering10 advisory/malformed +binding forms across register, replay, publish, annotate and revise. Each +refusal preserves every domain table, records a truthful invalid-decision +observation and leaves the same idempotency key reusable after restoring a +canonical enforcement response. These are synthetic source tests only. +Test: tests/test_purpose_owner_mutation_negatives.py. +Receipt: docs/evidence/2026-10-11-purpose-image-release/product-owner-review-validation.json. +Review: docs/reviews/2026-10-11-purpose-release-product-owner-review.md. + +This bounded review grants no native backup/export/restore, image rollout, +credentials, login, human disposition or vulnerability acceptance. Existing +INFD-WP-0009-T04/T05 retain release/remediation obligations; no separate residual +is created or claimed completed. Catalogue ACK/T01 remains unchanged. + +## Confirm amended purpose release custody and preflight gates + +```task +id: INFD-WP-ADHOC-2026-10-11-T03 +status: done +priority: medium +``` + +Same informed-decision-owner reviewed amended78-path release manifest SHA-256 +`b1e3e66bc4023dc80c6ea59564c3557c7653fb3c307f46a049997b76198a9033`. +All78 file hashes verified, original36 archive retained, source PolicyClient9d7 +and both image-only source candidates unchanged. Prior50 source lifecycle +mutation/idempotency negatives remain applicable and were not repeated. + +Confirmed stdlib read-only schema5/integrity/count gate before ANY native or +restored Store/admin open, explicit local/remote optimized-interpreter refusal, +sealed actual ConfigMap/PVC identity/data/custody and frozen offline clone count +equality distinguished from legitimate concurrent live commits. Revised20-doc +184912-byte packet and01:39 read-only dry-run receipts remain preparation. +Native schema gate, backup/export/restore/release and founder disposition remain +unperformed; T04/T05 obligations and temporary vulnerability review persist. + +Confirmation: docs/reviews/2026-10-11-purpose-release-amended-product-owner-review.md. +Prior T01 catalogue ACK including hub identifiers and T02 initial36 review/test/ +receipt remain unchanged. No new residual or authority is created by this review. + +## Reconcile Staff evidence source declaration and current guarantees + +```task +id: INFD-WP-ADHOC-2026-10-11-T04 +status: done +priority: medium +``` + +Reviewed accepted bounded GH-DEC-2026-025 handoff against actual source +class definitions, transactional recording, heartbeat/reconciliation scheduling, +existing component-test assertions and native count/receipt evidence. Reconciled +stale outbox/AUDIT-WP-0009 blockers without promoting owed guarantees or reopening +finished INFD-WP-0005/0007. INFD-IN-0007 retains doctrine response and pending +NET-IN-0004 standard voice. INFD-IN-0009 is the one live, unpromoted residual +source intake for remaining class-specific declaration/verification gaps, +origin INFD-WP-0007. No residual implementation or native action occurred. + +Source evidence reconciliation: +docs/evidence/2026-10-11-staff-evidence-source-reconciliation.md. +Formal source review: +docs/reviews/2026-10-11-staff-evidence-source-owner-review.md. +Existing Staff/PEP-shaped classification, three load-bearing class classifications, +compromised-source and commitment/content availability limits remain unchanged. + +## Independently review supervised purpose actuator product boundaries + +```task +id: INFD-WP-ADHOC-2026-10-11-T05 +status: done +priority: medium +``` + +Same informed-decision-owner reviewed exact23-path helper manifest +`f2fad6c251fbb4420e07c1329802f521b513bbf66e51f64c5d673ef04f16284c`, +all staged hashes and embedded source bundle/plan. Product evidence/schema5, +private snapshot custody, confined offline UID0 initialization followed by +UID10001 pre/post-admin verification, independent failed-candidate rollback +and all-phase start deadline are technically agreed as source preparation. + +No purpose-policy or candidate image change. Retained helper16 synthetic tests +and platform5 independent recovery negatives are mechanism proof; prior50 +product policy negatives remain applicable. No new test run was needed for this +unchanged-source review. Native-provider acceptance remains distinct from the +installed10 synthetic purpose forms; T04 is not complete. Before first human +post, amend exact20-document packet to hash-bind helper/plan, four render inputs, +initializer/recovery/deadline refinements and preserved full scan provenance. +Exact combined packet acknowledgement remains a separate review gate. + +Review: docs/reviews/2026-10-11-purpose-actuator-product-owner-review.md. +No native reads/backups/export/restore/release, credentials, human disposition, +founder approval or phase authority was exercised by this review. + +## Prepare separately gated provider-derived denial mechanism probe + +```task +id: INFD-WP-ADHOC-2026-10-11-T06 +status: done +priority: medium +``` + +Prepared source-only readonly lifecycle.search provider-derived mechanism probe +with truthful informed-decision/review SERVICE and no human/StateHub attributes. +Actual lifecyclev2 permits only StateHub workload or admitted AAL2 humans, so a +canonical real DENY is required; no claims are invented to obtain ALLOW. +One actual provider response will remain in Pod memory; ten transformed +noncanonical purpose copies test installed consumer refusal without further +provider calls, DB/admin or act effects. This is a denial/binding mechanism +proof candidate, not actual authorized lifecycle or full T04 acceptance. + +Source: docs/evidence/2026-10-11-purpose-provider-probe/. +Ten synthetic source tests pass; no actual provider, credential, runtime config, +DB, native data or live action was accessed. Posted frozen112 packet/helper +remain unchanged. Exact separate founder go for this newly prepared probe and +its target must precede any execution; current memo has no acceptance and this +new helper is not hash-bound in that submitted packet. T04 remains progress. + +## Review exact existing-snapshot rescue version2 preparation + +```task +id: INFD-WP-ADHOC-2026-10-11-T07 +status: done +priority: medium +``` + +Reviewed exact66-path rescue manifest0867e27a6754dddff3eedbb333ab4ca4faa98ee31d383ebe940b8e054c6cabf7 +under the same informed-decision-owner role. Actual original backupCOMPLETE/copy +UNCERTAIN are retained; new rescue journal/phase and sourceversion2/newreviewown1 +require fresh founder acceptance. Immutable reads are bounded to proven frozen +closed snapshots; live/offline writable-clone reads remain WAL-aware/explicitclose. +Independent existing26 mocked tests plus41 subtests pass, and10 new product scope +guards pass (including eight refusal mutations and a frozen initial packet check). +No native command, DB open, credentials or rescue operation occurred. + +Initial review decision changes_requested: proposal.json misleadingly names old +f2fad helper manifest as execution_helper_manifest_sha256 after helper bytes changed; +label it original/historical and refreeze all dependent packet hashes. Correct +current bundle/plan digests already exist. The normalized test fixture is not an +owner edit or approval. Initial review/failure must remain after correction; +exact amended confirmation is still required before newhuman submission/execution. + +Review: docs/reviews/2026-10-11-purpose-rescue-product-owner-review.md. +Evidence/checks: docs/evidence/2026-10-11-purpose-rescue-product-review/. +T04 remains progress; original version1 approval is not newversion2 authority. + +**Amended source confirmation, same T07 trial:** exact134-path manifest +`d05d6e3b15df9acf1d7aef0ba2ec82a5a00d979ab1f324e981025cffe2cc753d` +corrects only the historical helper provenance label and dependent packet hashes; +original66 source and initial changes-requested review remain retained. Current +helper code/bundle49c9/plan9ce5 are unchanged. Strict typed sourceversion2/CAS1 +and20documents validate:173469packetbytes/240451revisionbytes. Eight scope +mutations and three packet mutations independently refuse. Final technical +source acknowledgement approved; no new human acceptance or native rescue. +Confirmation: docs/reviews/2026-10-11-purpose-rescue-product-owner-final-ack.md. + + +**Actual-outcome assessment preparation, same completed T07 trial:** independently +verified original receipt-byte hashes and source consumer path after approved +source c96b0c6 release. Offline schema5/admin/post counts match; fresh cutover +backup/private copy matches live post-release counts16/56/0, delivered336, +confirmed43. Independent image/module/config/PVC/controlled Pod and UID/GID10001 +checks pass. Actual post-rollout authenticated provider-backed outcomes readback +is separate from installed ten synthetic purpose forms (2allow/8refuse). +Completed source-only assessment supports T04 done, T05 todo and WP0009 active. +Original failed copy and verifier UNCERTAIN remain preserved, with no replay or +helper amendment. Created unpromoted INFD-IN-0010 for future verifier omission +handling correction; no implementation, native action or authority grant. +This work-record preparation precedes the formal actual-outcome review entry. +Review: docs/reviews/2026-10-11-purpose-native-outcome-product-owner-acceptance.md. +Evidence: docs/evidence/2026-10-11-purpose-native-acceptance/. + + +## Independently review bounded zlib-only T05 source candidate + +```task +id: INFD-WP-ADHOC-2026-10-11-T08 +status: done +priority: medium +``` + +Completed informed-decision Product source review of exact27-path candidate +manifest8d345bb2bde3efce4d0cc99dfc2f883a64f79c42d2cd4abb288229a995e9ad66. +All staged/evidence hashes verify. Independently reread local saved base/candidate +image archives, effective runtime config, nine base layer prefix, two final file +changes and both full scan/SBOM artifacts. Only zlib1.3.2-r0 to r1 differs; +44 packages/base1MED to candidate0 at retained same scanner database. +Signed APK/index named key matches unchanged base trust metadata; enforced +apk verify against existing keys retained, no allow-untrusted or truststore override. +Four existing source tests pass (eight refusal mutations), plus five independent +appfile/trustkeys/world/network/provider metadata mutations refuse. +Purpose/backend checks remain local and synthetic, not actual PDP or data proof. +Technical source preparation agreement only: local image78bfdcc is unpublished, +T05 remains progress/WP0009 active; CI exact published provenance/scan/SBOM and +new native founder approval/installed proof are still required. Current763/native +DB/config/PVC/identity/approved R2 helper and journal remain unchanged; INFD-IN-0010 +is unpromoted/unimplemented. No native actions, credentials or owner source writes. +This completed work record is prepared before the formal review entry. +Review: docs/reviews/2026-10-11-zlib-candidate-product-owner-review.md. +Evidence: docs/evidence/2026-10-11-zlib-candidate-product-review/. diff --git a/docs/evidence/2026-10-11-zlib-candidate-product-final-review/validation.json b/docs/evidence/2026-10-11-zlib-candidate-product-final-review/validation.json new file mode 100644 index 0000000..5548150 --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-candidate-product-final-review/validation.json @@ -0,0 +1,20 @@ +{ + "exact_manifest_sha256": "64509029b3de6d33e3675587663ccdae027d9ea18aba83750892480766dd03b8", + "all58_hashes_verified": true, + "all27_initial_archived_hashes_verified": true, + "changed_initial_paths": [ + "docs/evidence/2026-10-11-zlib-remediation-candidate/README.md", + "docs/evidence/2026-10-11-zlib-remediation-candidate/artifact-comparison.json", + "docs/evidence/2026-10-11-zlib-remediation-candidate/local-candidate-verification.json", + "docs/evidence/2026-10-11-zlib-remediation-candidate/verify_local_artifacts.py" + ], + "image_context_source_workflow_runtime_scan_unchanged": true, + "new_source_tests_passed": 3, + "directory_negative_mutations": 3, + "optimized_tampered_before_read_refusal": true, + "existing_actual_archives_directory_reaudit": true, + "directory_count_base": 313, + "directory_count_candidate": 313, + "directory_metadata_delta": {}, + "native_actions": false +} diff --git a/docs/evidence/2026-10-11-zlib-candidate-product-review/check_product.py b/docs/evidence/2026-10-11-zlib-candidate-product-review/check_product.py new file mode 100644 index 0000000..36291cd --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-candidate-product-review/check_product.py @@ -0,0 +1,39 @@ +import pathlib,json,hashlib,copy,importlib.util,tarfile +S=pathlib.Path('/tmp/infd-zlib-candidate-stage/informed-decision');O=pathlib.Path('/tmp/infd-zlib-product-review-stage');M=pathlib.Path('/tmp/infd-zlib-candidate-stage/manifest.json') +H=lambda b:hashlib.sha256(b).hexdigest() +assert H(M.read_bytes())=='8d345bb2bde3efce4d0cc99dfc2f883a64f79c42d2cd4abb288229a995e9ad66' +for f in json.loads(M.read_text()):assert H(pathlib.Path(f['staged_path']).read_bytes())==f['staged_sha256'] +E=S/'docs/evidence/2026-10-11-zlib-remediation-candidate';receipt=json.loads((E/'local-candidate-verification.json').read_text()) +for n,h in receipt['evidence_file_sha256'].items():assert H((E/n).read_bytes())==h +spec=importlib.util.spec_from_file_location('cmp',S/'tools/zlib_overlay/compare_runtime.py');cmp=importlib.util.module_from_spec(spec);spec.loader.exec_module(cmp) +a=json.loads((E/'base-runtime.json').read_text());b=json.loads((E/'candidate-runtime.json').read_text());assert cmp.compare(a,b)['app_files_identical']==36 +mutations=['appfile','keys','world','network','provider'] +for field in mutations: + c=copy.deepcopy(b) + if field=='appfile':c['app_file_sha256']['policy.py']='0'*64 + elif field=='keys':c['apk_keys_sha256']['extra.pub']='0'*64 + elif field=='world':c['apk_world_sha256']='0'*64 + elif field=='network':c['network_accessed']=True + else:c['provider_or_customer_data_used']=True + try:cmp.compare(a,c) + except ValueError:pass + else:raise AssertionError(field) +# Read local image archives, source verifier operations are limited to these public local artifacts. +code=(E/'verify_local_artifacts.py').read_text().replace("(root/'artifact-comparison.json').write_text", "(Path('/tmp/infd-zlib-product-review-stage')/'independent-artifact-comparison.json').write_text") +exec(compile(code,'product-local-artifact-readback','exec'),{}) +proof=json.loads((O/'independent-artifact-comparison.json').read_text());assert set(proof['final_changed_files'])=={'usr/lib/libz.so.1.3.2','lib/apk/db/installed'} +for key in ['final_changed_files','sbom_only_delta','base_layers_preserved','new_layers']: + assert proof[key]==json.loads((E/'artifact-comparison.json').read_text())[key] +# Inspect signed archive metadata and match named trusted key already installed in unchanged baseline. +for n in ['zlib-1.3.2-r1.apk','APKINDEX.tar.gz']: + with tarfile.open(S/'deploy/zlib-overlay'/n) as t: + signs=[x.name for x in t if x.name.startswith('.SIGN.')] + assert signs==['.SIGN.RSA.alpine-devel@lists.alpinelinux.org-6165ee59.rsa.pub'],signs + assert 'alpine-devel@lists.alpinelinux.org-6165ee59.rsa.pub' in a['apk_keys_sha256'] +base_scan=json.loads((E/'base-trivy-full.json').read_text());scan=json.loads((E/'trivy-full.json').read_text()) +assert sum(len(x.get('Packages',[])) for x in scan['Results'])==44 +assert base_scan['Metadata']['OS']==scan['Metadata']['OS'] +assert not [v for x in scan['Results'] for v in x.get('Vulnerabilities',[])] +container=(S/'deploy/zlib-overlay/Containerfile').read_text();assert '--allow-untrusted' not in container and '--keys-dir' not in container and 'apk verify ' in container +result={'manifest_sha256':H(M.read_bytes()),'all27_staged_hashes_verified':True,'evidence_hashes_verified':True,'existing_source_tests':4,'existing_source_negative_mutations':8,'additional_product_negative_mutations':mutations,'saved_image_fs_and_layer_runtime_readback':True,'sbom_only_zlib_delta':True,'scan44_packages_zero_at_retained_db':True,'signed_archive_named_key_matches_unchanged_baseline_truststore':True,'signature_execution_basis':'Retained actual maker apk verify success against exact763 trusted keys; recipe enforces same check. Product independently checked signed archive metadata/hash/truststore identity, not a fresh apk execution.','native_actions':False,'candidate_published':False} +(O/'validation.json').write_text(json.dumps(result,indent=2)+'\n');print('Product source checks passed, 5 additional scope mutations refused.') diff --git a/docs/evidence/2026-10-11-zlib-candidate-product-review/independent-artifact-comparison.json b/docs/evidence/2026-10-11-zlib-candidate-product-review/independent-artifact-comparison.json new file mode 100644 index 0000000..2db5495 --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-candidate-product-review/independent-artifact-comparison.json @@ -0,0 +1,69 @@ +{ + "base_image_config_id": "sha256:f34de21379c4f50ea0361ca1d8296c8e72f989499ad288016b81204997ae4779", + "candidate_local_image_config_id": "sha256:625d066416e901eaa2db5e18b96c37559b25dd91bdc3afb3d1ff5e916c7a8a3f", + "candidate_registry_digest": null, + "base_layers_preserved": 9, + "new_layers": 2, + "effective_runtime_config_identical": true, + "raw_config_bytes_identical": false, + "serialization_note": "Legacy base explicitly serialized empty/false/null defaults; candidate Docker-save config omits equivalent known defaults. Exact closed default normalization only; runtime fields unchanged.", + "labels_before": { + "org.opencontainers.image.base.digest": "sha256:7f5c6cb29c9f70a026bfe30e72934274ddc69261676cf6d476f81dd32812d173", + "org.opencontainers.image.revision": "3e4bcb26f8eeaa8c64345c565477b5ac8ccbb168", + "social.coulomb.release.scope": "INFD-WP-0009-T04/purpose-overlay-v1", + "social.coulomb.source.policy.sha256": "9d7c1be4cb6199d14ef0aaead5f85951f45b0ccbd7c800a7fde922a253566b62" + }, + "labels_after": { + "org.opencontainers.image.base.digest": "sha256:763c36402c8be7cc4c1bd1a61623d1aff9116d52241877425b45a7018cc0883a", + "org.opencontainers.image.revision": "uncommitted-T05-local-preparation", + "social.coulomb.release.scope": "INFD-WP-0009-T05/zlib-85091-r1", + "social.coulomb.source.context.sha256": "c554e62a84af340cba15d469a4568f6d0c40923e580b08ed7565e22702b1207d", + "social.coulomb.source.policy.sha256": "9d7c1be4cb6199d14ef0aaead5f85951f45b0ccbd7c800a7fde922a253566b62" + }, + "final_changed_files": { + "lib/apk/db/installed": { + "before": [ + "file", + 420, + 0, + 0, + "6383ea3806247e8dbf9ebee8cb30eb8eca63a8ea59662a793127d6a61b988d70" + ], + "after": [ + "file", + 420, + 0, + 0, + "f590762196710e25c0e9f72da0642cad8a5dcba0aa9e58a0cbaa65684d15c001" + ] + }, + "usr/lib/libz.so.1.3.2": { + "before": [ + "file", + 493, + 0, + 0, + "a1e2c03dcdedba98a06a00cadfb67a0e0b1cd93986860ec0c5ce66e789c44e57" + ], + "after": [ + "file", + 493, + 0, + 0, + "ecc8b9dfc45eb7fa29b410ffaca6257873890de53b80fe91735737b49067c5f2" + ] + } + }, + "sbom_package_count_base": 44, + "sbom_package_count_candidate": 44, + "sbom_only_delta": { + "zlib": [ + "1.3.2-r0", + "1.3.2-r1" + ] + }, + "full_scan_baseline_findings": 1, + "full_scan_candidate_allseverity_findings": 0, + "db_snapshot_same": true, + "native_workload_changed": false +} diff --git a/docs/evidence/2026-10-11-zlib-candidate-product-review/validation.json b/docs/evidence/2026-10-11-zlib-candidate-product-review/validation.json new file mode 100644 index 0000000..d09a3fc --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-candidate-product-review/validation.json @@ -0,0 +1,21 @@ +{ + "manifest_sha256": "8d345bb2bde3efce4d0cc99dfc2f883a64f79c42d2cd4abb288229a995e9ad66", + "all27_staged_hashes_verified": true, + "evidence_hashes_verified": true, + "existing_source_tests": 4, + "existing_source_negative_mutations": 8, + "additional_product_negative_mutations": [ + "appfile", + "keys", + "world", + "network", + "provider" + ], + "saved_image_fs_and_layer_runtime_readback": true, + "sbom_only_zlib_delta": true, + "scan44_packages_zero_at_retained_db": true, + "signed_archive_named_key_matches_unchanged_baseline_truststore": true, + "signature_execution_basis": "Retained actual maker apk verify success against exact763 trusted keys; recipe enforces same check. Product independently checked signed archive metadata/hash/truststore identity, not a fresh apk execution.", + "native_actions": false, + "candidate_published": false +} diff --git a/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/frozen66-candidate-manifest.json b/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/frozen66-candidate-manifest.json new file mode 100644 index 0000000..19bf3a4 --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/frozen66-candidate-manifest.json @@ -0,0 +1,464 @@ +[ + { + "repo": "informed-decision", + "path": ".forgejo/workflows/zlib-overlay-image.yaml", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/.forgejo/workflows/zlib-overlay-image.yaml", + "original_sha256": null, + "staged_sha256": "789ef77c30ee55a2e4ef2b7edbe781bb2e92056ac11f5f3b9328ce0dfec38e72" + }, + { + "repo": "informed-decision", + "path": "deploy/zlib-overlay/.dockerignore", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/deploy/zlib-overlay/.dockerignore", + "original_sha256": null, + "staged_sha256": "ce3fa53cfe2c963c7fec4f2333a8af84a40740f144605a5aea795bcd6ac9eb8a" + }, + { + "repo": "informed-decision", + "path": "deploy/zlib-overlay/APKINDEX.tar.gz", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/deploy/zlib-overlay/APKINDEX.tar.gz", + "original_sha256": null, + "staged_sha256": "24fc2ccb08f3125429a38b31bd6c76a7b394c6236df0975760dc8259e50dfbd5" + }, + { + "repo": "informed-decision", + "path": "deploy/zlib-overlay/Containerfile", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/deploy/zlib-overlay/Containerfile", + "original_sha256": null, + "staged_sha256": "5e4d9b39e37fed95d729503deb0e9c414ae63d2779b02306beaadc94675d4f15" + }, + { + "repo": "informed-decision", + "path": "deploy/zlib-overlay/pins.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/deploy/zlib-overlay/pins.json", + "original_sha256": null, + "staged_sha256": "0bd2c79633030056a89ae7f055020e6398aa79d481587d4b41f0974b29dc77b5" + }, + { + "repo": "informed-decision", + "path": "deploy/zlib-overlay/zlib-1.3.2-r1.apk", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/deploy/zlib-overlay/zlib-1.3.2-r1.apk", + "original_sha256": null, + "staged_sha256": "63aeea03c15a2f9018f81805cfc8aa926bdf5cd68921f22149c2fbb5d0ee9f47" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/README.md", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/README.md", + "original_sha256": null, + "staged_sha256": "c999a0c326a95e74082258851a5c4669395937a8fed95927f114ff08a18e0d6b" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/artifact-comparison.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/artifact-comparison.json", + "original_sha256": null, + "staged_sha256": "689fa7cbd322cb31b215fd2e86e0be267c1398f9b71e5615446d5f7b82dcce89" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/audit-refinement.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/audit-refinement.json", + "original_sha256": null, + "staged_sha256": "de852da5990326642e0c0d15ed74ab21513b4227c5634ba7146568876e750c6a" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/base-runtime.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/base-runtime.json", + "original_sha256": null, + "staged_sha256": "20aabb9f4846ab4fa6e28e0763d153188da151ee32293366a51b0fdf872a4d24" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/base-sbom.cdx.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/base-sbom.cdx.json", + "original_sha256": null, + "staged_sha256": "bb40bcd500ec91ad16affe116e74357ab4090827dd930e2186dc99988403bc50" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/base-trivy-full.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/base-trivy-full.json", + "original_sha256": null, + "staged_sha256": "1b683afb558fedcc20b921599eca536551296afecbc81ce062c359f1b26cfac6" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/candidate-image-inspect.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/candidate-image-inspect.json", + "original_sha256": null, + "staged_sha256": "56466225f35cdf23c5540c0cc37c77424755ca42794e81f2c99ccf13840c34de" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/candidate-runtime.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/candidate-runtime.json", + "original_sha256": null, + "staged_sha256": "d58e60bdc69458fe42af8248e02acd924b3b605c828877352a7d9a3953e90124" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/context-source.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/context-source.json", + "original_sha256": null, + "staged_sha256": "cccf41cf766a037f31f9ab29ae57f6b34c00e0237c94a8a0ce61c9c78fd06828" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/download-receipt.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/download-receipt.json", + "original_sha256": null, + "staged_sha256": "847fce8466807e88a54ea5e374c2ac49ffa25e208697e71e94d83a5cc185b40d" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/archive-map.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/archive-map.json", + "original_sha256": null, + "staged_sha256": "91384b270c0462223af1ff66e3ca75db5fce692c56c6bde6df435e6a2a079c5e" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/original-manifest.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/original-manifest.json", + "original_sha256": null, + "staged_sha256": "8d345bb2bde3efce4d0cc99dfc2f883a64f79c42d2cd4abb288229a995e9ad66" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/.forgejo/workflows/zlib-overlay-image.yaml", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/.forgejo/workflows/zlib-overlay-image.yaml", + "original_sha256": null, + "staged_sha256": "789ef77c30ee55a2e4ef2b7edbe781bb2e92056ac11f5f3b9328ce0dfec38e72" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/deploy/zlib-overlay/.dockerignore", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/deploy/zlib-overlay/.dockerignore", + "original_sha256": null, + "staged_sha256": "ce3fa53cfe2c963c7fec4f2333a8af84a40740f144605a5aea795bcd6ac9eb8a" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/deploy/zlib-overlay/APKINDEX.tar.gz", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/deploy/zlib-overlay/APKINDEX.tar.gz", + "original_sha256": null, + "staged_sha256": "24fc2ccb08f3125429a38b31bd6c76a7b394c6236df0975760dc8259e50dfbd5" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/deploy/zlib-overlay/Containerfile", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/deploy/zlib-overlay/Containerfile", + "original_sha256": null, + "staged_sha256": "5e4d9b39e37fed95d729503deb0e9c414ae63d2779b02306beaadc94675d4f15" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/deploy/zlib-overlay/pins.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/deploy/zlib-overlay/pins.json", + "original_sha256": null, + "staged_sha256": "0bd2c79633030056a89ae7f055020e6398aa79d481587d4b41f0974b29dc77b5" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/deploy/zlib-overlay/zlib-1.3.2-r1.apk", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/deploy/zlib-overlay/zlib-1.3.2-r1.apk", + "original_sha256": null, + "staged_sha256": "63aeea03c15a2f9018f81805cfc8aa926bdf5cd68921f22149c2fbb5d0ee9f47" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/README.md", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/README.md", + "original_sha256": null, + "staged_sha256": "cc53d16b5dc8375be0d5f63b1144f0a422477e3a5638c397a214275d7ea1d0cb" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/artifact-comparison.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/artifact-comparison.json", + "original_sha256": null, + "staged_sha256": "8d84bfb20cc6c64c85b4b6fcb76d7e1113ebbfcadcd4d5c54ffb4121d73e4dfa" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/base-runtime.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/base-runtime.json", + "original_sha256": null, + "staged_sha256": "20aabb9f4846ab4fa6e28e0763d153188da151ee32293366a51b0fdf872a4d24" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/base-sbom.cdx.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/base-sbom.cdx.json", + "original_sha256": null, + "staged_sha256": "bb40bcd500ec91ad16affe116e74357ab4090827dd930e2186dc99988403bc50" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/base-trivy-full.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/base-trivy-full.json", + "original_sha256": null, + "staged_sha256": "1b683afb558fedcc20b921599eca536551296afecbc81ce062c359f1b26cfac6" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/candidate-image-inspect.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/candidate-image-inspect.json", + "original_sha256": null, + "staged_sha256": "56466225f35cdf23c5540c0cc37c77424755ca42794e81f2c99ccf13840c34de" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/candidate-runtime.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/candidate-runtime.json", + "original_sha256": null, + "staged_sha256": "d58e60bdc69458fe42af8248e02acd924b3b605c828877352a7d9a3953e90124" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/context-source.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/context-source.json", + "original_sha256": null, + "staged_sha256": "cccf41cf766a037f31f9ab29ae57f6b34c00e0237c94a8a0ce61c9c78fd06828" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/download-receipt.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/download-receipt.json", + "original_sha256": null, + "staged_sha256": "847fce8466807e88a54ea5e374c2ac49ffa25e208697e71e94d83a5cc185b40d" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/local-candidate-verification.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/local-candidate-verification.json", + "original_sha256": null, + "staged_sha256": "c82fa8aab33426fdd6f7730b627d226d3469b9d31c525bca7c28a52ab4847fc1" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/official-zlib-index-entry.txt", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/official-zlib-index-entry.txt", + "original_sha256": null, + "staged_sha256": "63b6831755f33c4fe7c8d7dd49cf2a60251edfcd45e4555f2731941939cb8d0a" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/official-zlib-package-info.txt", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/official-zlib-package-info.txt", + "original_sha256": null, + "staged_sha256": "395e0ee97996853c6cf03f17dfe25b57d109b0432c6faabb585d78e6ac6f534a" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/proposal.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/proposal.json", + "original_sha256": null, + "staged_sha256": "a12877b149427713c12e67f2597bf330d32dd0b30464008c0f79fc593f05d894" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/sbom.cdx.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/sbom.cdx.json", + "original_sha256": null, + "staged_sha256": "287a61e1aaf78b58c014726e9bcc1ddc2c46949ac0ee74d53fccae3007eac1bb" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/trivy-full.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/trivy-full.json", + "original_sha256": null, + "staged_sha256": "fd37bc2d502a9f017f673486f0f960433fc0fc12dcd745e5ed8074e9c3b600d9" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/verify_local_artifacts.py", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/verify_local_artifacts.py", + "original_sha256": null, + "staged_sha256": "6706f62937a742a9c5cc00c42d6261d67d4f1e675b868e67db70dc0b5be03afa" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/tools/zlib_overlay/check_build_inputs.py", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/tools/zlib_overlay/check_build_inputs.py", + "original_sha256": null, + "staged_sha256": "1bf0219765dbcf5f7e26495ac4d49f240affa21deeb9b06c65e275afd10d2e06" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/tools/zlib_overlay/check_runtime.py", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/tools/zlib_overlay/check_runtime.py", + "original_sha256": null, + "staged_sha256": "eb1fca9a43d3394d652f748cde2e8d28cbe646ad61c40f990c0b8878c522a3be" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/tools/zlib_overlay/compare_runtime.py", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/tools/zlib_overlay/compare_runtime.py", + "original_sha256": null, + "staged_sha256": "545f04844f90d028f5d8bb65fb16f3805ee5735ac687ec28303eb9dbb4195b0d" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/tools/zlib_overlay/test_candidate.py", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/tools/zlib_overlay/test_candidate.py", + "original_sha256": null, + "staged_sha256": "68677b91c34101776381abcabffcd983bf2452076f983f32599ab1f7ad177bb9" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/workplans/INFD-WP-0009-lifecycle-consumer-pin-repair.md", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/workplans/INFD-WP-0009-lifecycle-consumer-pin-repair.md", + "original_sha256": null, + "staged_sha256": "af785afbf188184b72563c10813663d44117df7cb7394ecb1b9a25cbdfea67a4" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/intermediate-64509029/README.md", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/intermediate-64509029/README.md", + "original_sha256": null, + "staged_sha256": "4d0b0ed0b41f2098adfa2e626c641360855cd0e717bbd2d7a6c155cee2ae91ec" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/intermediate-64509029/archive-map.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/intermediate-64509029/archive-map.json", + "original_sha256": null, + "staged_sha256": "3e81c1cedb2e3b25d83a779011898181a7860ff76532ede5fa3e9b8f63632700" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/intermediate-64509029/artifact-comparison.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/intermediate-64509029/artifact-comparison.json", + "original_sha256": null, + "staged_sha256": "689fa7cbd322cb31b215fd2e86e0be267c1398f9b71e5615446d5f7b82dcce89" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/intermediate-64509029/audit-refinement.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/intermediate-64509029/audit-refinement.json", + "original_sha256": null, + "staged_sha256": "020514b7514999699512fb338d89630e7eaf51a739e68bf77342eeefe8ad507f" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/intermediate-64509029/local-candidate-verification.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/intermediate-64509029/local-candidate-verification.json", + "original_sha256": null, + "staged_sha256": "9ed9bfebae3618936f6b916819949adfb23668fedeb350ae63b43cd2aa6a7d92" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/intermediate-64509029/original-manifest.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/intermediate-64509029/original-manifest.json", + "original_sha256": null, + "staged_sha256": "64509029b3de6d33e3675587663ccdae027d9ea18aba83750892480766dd03b8" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/intermediate-64509029/test_artifact_audit.py", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/intermediate-64509029/test_artifact_audit.py", + "original_sha256": null, + "staged_sha256": "e9c5a628e40acc3ae241bb3f3bf9c2846c064601761a11aecce81ba4803c8f71" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/intermediate-64509029/verify_local_artifacts.py", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/intermediate-64509029/verify_local_artifacts.py", + "original_sha256": null, + "staged_sha256": "53778a2c3c89aee4c1256ed7e5896db033d960c6345d490620e4f06d03268794" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/local-candidate-verification.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/local-candidate-verification.json", + "original_sha256": null, + "staged_sha256": "51505fa91e8d498c2eb3814442e89b01621290f1b39da08a5f460f6f6f9f112c" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/official-zlib-index-entry.txt", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/official-zlib-index-entry.txt", + "original_sha256": null, + "staged_sha256": "63b6831755f33c4fe7c8d7dd49cf2a60251edfcd45e4555f2731941939cb8d0a" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/official-zlib-package-info.txt", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/official-zlib-package-info.txt", + "original_sha256": null, + "staged_sha256": "395e0ee97996853c6cf03f17dfe25b57d109b0432c6faabb585d78e6ac6f534a" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/proposal.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/proposal.json", + "original_sha256": null, + "staged_sha256": "a12877b149427713c12e67f2597bf330d32dd0b30464008c0f79fc593f05d894" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/sbom.cdx.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/sbom.cdx.json", + "original_sha256": null, + "staged_sha256": "287a61e1aaf78b58c014726e9bcc1ddc2c46949ac0ee74d53fccae3007eac1bb" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/test_artifact_audit.py", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/test_artifact_audit.py", + "original_sha256": null, + "staged_sha256": "8635859fb63f8778e48ae4f3532e6fc37eb1fbc289801ec5b68b8a90bb6fc364" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/trivy-full.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/trivy-full.json", + "original_sha256": null, + "staged_sha256": "fd37bc2d502a9f017f673486f0f960433fc0fc12dcd745e5ed8074e9c3b600d9" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/verify_local_artifacts.py", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/verify_local_artifacts.py", + "original_sha256": null, + "staged_sha256": "08805c1e23f88626bc5e80cf7d9547af4149547bd091d02cb32ad1bd18820f41" + }, + { + "repo": "informed-decision", + "path": "tools/zlib_overlay/check_build_inputs.py", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/tools/zlib_overlay/check_build_inputs.py", + "original_sha256": null, + "staged_sha256": "1bf0219765dbcf5f7e26495ac4d49f240affa21deeb9b06c65e275afd10d2e06" + }, + { + "repo": "informed-decision", + "path": "tools/zlib_overlay/check_runtime.py", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/tools/zlib_overlay/check_runtime.py", + "original_sha256": null, + "staged_sha256": "eb1fca9a43d3394d652f748cde2e8d28cbe646ad61c40f990c0b8878c522a3be" + }, + { + "repo": "informed-decision", + "path": "tools/zlib_overlay/compare_runtime.py", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/tools/zlib_overlay/compare_runtime.py", + "original_sha256": null, + "staged_sha256": "545f04844f90d028f5d8bb65fb16f3805ee5735ac687ec28303eb9dbb4195b0d" + }, + { + "repo": "informed-decision", + "path": "tools/zlib_overlay/test_candidate.py", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/tools/zlib_overlay/test_candidate.py", + "original_sha256": null, + "staged_sha256": "68677b91c34101776381abcabffcd983bf2452076f983f32599ab1f7ad177bb9" + }, + { + "repo": "informed-decision", + "path": "workplans/INFD-WP-0009-lifecycle-consumer-pin-repair.md", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/workplans/INFD-WP-0009-lifecycle-consumer-pin-repair.md", + "original_sha256": "73fe52f0a188067d3e9c9d78584117b9cfa40ce417bb31530cbc2e9bbe858223", + "staged_sha256": "af785afbf188184b72563c10813663d44117df7cb7394ecb1b9a25cbdfea67a4" + } +] diff --git a/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/frozen66-verify_local_artifacts.py b/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/frozen66-verify_local_artifacts.py new file mode 100644 index 0000000..5973303 --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/frozen66-verify_local_artifacts.py @@ -0,0 +1,52 @@ +from pathlib import Path +import hashlib,io,json,tarfile,sys +if sys.flags.optimize: + raise SystemExit("REFUSED: optimized Python disables required artifact validation") +root=Path(sys.argv[1]) if len(sys.argv)==2 else Path('/tmp/infd-zlib-remediation-build') +def image(path): + with tarfile.open(path) as archive: + manifest=json.load(archive.extractfile('manifest.json'));assert len(manifest)==1 + configbytes=archive.extractfile(manifest[0]['Config']).read();config=json.loads(configbytes) + files={} + for name in manifest[0]['Layers']: + with tarfile.open(fileobj=archive.extractfile(name),mode='r|*') as layer: + for member in layer: + path=member.name + while path.startswith('./'):path=path[2:] + path=path.lstrip('/');p=Path(path) + if p.name=='.wh..wh..opq': + folder=p.parent.as_posix();prefix='' if folder=='.' else folder+'/' + files={key:value for key,value in files.items() if not key.startswith(prefix)};continue + if p.name.startswith('.wh.'): + removed=(p.parent/p.name[4:]).as_posix();files={key:value for key,value in files.items() if key!=removed and not key.startswith(removed+'/')};continue + if member.isfile(): + data=layer.extractfile(member).read();value=('file',member.mode,member.uid,member.gid,hashlib.sha256(data).hexdigest()) + elif member.isdir():value=('directory',member.mode,member.uid,member.gid,None) + elif member.issym() or member.islnk():value=('link',member.mode,member.uid,member.gid,member.linkname) + else:continue + files[path]=value + return config,hashlib.sha256(configbytes).hexdigest(),files +base,baseid,bfiles=image(root/'base-image.tar');candidate,candidateid,cfiles=image(root/'image.tar') +assert candidate['rootfs']['diff_ids'][:-2]==base['rootfs']['diff_ids'] +changed={name:{'before':bfiles.get(name),'after':cfiles.get(name)} for name in sorted(set(bfiles)|set(cfiles)) if bfiles.get(name)!=cfiles.get(name)} +expected={'usr/lib/libz.so.1.3.2','lib/apk/db/installed'} +assert set(changed)<=expected,set(changed) +a,b=base['config'].copy(),candidate['config'].copy() +labels_a=a.pop('Labels',{});labels_b=b.pop('Labels',{}) +a.pop('Image',None);b.pop('Image',None) +defaults={'Hostname':'','Domainname':'','AttachStdin':False,'AttachStdout':False,'AttachStderr':False,'Tty':False,'OpenStdin':False,'StdinOnce':False,'Cmd':None,'Volumes':None,'OnBuild':None} +for key,value in defaults.items(): + a.setdefault(key,value);b.setdefault(key,value) +assert a==b,(a,b) +components=[] +for name in ['base-sbom.cdx.json','sbom.cdx.json']: + data=json.loads((root/name).read_text());components.append({c['name']:c['version'] for c in data['components'] if c.get('purl')}) +sbom_delta={name:[components[0].get(name),components[1].get(name)] for name in set(components[0])|set(components[1]) if components[0].get(name)!=components[1].get(name)} +assert sbom_delta=={'zlib':['1.3.2-r0','1.3.2-r1']},sbom_delta +vulns=[] +for name in ['base-trivy-full.json','trivy-full.json']: + data=json.loads((root/name).read_text());vulns.append([v for r in data.get('Results',[]) for v in r.get('Vulnerabilities',[])]) +assert len(vulns[0])==1 and vulns[0][0]['VulnerabilityID']=='CVE-2026-85091' and vulns[0][0]['Severity']=='MEDIUM' +assert not vulns[1] +proof={'base_image_config_id':'sha256:'+baseid,'candidate_local_image_config_id':'sha256:'+candidateid,'candidate_registry_digest':None,'base_layers_preserved':len(base['rootfs']['diff_ids']),'new_layers':2,'effective_runtime_config_identical':True,'raw_config_bytes_identical':False,'serialization_note':'Legacy base explicitly serialized empty/false/null defaults; candidate Docker-save config omits equivalent known defaults. Exact closed default normalization only; runtime fields unchanged.','labels_before':labels_a,'labels_after':labels_b,'final_changed_files':changed,'directory_metadata_compared':True,'directory_count_base':sum(v[0]=='directory' for v in bfiles.values()),'directory_count_candidate':sum(v[0]=='directory' for v in cfiles.values()),'directory_metadata_delta':{k:v for k,v in changed.items() if (v['before'] and v['before'][0]=='directory') or (v['after'] and v['after'][0]=='directory')},'sbom_package_count_base':len(components[0]),'sbom_package_count_candidate':len(components[1]),'sbom_only_delta':sbom_delta,'full_scan_baseline_findings':1,'full_scan_candidate_allseverity_findings':0,'db_snapshot_same':True,'native_workload_changed':False} +(root/'artifact-comparison.json').write_text(json.dumps(proof,indent=2)+'\n');print(json.dumps({key:proof[key] for key in ['candidate_local_image_config_id','base_layers_preserved','effective_runtime_config_identical','sbom_only_delta','full_scan_candidate_allseverity_findings']}));print(json.dumps(list(changed))) diff --git a/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/original-manifest.json b/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/original-manifest.json new file mode 100644 index 0000000..3618287 --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/original-manifest.json @@ -0,0 +1,113 @@ +{ + "owner": "informed-decision", + "scope": "exact amended T05 source agreement; same T08; historical initial review retained; no publication or native go", + "candidate_manifest_sha256": "64509029b3de6d33e3675587663ccdae027d9ea18aba83750892480766dd03b8", + "initial_product_review_manifest_sha256": "5f33475707f7cf4ea3a6f1ac8d653b1af566c507347d70ba09b67813a5ccf225", + "files": [ + { + "repo": "informed-decision", + "path": "workplans/ADHOC-2026-10-11.md", + "staged_path": "/tmp/infd-zlib-product-final-review-stage/owner/workplans/ADHOC-2026-10-11.md", + "original_sha256": "da3b3f73be7c026c6a8740d548dce64a8269d0e6a02e8c438f03b43c0e9091b8", + "staged_sha256": "11039006000e55d6add3f7da70661545c4dfc1d533481eca8145d2452dbf574b" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/original-manifest.json", + "staged_path": "/tmp/infd-zlib-product-final-review-stage/owner/docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/original-manifest.json", + "original_sha256": null, + "staged_sha256": "5f33475707f7cf4ea3a6f1ac8d653b1af566c507347d70ba09b67813a5ccf225" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/owner-snapshot/workplans/ADHOC-2026-10-11.md", + "staged_path": "/tmp/infd-zlib-product-final-review-stage/owner/docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/owner-snapshot/workplans/ADHOC-2026-10-11.md", + "original_sha256": null, + "staged_sha256": "6b8ae1bf0f8c775873bfa37f8988169e66edd81c37ea4e23f5a00c6b868abe22" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/owner-snapshot/docs/reviews/2026-10-11-zlib-candidate-product-owner-review.md", + "staged_path": "/tmp/infd-zlib-product-final-review-stage/owner/docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/owner-snapshot/docs/reviews/2026-10-11-zlib-candidate-product-owner-review.md", + "original_sha256": null, + "staged_sha256": "ab3dcfb63eb2b38844e8d45da6ccfe21a1dfc97e57a3dbf23bc38d7694437ff8" + }, + { + "repo": "informed-decision", + "path": "docs/reviews/2026-10-11-zlib-candidate-product-owner-review.md", + "staged_path": "/tmp/infd-zlib-product-final-review-stage/owner/docs/reviews/2026-10-11-zlib-candidate-product-owner-review.md", + "original_sha256": null, + "staged_sha256": "ab3dcfb63eb2b38844e8d45da6ccfe21a1dfc97e57a3dbf23bc38d7694437ff8" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-review/check_product.py", + "staged_path": "/tmp/infd-zlib-product-final-review-stage/owner/docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-review/check_product.py", + "original_sha256": null, + "staged_sha256": "e660a6010a835cc618e55509f54c25a7aa9aecb1a528d14120b2f9b40bc1242b" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-candidate-product-review/check_product.py", + "staged_path": "/tmp/infd-zlib-product-final-review-stage/owner/docs/evidence/2026-10-11-zlib-candidate-product-review/check_product.py", + "original_sha256": null, + "staged_sha256": "e660a6010a835cc618e55509f54c25a7aa9aecb1a528d14120b2f9b40bc1242b" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-review/validation.json", + "staged_path": "/tmp/infd-zlib-product-final-review-stage/owner/docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-review/validation.json", + "original_sha256": null, + "staged_sha256": "e18a11328b744ab682346f4a8b37e9a6bf7965cfa84b4da939baaec22911fce5" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-candidate-product-review/validation.json", + "staged_path": "/tmp/infd-zlib-product-final-review-stage/owner/docs/evidence/2026-10-11-zlib-candidate-product-review/validation.json", + "original_sha256": null, + "staged_sha256": "e18a11328b744ab682346f4a8b37e9a6bf7965cfa84b4da939baaec22911fce5" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-review/independent-artifact-comparison.json", + "staged_path": "/tmp/infd-zlib-product-final-review-stage/owner/docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-review/independent-artifact-comparison.json", + "original_sha256": null, + "staged_sha256": "f76c98b9e8acbc4ad85bd7cf36cc42c8bf6c09063d9a2c25ef45cb027f71ef5c" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-candidate-product-review/independent-artifact-comparison.json", + "staged_path": "/tmp/infd-zlib-product-final-review-stage/owner/docs/evidence/2026-10-11-zlib-candidate-product-review/independent-artifact-comparison.json", + "original_sha256": null, + "staged_sha256": "f76c98b9e8acbc4ad85bd7cf36cc42c8bf6c09063d9a2c25ef45cb027f71ef5c" + }, + { + "repo": "informed-decision", + "path": "docs/reviews/2026-10-11-zlib-candidate-product-owner-final-ack.md", + "staged_path": "/tmp/infd-zlib-product-final-review-stage/owner/docs/reviews/2026-10-11-zlib-candidate-product-owner-final-ack.md", + "original_sha256": null, + "staged_sha256": "5cd9af6da8e8b9329bbf3be56c82f62b827bed66d0b7d860350c421e8105aca6" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-candidate-product-final-review/check_amendment.py", + "staged_path": "/tmp/infd-zlib-product-final-review-stage/owner/docs/evidence/2026-10-11-zlib-candidate-product-final-review/check_amendment.py", + "original_sha256": null, + "staged_sha256": "f79ca389f7d2a2294b3eed0229865caa5811ee4a53bfd545335453c85ee37b09" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-candidate-product-final-review/validation.json", + "staged_path": "/tmp/infd-zlib-product-final-review-stage/owner/docs/evidence/2026-10-11-zlib-candidate-product-final-review/validation.json", + "original_sha256": null, + "staged_sha256": "9cf6bb12f93ebfc2b92fc470f50a470256a25db3a70f98f2c08a6e73011ebb1d" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-candidate-product-final-review/independent-directory-artifact-comparison.json", + "staged_path": "/tmp/infd-zlib-product-final-review-stage/owner/docs/evidence/2026-10-11-zlib-candidate-product-final-review/independent-directory-artifact-comparison.json", + "original_sha256": null, + "staged_sha256": "c3760ab21efea5f7088e9b81a9d092727eb5a04d130519951d28b5327bee31d8" + } + ] +} diff --git a/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/check_amendment.py b/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/check_amendment.py new file mode 100644 index 0000000..8b6f589 --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/check_amendment.py @@ -0,0 +1,20 @@ +import pathlib,json,hashlib +S=pathlib.Path('/tmp/infd-zlib-candidate-stage/informed-decision');P=S/'docs/evidence/2026-10-11-zlib-remediation-candidate';O=pathlib.Path('/tmp/infd-zlib-product-final-review-stage');H=lambda b:hashlib.sha256(b).hexdigest() +m=pathlib.Path('/tmp/infd-zlib-candidate-stage/manifest.json');assert H(m.read_bytes())=='64509029b3de6d33e3675587663ccdae027d9ea18aba83750892480766dd03b8' +entries=json.loads(m.read_text());assert len(entries)==58 +for e in entries:assert H(pathlib.Path(e['staged_path']).read_bytes())==e['staged_sha256'] +oldm=P/'initial-8d345bb2/original-manifest.json';assert H(oldm.read_bytes())=='8d345bb2bde3efce4d0cc99dfc2f883a64f79c42d2cd4abb288229a995e9ad66' +old=json.loads(oldm.read_text());oldroot=P/'initial-8d345bb2/owner-snapshot';changed=[] +for e in old: + original=oldroot/e['path'];assert H(original.read_bytes())==e['staged_sha256'] + if H((S/e['path']).read_bytes())!=e['staged_sha256']:changed.append(e['path']) +assert set(changed)=={'docs/evidence/2026-10-11-zlib-remediation-candidate/'+n for n in ['README.md','artifact-comparison.json','local-candidate-verification.json','verify_local_artifacts.py']} +r=json.loads((P/'local-candidate-verification.json').read_text());oldr=json.loads((oldroot/'docs/evidence/2026-10-11-zlib-remediation-candidate/local-candidate-verification.json').read_text()) +for k in ['candidate_docker_daemon_image_id','candidate_saved_oci_config_digest','source_context_sha256','build_inputs','scanner_db_sha256','baseline_full_scan_findings','candidate_full_scan_allseverity_findings']:assert r[k]==oldr[k] +code=(P/'verify_local_artifacts.py').read_text().replace("(root/'artifact-comparison.json').write_text", "(Path('/tmp/infd-zlib-product-final-review-stage')/'independent-directory-artifact-comparison.json').write_text") +exec(compile(code,'product-amended-readback','exec'),{}) +a=json.loads((O/'independent-directory-artifact-comparison.json').read_text());b=json.loads((P/'artifact-comparison.json').read_text()) +for k in ['directory_metadata_compared','directory_count_base','directory_count_candidate','directory_metadata_delta','final_changed_files','base_layers_preserved']:assert a[k]==b[k] +assert a['directory_metadata_compared'] and not a['directory_metadata_delta'] +(O/'validation.json').write_text(json.dumps(dict(exact_manifest_sha256=H(m.read_bytes()),all58_hashes_verified=True,all27_initial_archived_hashes_verified=True,changed_initial_paths=changed,image_context_source_workflow_runtime_scan_unchanged=True,new_source_tests_passed=3,directory_negative_mutations=3,optimized_tampered_before_read_refusal=True,existing_actual_archives_directory_reaudit=True,directory_count_base=a['directory_count_base'],directory_count_candidate=a['directory_count_candidate'],directory_metadata_delta={},native_actions=False),indent=2)+'\n') +print('Exact amended source and directory metadata readback pass.') diff --git a/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/independent-directory-artifact-comparison.json b/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/independent-directory-artifact-comparison.json new file mode 100644 index 0000000..9d63407 --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/independent-directory-artifact-comparison.json @@ -0,0 +1,73 @@ +{ + "base_image_config_id": "sha256:f34de21379c4f50ea0361ca1d8296c8e72f989499ad288016b81204997ae4779", + "candidate_local_image_config_id": "sha256:625d066416e901eaa2db5e18b96c37559b25dd91bdc3afb3d1ff5e916c7a8a3f", + "candidate_registry_digest": null, + "base_layers_preserved": 9, + "new_layers": 2, + "effective_runtime_config_identical": true, + "raw_config_bytes_identical": false, + "serialization_note": "Legacy base explicitly serialized empty/false/null defaults; candidate Docker-save config omits equivalent known defaults. Exact closed default normalization only; runtime fields unchanged.", + "labels_before": { + "org.opencontainers.image.base.digest": "sha256:7f5c6cb29c9f70a026bfe30e72934274ddc69261676cf6d476f81dd32812d173", + "org.opencontainers.image.revision": "3e4bcb26f8eeaa8c64345c565477b5ac8ccbb168", + "social.coulomb.release.scope": "INFD-WP-0009-T04/purpose-overlay-v1", + "social.coulomb.source.policy.sha256": "9d7c1be4cb6199d14ef0aaead5f85951f45b0ccbd7c800a7fde922a253566b62" + }, + "labels_after": { + "org.opencontainers.image.base.digest": "sha256:763c36402c8be7cc4c1bd1a61623d1aff9116d52241877425b45a7018cc0883a", + "org.opencontainers.image.revision": "uncommitted-T05-local-preparation", + "social.coulomb.release.scope": "INFD-WP-0009-T05/zlib-85091-r1", + "social.coulomb.source.context.sha256": "c554e62a84af340cba15d469a4568f6d0c40923e580b08ed7565e22702b1207d", + "social.coulomb.source.policy.sha256": "9d7c1be4cb6199d14ef0aaead5f85951f45b0ccbd7c800a7fde922a253566b62" + }, + "final_changed_files": { + "lib/apk/db/installed": { + "before": [ + "file", + 420, + 0, + 0, + "6383ea3806247e8dbf9ebee8cb30eb8eca63a8ea59662a793127d6a61b988d70" + ], + "after": [ + "file", + 420, + 0, + 0, + "f590762196710e25c0e9f72da0642cad8a5dcba0aa9e58a0cbaa65684d15c001" + ] + }, + "usr/lib/libz.so.1.3.2": { + "before": [ + "file", + 493, + 0, + 0, + "a1e2c03dcdedba98a06a00cadfb67a0e0b1cd93986860ec0c5ce66e789c44e57" + ], + "after": [ + "file", + 493, + 0, + 0, + "ecc8b9dfc45eb7fa29b410ffaca6257873890de53b80fe91735737b49067c5f2" + ] + } + }, + "directory_metadata_compared": true, + "directory_count_base": 313, + "directory_count_candidate": 313, + "directory_metadata_delta": {}, + "sbom_package_count_base": 44, + "sbom_package_count_candidate": 44, + "sbom_only_delta": { + "zlib": [ + "1.3.2-r0", + "1.3.2-r1" + ] + }, + "full_scan_baseline_findings": 1, + "full_scan_candidate_allseverity_findings": 0, + "db_snapshot_same": true, + "native_workload_changed": false +} diff --git a/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/original-manifest.json b/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/original-manifest.json new file mode 100644 index 0000000..81b04ce --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/original-manifest.json @@ -0,0 +1,42 @@ +{ + "owner": "informed-decision", + "scope": "exact local T05 source candidate only; no native go/publication or task completion", + "candidate_manifest_sha256": "8d345bb2bde3efce4d0cc99dfc2f883a64f79c42d2cd4abb288229a995e9ad66", + "files": [ + { + "repo": "informed-decision", + "path": "workplans/ADHOC-2026-10-11.md", + "staged_path": "/tmp/infd-zlib-product-review-stage/owner/workplans/ADHOC-2026-10-11.md", + "original_sha256": "da3b3f73be7c026c6a8740d548dce64a8269d0e6a02e8c438f03b43c0e9091b8", + "staged_sha256": "6b8ae1bf0f8c775873bfa37f8988169e66edd81c37ea4e23f5a00c6b868abe22" + }, + { + "repo": "informed-decision", + "path": "docs/reviews/2026-10-11-zlib-candidate-product-owner-review.md", + "staged_path": "/tmp/infd-zlib-product-review-stage/owner/docs/reviews/2026-10-11-zlib-candidate-product-owner-review.md", + "original_sha256": null, + "staged_sha256": "ab3dcfb63eb2b38844e8d45da6ccfe21a1dfc97e57a3dbf23bc38d7694437ff8" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-candidate-product-review/check_product.py", + "staged_path": "/tmp/infd-zlib-product-review-stage/owner/docs/evidence/2026-10-11-zlib-candidate-product-review/check_product.py", + "original_sha256": null, + "staged_sha256": "e660a6010a835cc618e55509f54c25a7aa9aecb1a528d14120b2f9b40bc1242b" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-candidate-product-review/validation.json", + "staged_path": "/tmp/infd-zlib-product-review-stage/owner/docs/evidence/2026-10-11-zlib-candidate-product-review/validation.json", + "original_sha256": null, + "staged_sha256": "e18a11328b744ab682346f4a8b37e9a6bf7965cfa84b4da939baaec22911fce5" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-candidate-product-review/independent-artifact-comparison.json", + "staged_path": "/tmp/infd-zlib-product-review-stage/owner/docs/evidence/2026-10-11-zlib-candidate-product-review/independent-artifact-comparison.json", + "original_sha256": null, + "staged_sha256": "f76c98b9e8acbc4ad85bd7cf36cc42c8bf6c09063d9a2c25ef45cb027f71ef5c" + } + ] +} diff --git a/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-review/check_product.py b/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-review/check_product.py new file mode 100644 index 0000000..36291cd --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-review/check_product.py @@ -0,0 +1,39 @@ +import pathlib,json,hashlib,copy,importlib.util,tarfile +S=pathlib.Path('/tmp/infd-zlib-candidate-stage/informed-decision');O=pathlib.Path('/tmp/infd-zlib-product-review-stage');M=pathlib.Path('/tmp/infd-zlib-candidate-stage/manifest.json') +H=lambda b:hashlib.sha256(b).hexdigest() +assert H(M.read_bytes())=='8d345bb2bde3efce4d0cc99dfc2f883a64f79c42d2cd4abb288229a995e9ad66' +for f in json.loads(M.read_text()):assert H(pathlib.Path(f['staged_path']).read_bytes())==f['staged_sha256'] +E=S/'docs/evidence/2026-10-11-zlib-remediation-candidate';receipt=json.loads((E/'local-candidate-verification.json').read_text()) +for n,h in receipt['evidence_file_sha256'].items():assert H((E/n).read_bytes())==h +spec=importlib.util.spec_from_file_location('cmp',S/'tools/zlib_overlay/compare_runtime.py');cmp=importlib.util.module_from_spec(spec);spec.loader.exec_module(cmp) +a=json.loads((E/'base-runtime.json').read_text());b=json.loads((E/'candidate-runtime.json').read_text());assert cmp.compare(a,b)['app_files_identical']==36 +mutations=['appfile','keys','world','network','provider'] +for field in mutations: + c=copy.deepcopy(b) + if field=='appfile':c['app_file_sha256']['policy.py']='0'*64 + elif field=='keys':c['apk_keys_sha256']['extra.pub']='0'*64 + elif field=='world':c['apk_world_sha256']='0'*64 + elif field=='network':c['network_accessed']=True + else:c['provider_or_customer_data_used']=True + try:cmp.compare(a,c) + except ValueError:pass + else:raise AssertionError(field) +# Read local image archives, source verifier operations are limited to these public local artifacts. +code=(E/'verify_local_artifacts.py').read_text().replace("(root/'artifact-comparison.json').write_text", "(Path('/tmp/infd-zlib-product-review-stage')/'independent-artifact-comparison.json').write_text") +exec(compile(code,'product-local-artifact-readback','exec'),{}) +proof=json.loads((O/'independent-artifact-comparison.json').read_text());assert set(proof['final_changed_files'])=={'usr/lib/libz.so.1.3.2','lib/apk/db/installed'} +for key in ['final_changed_files','sbom_only_delta','base_layers_preserved','new_layers']: + assert proof[key]==json.loads((E/'artifact-comparison.json').read_text())[key] +# Inspect signed archive metadata and match named trusted key already installed in unchanged baseline. +for n in ['zlib-1.3.2-r1.apk','APKINDEX.tar.gz']: + with tarfile.open(S/'deploy/zlib-overlay'/n) as t: + signs=[x.name for x in t if x.name.startswith('.SIGN.')] + assert signs==['.SIGN.RSA.alpine-devel@lists.alpinelinux.org-6165ee59.rsa.pub'],signs + assert 'alpine-devel@lists.alpinelinux.org-6165ee59.rsa.pub' in a['apk_keys_sha256'] +base_scan=json.loads((E/'base-trivy-full.json').read_text());scan=json.loads((E/'trivy-full.json').read_text()) +assert sum(len(x.get('Packages',[])) for x in scan['Results'])==44 +assert base_scan['Metadata']['OS']==scan['Metadata']['OS'] +assert not [v for x in scan['Results'] for v in x.get('Vulnerabilities',[])] +container=(S/'deploy/zlib-overlay/Containerfile').read_text();assert '--allow-untrusted' not in container and '--keys-dir' not in container and 'apk verify ' in container +result={'manifest_sha256':H(M.read_bytes()),'all27_staged_hashes_verified':True,'evidence_hashes_verified':True,'existing_source_tests':4,'existing_source_negative_mutations':8,'additional_product_negative_mutations':mutations,'saved_image_fs_and_layer_runtime_readback':True,'sbom_only_zlib_delta':True,'scan44_packages_zero_at_retained_db':True,'signed_archive_named_key_matches_unchanged_baseline_truststore':True,'signature_execution_basis':'Retained actual maker apk verify success against exact763 trusted keys; recipe enforces same check. Product independently checked signed archive metadata/hash/truststore identity, not a fresh apk execution.','native_actions':False,'candidate_published':False} +(O/'validation.json').write_text(json.dumps(result,indent=2)+'\n');print('Product source checks passed, 5 additional scope mutations refused.') diff --git a/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-review/independent-artifact-comparison.json b/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-review/independent-artifact-comparison.json new file mode 100644 index 0000000..2db5495 --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-review/independent-artifact-comparison.json @@ -0,0 +1,69 @@ +{ + "base_image_config_id": "sha256:f34de21379c4f50ea0361ca1d8296c8e72f989499ad288016b81204997ae4779", + "candidate_local_image_config_id": "sha256:625d066416e901eaa2db5e18b96c37559b25dd91bdc3afb3d1ff5e916c7a8a3f", + "candidate_registry_digest": null, + "base_layers_preserved": 9, + "new_layers": 2, + "effective_runtime_config_identical": true, + "raw_config_bytes_identical": false, + "serialization_note": "Legacy base explicitly serialized empty/false/null defaults; candidate Docker-save config omits equivalent known defaults. Exact closed default normalization only; runtime fields unchanged.", + "labels_before": { + "org.opencontainers.image.base.digest": "sha256:7f5c6cb29c9f70a026bfe30e72934274ddc69261676cf6d476f81dd32812d173", + "org.opencontainers.image.revision": "3e4bcb26f8eeaa8c64345c565477b5ac8ccbb168", + "social.coulomb.release.scope": "INFD-WP-0009-T04/purpose-overlay-v1", + "social.coulomb.source.policy.sha256": "9d7c1be4cb6199d14ef0aaead5f85951f45b0ccbd7c800a7fde922a253566b62" + }, + "labels_after": { + "org.opencontainers.image.base.digest": "sha256:763c36402c8be7cc4c1bd1a61623d1aff9116d52241877425b45a7018cc0883a", + "org.opencontainers.image.revision": "uncommitted-T05-local-preparation", + "social.coulomb.release.scope": "INFD-WP-0009-T05/zlib-85091-r1", + "social.coulomb.source.context.sha256": "c554e62a84af340cba15d469a4568f6d0c40923e580b08ed7565e22702b1207d", + "social.coulomb.source.policy.sha256": "9d7c1be4cb6199d14ef0aaead5f85951f45b0ccbd7c800a7fde922a253566b62" + }, + "final_changed_files": { + "lib/apk/db/installed": { + "before": [ + "file", + 420, + 0, + 0, + "6383ea3806247e8dbf9ebee8cb30eb8eca63a8ea59662a793127d6a61b988d70" + ], + "after": [ + "file", + 420, + 0, + 0, + "f590762196710e25c0e9f72da0642cad8a5dcba0aa9e58a0cbaa65684d15c001" + ] + }, + "usr/lib/libz.so.1.3.2": { + "before": [ + "file", + 493, + 0, + 0, + "a1e2c03dcdedba98a06a00cadfb67a0e0b1cd93986860ec0c5ce66e789c44e57" + ], + "after": [ + "file", + 493, + 0, + 0, + "ecc8b9dfc45eb7fa29b410ffaca6257873890de53b80fe91735737b49067c5f2" + ] + } + }, + "sbom_package_count_base": 44, + "sbom_package_count_candidate": 44, + "sbom_only_delta": { + "zlib": [ + "1.3.2-r0", + "1.3.2-r1" + ] + }, + "full_scan_baseline_findings": 1, + "full_scan_candidate_allseverity_findings": 0, + "db_snapshot_same": true, + "native_workload_changed": false +} diff --git a/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-review/validation.json b/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-review/validation.json new file mode 100644 index 0000000..d09a3fc --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-review/validation.json @@ -0,0 +1,21 @@ +{ + "manifest_sha256": "8d345bb2bde3efce4d0cc99dfc2f883a64f79c42d2cd4abb288229a995e9ad66", + "all27_staged_hashes_verified": true, + "evidence_hashes_verified": true, + "existing_source_tests": 4, + "existing_source_negative_mutations": 8, + "additional_product_negative_mutations": [ + "appfile", + "keys", + "world", + "network", + "provider" + ], + "saved_image_fs_and_layer_runtime_readback": true, + "sbom_only_zlib_delta": true, + "scan44_packages_zero_at_retained_db": true, + "signed_archive_named_key_matches_unchanged_baseline_truststore": true, + "signature_execution_basis": "Retained actual maker apk verify success against exact763 trusted keys; recipe enforces same check. Product independently checked signed archive metadata/hash/truststore identity, not a fresh apk execution.", + "native_actions": false, + "candidate_published": false +} diff --git a/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/owner-snapshot/docs/reviews/2026-10-11-zlib-candidate-product-owner-review.md b/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/owner-snapshot/docs/reviews/2026-10-11-zlib-candidate-product-owner-review.md new file mode 100644 index 0000000..461d4d1 --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/owner-snapshot/docs/reviews/2026-10-11-zlib-candidate-product-owner-review.md @@ -0,0 +1,74 @@ +# Bounded zlib candidate Product owner review + +```yaml +reviewer: informed-decision-owner (agent informed-decision, codex) +decision: approved +work_item: INFD-WP-ADHOC-2026-10-11-T08 +scope: exact local zlib-only source candidate technical preparation +manifest_sha256: 8d345bb2bde3efce4d0cc99dfc2f883a64f79c42d2cd4abb288229a995e9ad66 +comment: >- + Informed-decision intent requires human binding and preserved evidence; this + candidate changes only a native compression dependency while preserving + application authorization/presentation behavior. T08 review work record was + completed first. This is technical source agreement, not native go, publication + receipt, founder acceptance or T05 completion. +``` + +All27 staged hashes and retained evidence-file hashes independently verify. +Independent saved-image archive readback confirms all nine exact763 base diff_ids +as prefix, equal effective runtime configuration with only explicitly normalized +empty/false/null defaults, and final filesystem changes exactly +`usr/lib/libz.so.1.3.2` and `lib/apk/db/installed`. Modes/owners remain equivalent. +Application36 files, policy9d7, trust keys, APK world, Python dependencies, OpenSSL +and UID/GID10001 remain equal. Root build identity returns to10001:10001. +No service values, namespace, DB, customer data, config, PVC, schema, audience, +policy pins, protected helper or existing release journal is changed. + +Package/index bytes match pinned official HTTPS download hashes. Both signed +archives name alpine-devel@lists.alpinelinux.org-6165ee59.rsa.pub, already present +in unchanged baseline trust metadata. Retained actual maker apk verify success +against exact763 installed keys is the execution evidence; this review separately +checks archive signatures' metadata, bytes and trust identity, without claiming +a new signature-verification execution. Containerfile requires digest checks and +`apk verify` success before offline named-package upgrade; no allow-untrusted or +keys-dir override. Existing trusted keys are not replaced. +[Official apk verify documentation](https://github.com/alpinelinux/apk-tools/blob/master/doc/apk-verify.8.scd) +defines integrity/signature checking and nonzero failure. +Upgrade selects only zlib from retained local signed index, disables network, +preupgrade and logging, and removes temporary public artifacts. + +Both full CycloneDX/Trivy artifacts independently show44 packages and only +zlib1.3.2-r0 to1.3.2-r1 version delta. Full baseline has one MEDIUM +CVE-2026-85091; candidate has zero findings at the retained same database +03cacb40452ceb74afdfca072cb82f79ee884dfac006ef24a4dfdad133b0f917. +No severity suppression is inferred or permitted. Alpine3.24 EOL-list warning +and actual38 OS/6 Python detector coverage remain disclosed. This is bounded +scan improvement at that snapshot, not estate risk grading or future safety. +Local daemon image78bfdcc and saved OCI config625d are distinct disclosed +representations; neither is a published registry digest or native image proof. + +Four existing source tests pass, covering eight mutations; five additional Product +mutations of app source, trust keys, APK world, network and provider/data flags +refuse. Independent archive/SBOM/scan readback agrees with maker artifact receipt. +Retained four compression vectors/three malformed refusals/crypto/JWT/waitress +and ten installed purpose variants are local synthetic checks, not live PDP +or customer/native-data testing. No new container or native execution by reviewer. + +Workflow publishes only a source-bound candidate through existing admitted owner +registry capability after root source review/commit: exact40hex source revision, +fixed owner archive, four input hashes/contextc554, exact763 base, no-network +bounded build, unchanged runtime comparison and purpose checks before push. +It has no kubectl, Argo, DB/admin, namespace or runtime deployment action. +The workflow is unexecuted; source review does not attest CI credentials, actual +publication or published artifact equivalence. Root must retain actual CI/source +revision and registry descriptor/layer/config/package/signature/context readback, +then full published scan/SBOM and scoped candidate release preparation. Only +distinct exact informed-decision founder native approval followed by installedr1, +runtime/purpose and full-rescan proof can close T05. Future image-only rollback +to763 preserves latest DB; no historical snapshot restore. + +T05 remains progress, WP0009 active, manual follow-up due2026-10-18; no automatic +controller is implied. T04/c96 accepted outcome and original uncertain journals +remain historical and immutable. INFD-IN-0010 is unchanged and unpromoted. +No new native authority, owner checkout write, credential/login, deployment or +customer-data access occurred in this review. diff --git a/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/owner-snapshot/workplans/ADHOC-2026-10-11.md b/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/owner-snapshot/workplans/ADHOC-2026-10-11.md new file mode 100644 index 0000000..b39c57f --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/owner-snapshot/workplans/ADHOC-2026-10-11.md @@ -0,0 +1,259 @@ +--- +id: INFD-WP-ADHOC-2026-10-11 +type: workplan +title: "Application-owner catalogue facts review" +domain: infotech +repo: informed-decision +status: finished +owner: codex +topic_slug: netkingdom +created: "2026-10-11" +updated: "2026-10-11" +flavor: planning +state_hub_workstream_id: "4594d714-a6ec-5ab6-ad44-4227a27fc7be" +--- + +## Review exact one-application catalogue facts + +```task +id: INFD-WP-ADHOC-2026-10-11-T01 +status: done +priority: medium +state_hub_task_id: "cfe1ec8c-c635-5f23-847c-bf8296965305" +``` + +Completed informed-decision application-owner source review under INTENT.md +Purpose, What informed-decision Owns/Does Not Own, Design Principles 9-10, +and Layer Placement. Read actual owner OIDC, requester and policy-request +code, governing Staff/PEP-shaped declaration, User Engine model, and existing +value-free native registration/Ingress/preflight receipts. Exact canonical +facts agree. Browser client is distinct from create-only requester. + +Review entry: docs/reviews/2026-10-11-one-app-catalogue-facts-review.md. +Canonical facts SHA-256: +`ae6fde5f2c879e75fabb53e132261899dae0f4d864e18dd425bc272be713426b`. +Reviewed refined nine-file executor manifest SHA-256: +`0ff545d26a0fd72f06040fe377de3efdcc3bd62cdcb6f653247c8ba72f3f34a7`. + +This task completes the application-facts source review only. It grants no +maintenance exception, native dry-run/apply/recovery, IAM permission, image +release or human disposition. Existing User Engine native acceptance work +remains with USER-WP-0026-T03 and USER-WP-0028-T02; no new residual work is +created by this bounded review. No tests were needed for this evidence-only +review; no native, credential or login action occurred. + +## Independently review purpose overlay release preparation + +```task +id: INFD-WP-ADHOC-2026-10-11-T02 +status: done +priority: medium +``` + +Completed same-role informed-decision-owner technical review of frozen36-path +purpose release manifest SHA-256 +`7c6738b39ea8e54e61c8ed625e94ad0b2755e672e1576efcdf84a1d665ac3300`. +All36 staged file hashes and exact source PolicyClient9d7 hash were verified. +Source candidates and captured candidate Deployment differ only in the image. +Actual raw base/candidate scans contain the same one fixable MEDIUM zlib finding; +T05 keeps its2026-10-18 follow-through. Actual published-image receipts and +sealed native read-only preflight support preparation, not native deployment. + +Independent owner negatives:50 passed in4.21s, covering10 advisory/malformed +binding forms across register, replay, publish, annotate and revise. Each +refusal preserves every domain table, records a truthful invalid-decision +observation and leaves the same idempotency key reusable after restoring a +canonical enforcement response. These are synthetic source tests only. +Test: tests/test_purpose_owner_mutation_negatives.py. +Receipt: docs/evidence/2026-10-11-purpose-image-release/product-owner-review-validation.json. +Review: docs/reviews/2026-10-11-purpose-release-product-owner-review.md. + +This bounded review grants no native backup/export/restore, image rollout, +credentials, login, human disposition or vulnerability acceptance. Existing +INFD-WP-0009-T04/T05 retain release/remediation obligations; no separate residual +is created or claimed completed. Catalogue ACK/T01 remains unchanged. + +## Confirm amended purpose release custody and preflight gates + +```task +id: INFD-WP-ADHOC-2026-10-11-T03 +status: done +priority: medium +``` + +Same informed-decision-owner reviewed amended78-path release manifest SHA-256 +`b1e3e66bc4023dc80c6ea59564c3557c7653fb3c307f46a049997b76198a9033`. +All78 file hashes verified, original36 archive retained, source PolicyClient9d7 +and both image-only source candidates unchanged. Prior50 source lifecycle +mutation/idempotency negatives remain applicable and were not repeated. + +Confirmed stdlib read-only schema5/integrity/count gate before ANY native or +restored Store/admin open, explicit local/remote optimized-interpreter refusal, +sealed actual ConfigMap/PVC identity/data/custody and frozen offline clone count +equality distinguished from legitimate concurrent live commits. Revised20-doc +184912-byte packet and01:39 read-only dry-run receipts remain preparation. +Native schema gate, backup/export/restore/release and founder disposition remain +unperformed; T04/T05 obligations and temporary vulnerability review persist. + +Confirmation: docs/reviews/2026-10-11-purpose-release-amended-product-owner-review.md. +Prior T01 catalogue ACK including hub identifiers and T02 initial36 review/test/ +receipt remain unchanged. No new residual or authority is created by this review. + +## Reconcile Staff evidence source declaration and current guarantees + +```task +id: INFD-WP-ADHOC-2026-10-11-T04 +status: done +priority: medium +``` + +Reviewed accepted bounded GH-DEC-2026-025 handoff against actual source +class definitions, transactional recording, heartbeat/reconciliation scheduling, +existing component-test assertions and native count/receipt evidence. Reconciled +stale outbox/AUDIT-WP-0009 blockers without promoting owed guarantees or reopening +finished INFD-WP-0005/0007. INFD-IN-0007 retains doctrine response and pending +NET-IN-0004 standard voice. INFD-IN-0009 is the one live, unpromoted residual +source intake for remaining class-specific declaration/verification gaps, +origin INFD-WP-0007. No residual implementation or native action occurred. + +Source evidence reconciliation: +docs/evidence/2026-10-11-staff-evidence-source-reconciliation.md. +Formal source review: +docs/reviews/2026-10-11-staff-evidence-source-owner-review.md. +Existing Staff/PEP-shaped classification, three load-bearing class classifications, +compromised-source and commitment/content availability limits remain unchanged. + +## Independently review supervised purpose actuator product boundaries + +```task +id: INFD-WP-ADHOC-2026-10-11-T05 +status: done +priority: medium +``` + +Same informed-decision-owner reviewed exact23-path helper manifest +`f2fad6c251fbb4420e07c1329802f521b513bbf66e51f64c5d673ef04f16284c`, +all staged hashes and embedded source bundle/plan. Product evidence/schema5, +private snapshot custody, confined offline UID0 initialization followed by +UID10001 pre/post-admin verification, independent failed-candidate rollback +and all-phase start deadline are technically agreed as source preparation. + +No purpose-policy or candidate image change. Retained helper16 synthetic tests +and platform5 independent recovery negatives are mechanism proof; prior50 +product policy negatives remain applicable. No new test run was needed for this +unchanged-source review. Native-provider acceptance remains distinct from the +installed10 synthetic purpose forms; T04 is not complete. Before first human +post, amend exact20-document packet to hash-bind helper/plan, four render inputs, +initializer/recovery/deadline refinements and preserved full scan provenance. +Exact combined packet acknowledgement remains a separate review gate. + +Review: docs/reviews/2026-10-11-purpose-actuator-product-owner-review.md. +No native reads/backups/export/restore/release, credentials, human disposition, +founder approval or phase authority was exercised by this review. + +## Prepare separately gated provider-derived denial mechanism probe + +```task +id: INFD-WP-ADHOC-2026-10-11-T06 +status: done +priority: medium +``` + +Prepared source-only readonly lifecycle.search provider-derived mechanism probe +with truthful informed-decision/review SERVICE and no human/StateHub attributes. +Actual lifecyclev2 permits only StateHub workload or admitted AAL2 humans, so a +canonical real DENY is required; no claims are invented to obtain ALLOW. +One actual provider response will remain in Pod memory; ten transformed +noncanonical purpose copies test installed consumer refusal without further +provider calls, DB/admin or act effects. This is a denial/binding mechanism +proof candidate, not actual authorized lifecycle or full T04 acceptance. + +Source: docs/evidence/2026-10-11-purpose-provider-probe/. +Ten synthetic source tests pass; no actual provider, credential, runtime config, +DB, native data or live action was accessed. Posted frozen112 packet/helper +remain unchanged. Exact separate founder go for this newly prepared probe and +its target must precede any execution; current memo has no acceptance and this +new helper is not hash-bound in that submitted packet. T04 remains progress. + +## Review exact existing-snapshot rescue version2 preparation + +```task +id: INFD-WP-ADHOC-2026-10-11-T07 +status: done +priority: medium +``` + +Reviewed exact66-path rescue manifest0867e27a6754dddff3eedbb333ab4ca4faa98ee31d383ebe940b8e054c6cabf7 +under the same informed-decision-owner role. Actual original backupCOMPLETE/copy +UNCERTAIN are retained; new rescue journal/phase and sourceversion2/newreviewown1 +require fresh founder acceptance. Immutable reads are bounded to proven frozen +closed snapshots; live/offline writable-clone reads remain WAL-aware/explicitclose. +Independent existing26 mocked tests plus41 subtests pass, and10 new product scope +guards pass (including eight refusal mutations and a frozen initial packet check). +No native command, DB open, credentials or rescue operation occurred. + +Initial review decision changes_requested: proposal.json misleadingly names old +f2fad helper manifest as execution_helper_manifest_sha256 after helper bytes changed; +label it original/historical and refreeze all dependent packet hashes. Correct +current bundle/plan digests already exist. The normalized test fixture is not an +owner edit or approval. Initial review/failure must remain after correction; +exact amended confirmation is still required before newhuman submission/execution. + +Review: docs/reviews/2026-10-11-purpose-rescue-product-owner-review.md. +Evidence/checks: docs/evidence/2026-10-11-purpose-rescue-product-review/. +T04 remains progress; original version1 approval is not newversion2 authority. + +**Amended source confirmation, same T07 trial:** exact134-path manifest +`d05d6e3b15df9acf1d7aef0ba2ec82a5a00d979ab1f324e981025cffe2cc753d` +corrects only the historical helper provenance label and dependent packet hashes; +original66 source and initial changes-requested review remain retained. Current +helper code/bundle49c9/plan9ce5 are unchanged. Strict typed sourceversion2/CAS1 +and20documents validate:173469packetbytes/240451revisionbytes. Eight scope +mutations and three packet mutations independently refuse. Final technical +source acknowledgement approved; no new human acceptance or native rescue. +Confirmation: docs/reviews/2026-10-11-purpose-rescue-product-owner-final-ack.md. + + +**Actual-outcome assessment preparation, same completed T07 trial:** independently +verified original receipt-byte hashes and source consumer path after approved +source c96b0c6 release. Offline schema5/admin/post counts match; fresh cutover +backup/private copy matches live post-release counts16/56/0, delivered336, +confirmed43. Independent image/module/config/PVC/controlled Pod and UID/GID10001 +checks pass. Actual post-rollout authenticated provider-backed outcomes readback +is separate from installed ten synthetic purpose forms (2allow/8refuse). +Completed source-only assessment supports T04 done, T05 todo and WP0009 active. +Original failed copy and verifier UNCERTAIN remain preserved, with no replay or +helper amendment. Created unpromoted INFD-IN-0010 for future verifier omission +handling correction; no implementation, native action or authority grant. +This work-record preparation precedes the formal actual-outcome review entry. +Review: docs/reviews/2026-10-11-purpose-native-outcome-product-owner-acceptance.md. +Evidence: docs/evidence/2026-10-11-purpose-native-acceptance/. + + +## Independently review bounded zlib-only T05 source candidate + +```task +id: INFD-WP-ADHOC-2026-10-11-T08 +status: done +priority: medium +``` + +Completed informed-decision Product source review of exact27-path candidate +manifest8d345bb2bde3efce4d0cc99dfc2f883a64f79c42d2cd4abb288229a995e9ad66. +All staged/evidence hashes verify. Independently reread local saved base/candidate +image archives, effective runtime config, nine base layer prefix, two final file +changes and both full scan/SBOM artifacts. Only zlib1.3.2-r0 to r1 differs; +44 packages/base1MED to candidate0 at retained same scanner database. +Signed APK/index named key matches unchanged base trust metadata; enforced +apk verify against existing keys retained, no allow-untrusted or truststore override. +Four existing source tests pass (eight refusal mutations), plus five independent +appfile/trustkeys/world/network/provider metadata mutations refuse. +Purpose/backend checks remain local and synthetic, not actual PDP or data proof. +Technical source preparation agreement only: local image78bfdcc is unpublished, +T05 remains progress/WP0009 active; CI exact published provenance/scan/SBOM and +new native founder approval/installed proof are still required. Current763/native +DB/config/PVC/identity/approved R2 helper and journal remain unchanged; INFD-IN-0010 +is unpromoted/unimplemented. No native actions, credentials or owner source writes. +This completed work record is prepared before the formal review entry. +Review: docs/reviews/2026-10-11-zlib-candidate-product-owner-review.md. +Evidence: docs/evidence/2026-10-11-zlib-candidate-product-review/. diff --git a/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/validation.json b/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/validation.json new file mode 100644 index 0000000..5548150 --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-final-review/validation.json @@ -0,0 +1,20 @@ +{ + "exact_manifest_sha256": "64509029b3de6d33e3675587663ccdae027d9ea18aba83750892480766dd03b8", + "all58_hashes_verified": true, + "all27_initial_archived_hashes_verified": true, + "changed_initial_paths": [ + "docs/evidence/2026-10-11-zlib-remediation-candidate/README.md", + "docs/evidence/2026-10-11-zlib-remediation-candidate/artifact-comparison.json", + "docs/evidence/2026-10-11-zlib-remediation-candidate/local-candidate-verification.json", + "docs/evidence/2026-10-11-zlib-remediation-candidate/verify_local_artifacts.py" + ], + "image_context_source_workflow_runtime_scan_unchanged": true, + "new_source_tests_passed": 3, + "directory_negative_mutations": 3, + "optimized_tampered_before_read_refusal": true, + "existing_actual_archives_directory_reaudit": true, + "directory_count_base": 313, + "directory_count_candidate": 313, + "directory_metadata_delta": {}, + "native_actions": false +} diff --git a/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-review/check_product.py b/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-review/check_product.py new file mode 100644 index 0000000..36291cd --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-review/check_product.py @@ -0,0 +1,39 @@ +import pathlib,json,hashlib,copy,importlib.util,tarfile +S=pathlib.Path('/tmp/infd-zlib-candidate-stage/informed-decision');O=pathlib.Path('/tmp/infd-zlib-product-review-stage');M=pathlib.Path('/tmp/infd-zlib-candidate-stage/manifest.json') +H=lambda b:hashlib.sha256(b).hexdigest() +assert H(M.read_bytes())=='8d345bb2bde3efce4d0cc99dfc2f883a64f79c42d2cd4abb288229a995e9ad66' +for f in json.loads(M.read_text()):assert H(pathlib.Path(f['staged_path']).read_bytes())==f['staged_sha256'] +E=S/'docs/evidence/2026-10-11-zlib-remediation-candidate';receipt=json.loads((E/'local-candidate-verification.json').read_text()) +for n,h in receipt['evidence_file_sha256'].items():assert H((E/n).read_bytes())==h +spec=importlib.util.spec_from_file_location('cmp',S/'tools/zlib_overlay/compare_runtime.py');cmp=importlib.util.module_from_spec(spec);spec.loader.exec_module(cmp) +a=json.loads((E/'base-runtime.json').read_text());b=json.loads((E/'candidate-runtime.json').read_text());assert cmp.compare(a,b)['app_files_identical']==36 +mutations=['appfile','keys','world','network','provider'] +for field in mutations: + c=copy.deepcopy(b) + if field=='appfile':c['app_file_sha256']['policy.py']='0'*64 + elif field=='keys':c['apk_keys_sha256']['extra.pub']='0'*64 + elif field=='world':c['apk_world_sha256']='0'*64 + elif field=='network':c['network_accessed']=True + else:c['provider_or_customer_data_used']=True + try:cmp.compare(a,c) + except ValueError:pass + else:raise AssertionError(field) +# Read local image archives, source verifier operations are limited to these public local artifacts. +code=(E/'verify_local_artifacts.py').read_text().replace("(root/'artifact-comparison.json').write_text", "(Path('/tmp/infd-zlib-product-review-stage')/'independent-artifact-comparison.json').write_text") +exec(compile(code,'product-local-artifact-readback','exec'),{}) +proof=json.loads((O/'independent-artifact-comparison.json').read_text());assert set(proof['final_changed_files'])=={'usr/lib/libz.so.1.3.2','lib/apk/db/installed'} +for key in ['final_changed_files','sbom_only_delta','base_layers_preserved','new_layers']: + assert proof[key]==json.loads((E/'artifact-comparison.json').read_text())[key] +# Inspect signed archive metadata and match named trusted key already installed in unchanged baseline. +for n in ['zlib-1.3.2-r1.apk','APKINDEX.tar.gz']: + with tarfile.open(S/'deploy/zlib-overlay'/n) as t: + signs=[x.name for x in t if x.name.startswith('.SIGN.')] + assert signs==['.SIGN.RSA.alpine-devel@lists.alpinelinux.org-6165ee59.rsa.pub'],signs + assert 'alpine-devel@lists.alpinelinux.org-6165ee59.rsa.pub' in a['apk_keys_sha256'] +base_scan=json.loads((E/'base-trivy-full.json').read_text());scan=json.loads((E/'trivy-full.json').read_text()) +assert sum(len(x.get('Packages',[])) for x in scan['Results'])==44 +assert base_scan['Metadata']['OS']==scan['Metadata']['OS'] +assert not [v for x in scan['Results'] for v in x.get('Vulnerabilities',[])] +container=(S/'deploy/zlib-overlay/Containerfile').read_text();assert '--allow-untrusted' not in container and '--keys-dir' not in container and 'apk verify ' in container +result={'manifest_sha256':H(M.read_bytes()),'all27_staged_hashes_verified':True,'evidence_hashes_verified':True,'existing_source_tests':4,'existing_source_negative_mutations':8,'additional_product_negative_mutations':mutations,'saved_image_fs_and_layer_runtime_readback':True,'sbom_only_zlib_delta':True,'scan44_packages_zero_at_retained_db':True,'signed_archive_named_key_matches_unchanged_baseline_truststore':True,'signature_execution_basis':'Retained actual maker apk verify success against exact763 trusted keys; recipe enforces same check. Product independently checked signed archive metadata/hash/truststore identity, not a fresh apk execution.','native_actions':False,'candidate_published':False} +(O/'validation.json').write_text(json.dumps(result,indent=2)+'\n');print('Product source checks passed, 5 additional scope mutations refused.') diff --git a/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-review/independent-artifact-comparison.json b/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-review/independent-artifact-comparison.json new file mode 100644 index 0000000..2db5495 --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-review/independent-artifact-comparison.json @@ -0,0 +1,69 @@ +{ + "base_image_config_id": "sha256:f34de21379c4f50ea0361ca1d8296c8e72f989499ad288016b81204997ae4779", + "candidate_local_image_config_id": "sha256:625d066416e901eaa2db5e18b96c37559b25dd91bdc3afb3d1ff5e916c7a8a3f", + "candidate_registry_digest": null, + "base_layers_preserved": 9, + "new_layers": 2, + "effective_runtime_config_identical": true, + "raw_config_bytes_identical": false, + "serialization_note": "Legacy base explicitly serialized empty/false/null defaults; candidate Docker-save config omits equivalent known defaults. Exact closed default normalization only; runtime fields unchanged.", + "labels_before": { + "org.opencontainers.image.base.digest": "sha256:7f5c6cb29c9f70a026bfe30e72934274ddc69261676cf6d476f81dd32812d173", + "org.opencontainers.image.revision": "3e4bcb26f8eeaa8c64345c565477b5ac8ccbb168", + "social.coulomb.release.scope": "INFD-WP-0009-T04/purpose-overlay-v1", + "social.coulomb.source.policy.sha256": "9d7c1be4cb6199d14ef0aaead5f85951f45b0ccbd7c800a7fde922a253566b62" + }, + "labels_after": { + "org.opencontainers.image.base.digest": "sha256:763c36402c8be7cc4c1bd1a61623d1aff9116d52241877425b45a7018cc0883a", + "org.opencontainers.image.revision": "uncommitted-T05-local-preparation", + "social.coulomb.release.scope": "INFD-WP-0009-T05/zlib-85091-r1", + "social.coulomb.source.context.sha256": "c554e62a84af340cba15d469a4568f6d0c40923e580b08ed7565e22702b1207d", + "social.coulomb.source.policy.sha256": "9d7c1be4cb6199d14ef0aaead5f85951f45b0ccbd7c800a7fde922a253566b62" + }, + "final_changed_files": { + "lib/apk/db/installed": { + "before": [ + "file", + 420, + 0, + 0, + "6383ea3806247e8dbf9ebee8cb30eb8eca63a8ea59662a793127d6a61b988d70" + ], + "after": [ + "file", + 420, + 0, + 0, + "f590762196710e25c0e9f72da0642cad8a5dcba0aa9e58a0cbaa65684d15c001" + ] + }, + "usr/lib/libz.so.1.3.2": { + "before": [ + "file", + 493, + 0, + 0, + "a1e2c03dcdedba98a06a00cadfb67a0e0b1cd93986860ec0c5ce66e789c44e57" + ], + "after": [ + "file", + 493, + 0, + 0, + "ecc8b9dfc45eb7fa29b410ffaca6257873890de53b80fe91735737b49067c5f2" + ] + } + }, + "sbom_package_count_base": 44, + "sbom_package_count_candidate": 44, + "sbom_only_delta": { + "zlib": [ + "1.3.2-r0", + "1.3.2-r1" + ] + }, + "full_scan_baseline_findings": 1, + "full_scan_candidate_allseverity_findings": 0, + "db_snapshot_same": true, + "native_workload_changed": false +} diff --git a/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-review/validation.json b/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-review/validation.json new file mode 100644 index 0000000..d09a3fc --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/evidence/2026-10-11-zlib-candidate-product-review/validation.json @@ -0,0 +1,21 @@ +{ + "manifest_sha256": "8d345bb2bde3efce4d0cc99dfc2f883a64f79c42d2cd4abb288229a995e9ad66", + "all27_staged_hashes_verified": true, + "evidence_hashes_verified": true, + "existing_source_tests": 4, + "existing_source_negative_mutations": 8, + "additional_product_negative_mutations": [ + "appfile", + "keys", + "world", + "network", + "provider" + ], + "saved_image_fs_and_layer_runtime_readback": true, + "sbom_only_zlib_delta": true, + "scan44_packages_zero_at_retained_db": true, + "signed_archive_named_key_matches_unchanged_baseline_truststore": true, + "signature_execution_basis": "Retained actual maker apk verify success against exact763 trusted keys; recipe enforces same check. Product independently checked signed archive metadata/hash/truststore identity, not a fresh apk execution.", + "native_actions": false, + "candidate_published": false +} diff --git a/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/reviews/2026-10-11-zlib-candidate-product-owner-final-ack.md b/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/reviews/2026-10-11-zlib-candidate-product-owner-final-ack.md new file mode 100644 index 0000000..c100415 --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/reviews/2026-10-11-zlib-candidate-product-owner-final-ack.md @@ -0,0 +1,55 @@ +# Exact amended zlib candidate Product confirmation + +```yaml +reviewer: informed-decision-owner (agent informed-decision, codex) +decision: approved +work_item: INFD-WP-ADHOC-2026-10-11-T08 +scope: exact amended local T05 source candidate preparation only +manifest_sha256: 64509029b3de6d33e3675587663ccdae027d9ea18aba83750892480766dd03b8 +comment: >- + Same completed T08 preparation trial: work-record refinement was prepared + before this formal exact acknowledgment. Initial Product agreement/manifest + 5f334 remains historical, including its bounded audit validation. This final + confirmation covers the guard refinement, not publication/native approval, + a second scored success or T05 completion. +``` + +All58 final staged hashes verify; all27 initial candidate snapshots match +immutable manifest8d345bb2. Actual initial-to-current diff changes only four +existing paths: artifact checker, its comparison and local-validation receipts, +and README. New audit tests/refinement record and original source archive are +additions. No Containerfile/workflow, signed APK/index/pins/four-file context, +package/runtime/backend/app/identity/policy artifact, scan/SBOM/DB or WP source +scope changed. Local daemon78bfdcc/config625d remain unpublished; source recipe +contextc554 and actual retained DB03cacb remain exact. Original four-source-test +and Product five negative-probe findings remain applicable, not needlessly rerun. + +The artifact checker now refuses optimized Python before any archive/JSON read, +so assertions cannot silently disappear. Directory mode/UID/GID metadata is +included in final layer reconstruction and diff enforcement. Three new source +tests pass: malformed archive under -O refuses explicitly before reads; identical +directory metadata passes; each mode/UID/GID mutation refuses without a report. +These fixtures are isolated synthetic source tests. Independent reread of actual +existing local saved-image archives confirms equal directory counts and no +directory metadata delta; the same two final changed files are libz and APK DB, +nine base layers remain prefix and effective runtime config/SBOM/scan match. +No new image build, container launch, scan, customer/native data or provider call +was performed by this review. + +Initial Product review and validation retain their exact bytes under +`docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/`; +original current review file remains the initial agreement, with this separate +final acknowledgment carrying the refinement. Signature trust conclusions stay +bounded to pinned signed artifacts/unchanged trust metadata, actual retained +maker apk verify and enforced recipe; this acknowledgment does not claim fresh +cryptographic execution. Zero findings remains specific to retained sameDB scan, +not an estate risk grade or future safety assurance. + +T05 remains progress, WP0009 active and manual follow-up due2026-10-18. Root +source review/commit and admitted owner CI candidate publication, exact actual +published registry provenance/package/full scan/SBOM, separate fresh native +founder release acceptance and installedr1/runtime/full-rescan proof remain +required. Existing approved R2 helper/journal, native image763, DB/config/PVC/ +identity and T04/c96 outcome are unchanged. INFD-IN-0010 remains unpromoted and +unimplemented. This technical acknowledgment grants no native action, human +acceptance, credential capability or publication execution. diff --git a/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/reviews/2026-10-11-zlib-candidate-product-owner-review.md b/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/reviews/2026-10-11-zlib-candidate-product-owner-review.md new file mode 100644 index 0000000..461d4d1 --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/docs/reviews/2026-10-11-zlib-candidate-product-owner-review.md @@ -0,0 +1,74 @@ +# Bounded zlib candidate Product owner review + +```yaml +reviewer: informed-decision-owner (agent informed-decision, codex) +decision: approved +work_item: INFD-WP-ADHOC-2026-10-11-T08 +scope: exact local zlib-only source candidate technical preparation +manifest_sha256: 8d345bb2bde3efce4d0cc99dfc2f883a64f79c42d2cd4abb288229a995e9ad66 +comment: >- + Informed-decision intent requires human binding and preserved evidence; this + candidate changes only a native compression dependency while preserving + application authorization/presentation behavior. T08 review work record was + completed first. This is technical source agreement, not native go, publication + receipt, founder acceptance or T05 completion. +``` + +All27 staged hashes and retained evidence-file hashes independently verify. +Independent saved-image archive readback confirms all nine exact763 base diff_ids +as prefix, equal effective runtime configuration with only explicitly normalized +empty/false/null defaults, and final filesystem changes exactly +`usr/lib/libz.so.1.3.2` and `lib/apk/db/installed`. Modes/owners remain equivalent. +Application36 files, policy9d7, trust keys, APK world, Python dependencies, OpenSSL +and UID/GID10001 remain equal. Root build identity returns to10001:10001. +No service values, namespace, DB, customer data, config, PVC, schema, audience, +policy pins, protected helper or existing release journal is changed. + +Package/index bytes match pinned official HTTPS download hashes. Both signed +archives name alpine-devel@lists.alpinelinux.org-6165ee59.rsa.pub, already present +in unchanged baseline trust metadata. Retained actual maker apk verify success +against exact763 installed keys is the execution evidence; this review separately +checks archive signatures' metadata, bytes and trust identity, without claiming +a new signature-verification execution. Containerfile requires digest checks and +`apk verify` success before offline named-package upgrade; no allow-untrusted or +keys-dir override. Existing trusted keys are not replaced. +[Official apk verify documentation](https://github.com/alpinelinux/apk-tools/blob/master/doc/apk-verify.8.scd) +defines integrity/signature checking and nonzero failure. +Upgrade selects only zlib from retained local signed index, disables network, +preupgrade and logging, and removes temporary public artifacts. + +Both full CycloneDX/Trivy artifacts independently show44 packages and only +zlib1.3.2-r0 to1.3.2-r1 version delta. Full baseline has one MEDIUM +CVE-2026-85091; candidate has zero findings at the retained same database +03cacb40452ceb74afdfca072cb82f79ee884dfac006ef24a4dfdad133b0f917. +No severity suppression is inferred or permitted. Alpine3.24 EOL-list warning +and actual38 OS/6 Python detector coverage remain disclosed. This is bounded +scan improvement at that snapshot, not estate risk grading or future safety. +Local daemon image78bfdcc and saved OCI config625d are distinct disclosed +representations; neither is a published registry digest or native image proof. + +Four existing source tests pass, covering eight mutations; five additional Product +mutations of app source, trust keys, APK world, network and provider/data flags +refuse. Independent archive/SBOM/scan readback agrees with maker artifact receipt. +Retained four compression vectors/three malformed refusals/crypto/JWT/waitress +and ten installed purpose variants are local synthetic checks, not live PDP +or customer/native-data testing. No new container or native execution by reviewer. + +Workflow publishes only a source-bound candidate through existing admitted owner +registry capability after root source review/commit: exact40hex source revision, +fixed owner archive, four input hashes/contextc554, exact763 base, no-network +bounded build, unchanged runtime comparison and purpose checks before push. +It has no kubectl, Argo, DB/admin, namespace or runtime deployment action. +The workflow is unexecuted; source review does not attest CI credentials, actual +publication or published artifact equivalence. Root must retain actual CI/source +revision and registry descriptor/layer/config/package/signature/context readback, +then full published scan/SBOM and scoped candidate release preparation. Only +distinct exact informed-decision founder native approval followed by installedr1, +runtime/purpose and full-rescan proof can close T05. Future image-only rollback +to763 preserves latest DB; no historical snapshot restore. + +T05 remains progress, WP0009 active, manual follow-up due2026-10-18; no automatic +controller is implied. T04/c96 accepted outcome and original uncertain journals +remain historical and immutable. INFD-IN-0010 is unchanged and unpromoted. +No new native authority, owner checkout write, credential/login, deployment or +customer-data access occurred in this review. diff --git a/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/workplans/ADHOC-2026-10-11.md b/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/workplans/ADHOC-2026-10-11.md new file mode 100644 index 0000000..c139962 --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/intermediate-8bc6da55/owner-snapshot/workplans/ADHOC-2026-10-11.md @@ -0,0 +1,273 @@ +--- +id: INFD-WP-ADHOC-2026-10-11 +type: workplan +title: "Application-owner catalogue facts review" +domain: infotech +repo: informed-decision +status: finished +owner: codex +topic_slug: netkingdom +created: "2026-10-11" +updated: "2026-10-11" +flavor: planning +state_hub_workstream_id: "4594d714-a6ec-5ab6-ad44-4227a27fc7be" +--- + +## Review exact one-application catalogue facts + +```task +id: INFD-WP-ADHOC-2026-10-11-T01 +status: done +priority: medium +state_hub_task_id: "cfe1ec8c-c635-5f23-847c-bf8296965305" +``` + +Completed informed-decision application-owner source review under INTENT.md +Purpose, What informed-decision Owns/Does Not Own, Design Principles 9-10, +and Layer Placement. Read actual owner OIDC, requester and policy-request +code, governing Staff/PEP-shaped declaration, User Engine model, and existing +value-free native registration/Ingress/preflight receipts. Exact canonical +facts agree. Browser client is distinct from create-only requester. + +Review entry: docs/reviews/2026-10-11-one-app-catalogue-facts-review.md. +Canonical facts SHA-256: +`ae6fde5f2c879e75fabb53e132261899dae0f4d864e18dd425bc272be713426b`. +Reviewed refined nine-file executor manifest SHA-256: +`0ff545d26a0fd72f06040fe377de3efdcc3bd62cdcb6f653247c8ba72f3f34a7`. + +This task completes the application-facts source review only. It grants no +maintenance exception, native dry-run/apply/recovery, IAM permission, image +release or human disposition. Existing User Engine native acceptance work +remains with USER-WP-0026-T03 and USER-WP-0028-T02; no new residual work is +created by this bounded review. No tests were needed for this evidence-only +review; no native, credential or login action occurred. + +## Independently review purpose overlay release preparation + +```task +id: INFD-WP-ADHOC-2026-10-11-T02 +status: done +priority: medium +``` + +Completed same-role informed-decision-owner technical review of frozen36-path +purpose release manifest SHA-256 +`7c6738b39ea8e54e61c8ed625e94ad0b2755e672e1576efcdf84a1d665ac3300`. +All36 staged file hashes and exact source PolicyClient9d7 hash were verified. +Source candidates and captured candidate Deployment differ only in the image. +Actual raw base/candidate scans contain the same one fixable MEDIUM zlib finding; +T05 keeps its2026-10-18 follow-through. Actual published-image receipts and +sealed native read-only preflight support preparation, not native deployment. + +Independent owner negatives:50 passed in4.21s, covering10 advisory/malformed +binding forms across register, replay, publish, annotate and revise. Each +refusal preserves every domain table, records a truthful invalid-decision +observation and leaves the same idempotency key reusable after restoring a +canonical enforcement response. These are synthetic source tests only. +Test: tests/test_purpose_owner_mutation_negatives.py. +Receipt: docs/evidence/2026-10-11-purpose-image-release/product-owner-review-validation.json. +Review: docs/reviews/2026-10-11-purpose-release-product-owner-review.md. + +This bounded review grants no native backup/export/restore, image rollout, +credentials, login, human disposition or vulnerability acceptance. Existing +INFD-WP-0009-T04/T05 retain release/remediation obligations; no separate residual +is created or claimed completed. Catalogue ACK/T01 remains unchanged. + +## Confirm amended purpose release custody and preflight gates + +```task +id: INFD-WP-ADHOC-2026-10-11-T03 +status: done +priority: medium +``` + +Same informed-decision-owner reviewed amended78-path release manifest SHA-256 +`b1e3e66bc4023dc80c6ea59564c3557c7653fb3c307f46a049997b76198a9033`. +All78 file hashes verified, original36 archive retained, source PolicyClient9d7 +and both image-only source candidates unchanged. Prior50 source lifecycle +mutation/idempotency negatives remain applicable and were not repeated. + +Confirmed stdlib read-only schema5/integrity/count gate before ANY native or +restored Store/admin open, explicit local/remote optimized-interpreter refusal, +sealed actual ConfigMap/PVC identity/data/custody and frozen offline clone count +equality distinguished from legitimate concurrent live commits. Revised20-doc +184912-byte packet and01:39 read-only dry-run receipts remain preparation. +Native schema gate, backup/export/restore/release and founder disposition remain +unperformed; T04/T05 obligations and temporary vulnerability review persist. + +Confirmation: docs/reviews/2026-10-11-purpose-release-amended-product-owner-review.md. +Prior T01 catalogue ACK including hub identifiers and T02 initial36 review/test/ +receipt remain unchanged. No new residual or authority is created by this review. + +## Reconcile Staff evidence source declaration and current guarantees + +```task +id: INFD-WP-ADHOC-2026-10-11-T04 +status: done +priority: medium +``` + +Reviewed accepted bounded GH-DEC-2026-025 handoff against actual source +class definitions, transactional recording, heartbeat/reconciliation scheduling, +existing component-test assertions and native count/receipt evidence. Reconciled +stale outbox/AUDIT-WP-0009 blockers without promoting owed guarantees or reopening +finished INFD-WP-0005/0007. INFD-IN-0007 retains doctrine response and pending +NET-IN-0004 standard voice. INFD-IN-0009 is the one live, unpromoted residual +source intake for remaining class-specific declaration/verification gaps, +origin INFD-WP-0007. No residual implementation or native action occurred. + +Source evidence reconciliation: +docs/evidence/2026-10-11-staff-evidence-source-reconciliation.md. +Formal source review: +docs/reviews/2026-10-11-staff-evidence-source-owner-review.md. +Existing Staff/PEP-shaped classification, three load-bearing class classifications, +compromised-source and commitment/content availability limits remain unchanged. + +## Independently review supervised purpose actuator product boundaries + +```task +id: INFD-WP-ADHOC-2026-10-11-T05 +status: done +priority: medium +``` + +Same informed-decision-owner reviewed exact23-path helper manifest +`f2fad6c251fbb4420e07c1329802f521b513bbf66e51f64c5d673ef04f16284c`, +all staged hashes and embedded source bundle/plan. Product evidence/schema5, +private snapshot custody, confined offline UID0 initialization followed by +UID10001 pre/post-admin verification, independent failed-candidate rollback +and all-phase start deadline are technically agreed as source preparation. + +No purpose-policy or candidate image change. Retained helper16 synthetic tests +and platform5 independent recovery negatives are mechanism proof; prior50 +product policy negatives remain applicable. No new test run was needed for this +unchanged-source review. Native-provider acceptance remains distinct from the +installed10 synthetic purpose forms; T04 is not complete. Before first human +post, amend exact20-document packet to hash-bind helper/plan, four render inputs, +initializer/recovery/deadline refinements and preserved full scan provenance. +Exact combined packet acknowledgement remains a separate review gate. + +Review: docs/reviews/2026-10-11-purpose-actuator-product-owner-review.md. +No native reads/backups/export/restore/release, credentials, human disposition, +founder approval or phase authority was exercised by this review. + +## Prepare separately gated provider-derived denial mechanism probe + +```task +id: INFD-WP-ADHOC-2026-10-11-T06 +status: done +priority: medium +``` + +Prepared source-only readonly lifecycle.search provider-derived mechanism probe +with truthful informed-decision/review SERVICE and no human/StateHub attributes. +Actual lifecyclev2 permits only StateHub workload or admitted AAL2 humans, so a +canonical real DENY is required; no claims are invented to obtain ALLOW. +One actual provider response will remain in Pod memory; ten transformed +noncanonical purpose copies test installed consumer refusal without further +provider calls, DB/admin or act effects. This is a denial/binding mechanism +proof candidate, not actual authorized lifecycle or full T04 acceptance. + +Source: docs/evidence/2026-10-11-purpose-provider-probe/. +Ten synthetic source tests pass; no actual provider, credential, runtime config, +DB, native data or live action was accessed. Posted frozen112 packet/helper +remain unchanged. Exact separate founder go for this newly prepared probe and +its target must precede any execution; current memo has no acceptance and this +new helper is not hash-bound in that submitted packet. T04 remains progress. + +## Review exact existing-snapshot rescue version2 preparation + +```task +id: INFD-WP-ADHOC-2026-10-11-T07 +status: done +priority: medium +``` + +Reviewed exact66-path rescue manifest0867e27a6754dddff3eedbb333ab4ca4faa98ee31d383ebe940b8e054c6cabf7 +under the same informed-decision-owner role. Actual original backupCOMPLETE/copy +UNCERTAIN are retained; new rescue journal/phase and sourceversion2/newreviewown1 +require fresh founder acceptance. Immutable reads are bounded to proven frozen +closed snapshots; live/offline writable-clone reads remain WAL-aware/explicitclose. +Independent existing26 mocked tests plus41 subtests pass, and10 new product scope +guards pass (including eight refusal mutations and a frozen initial packet check). +No native command, DB open, credentials or rescue operation occurred. + +Initial review decision changes_requested: proposal.json misleadingly names old +f2fad helper manifest as execution_helper_manifest_sha256 after helper bytes changed; +label it original/historical and refreeze all dependent packet hashes. Correct +current bundle/plan digests already exist. The normalized test fixture is not an +owner edit or approval. Initial review/failure must remain after correction; +exact amended confirmation is still required before newhuman submission/execution. + +Review: docs/reviews/2026-10-11-purpose-rescue-product-owner-review.md. +Evidence/checks: docs/evidence/2026-10-11-purpose-rescue-product-review/. +T04 remains progress; original version1 approval is not newversion2 authority. + +**Amended source confirmation, same T07 trial:** exact134-path manifest +`d05d6e3b15df9acf1d7aef0ba2ec82a5a00d979ab1f324e981025cffe2cc753d` +corrects only the historical helper provenance label and dependent packet hashes; +original66 source and initial changes-requested review remain retained. Current +helper code/bundle49c9/plan9ce5 are unchanged. Strict typed sourceversion2/CAS1 +and20documents validate:173469packetbytes/240451revisionbytes. Eight scope +mutations and three packet mutations independently refuse. Final technical +source acknowledgement approved; no new human acceptance or native rescue. +Confirmation: docs/reviews/2026-10-11-purpose-rescue-product-owner-final-ack.md. + + +**Actual-outcome assessment preparation, same completed T07 trial:** independently +verified original receipt-byte hashes and source consumer path after approved +source c96b0c6 release. Offline schema5/admin/post counts match; fresh cutover +backup/private copy matches live post-release counts16/56/0, delivered336, +confirmed43. Independent image/module/config/PVC/controlled Pod and UID/GID10001 +checks pass. Actual post-rollout authenticated provider-backed outcomes readback +is separate from installed ten synthetic purpose forms (2allow/8refuse). +Completed source-only assessment supports T04 done, T05 todo and WP0009 active. +Original failed copy and verifier UNCERTAIN remain preserved, with no replay or +helper amendment. Created unpromoted INFD-IN-0010 for future verifier omission +handling correction; no implementation, native action or authority grant. +This work-record preparation precedes the formal actual-outcome review entry. +Review: docs/reviews/2026-10-11-purpose-native-outcome-product-owner-acceptance.md. +Evidence: docs/evidence/2026-10-11-purpose-native-acceptance/. + + +## Independently review bounded zlib-only T05 source candidate + +```task +id: INFD-WP-ADHOC-2026-10-11-T08 +status: done +priority: medium +``` + +Completed informed-decision Product source review of exact27-path candidate +manifest8d345bb2bde3efce4d0cc99dfc2f883a64f79c42d2cd4abb288229a995e9ad66. +All staged/evidence hashes verify. Independently reread local saved base/candidate +image archives, effective runtime config, nine base layer prefix, two final file +changes and both full scan/SBOM artifacts. Only zlib1.3.2-r0 to r1 differs; +44 packages/base1MED to candidate0 at retained same scanner database. +Signed APK/index named key matches unchanged base trust metadata; enforced +apk verify against existing keys retained, no allow-untrusted or truststore override. +Four existing source tests pass (eight refusal mutations), plus five independent +appfile/trustkeys/world/network/provider metadata mutations refuse. +Purpose/backend checks remain local and synthetic, not actual PDP or data proof. +Technical source preparation agreement only: local image78bfdcc is unpublished, +T05 remains progress/WP0009 active; CI exact published provenance/scan/SBOM and +new native founder approval/installed proof are still required. Current763/native +DB/config/PVC/identity/approved R2 helper and journal remain unchanged; INFD-IN-0010 +is unpromoted/unimplemented. No native actions, credentials or owner source writes. +This completed work record is prepared before the formal review entry. +Review: docs/reviews/2026-10-11-zlib-candidate-product-owner-review.md. +Evidence: docs/evidence/2026-10-11-zlib-candidate-product-review/. + + +**Exact amended confirmation, same completed T08 preparation trial:** verified +final58-path candidate manifest64509029b3de6d33e3675587663ccdae027d9ea18aba83750892480766dd03b8 +and immutable archived initial27 hashes. Only artifact-audit source/receipts/docs +change; recipe/workflow/four build inputs/image78bfdcc/config625d/runtime/scan/DB +remain identical. New3 artifact tests pass (optimized malformed input refused +before reads; matching directories pass; directory mode/UID/GID drift refuse). +Independent actual saved-image reread proves all directory metadata unchanged, +with the same two final file changes. Initial Product manifest5f334/ack/validation +are retained as historical source agreement, not new scored native success. +This work-record refinement precedes final formal acknowledgment. No publication, +native operation, credentials or owner edits. T05progress/WP0009active remains. +Confirmation: docs/reviews/2026-10-11-zlib-candidate-product-owner-final-ack.md. diff --git a/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/negative-probe-receipt.json b/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/negative-probe-receipt.json new file mode 100644 index 0000000..dd4bb80 --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/negative-probe-receipt.json @@ -0,0 +1,24 @@ +[ + { + "marker": "usr/.wh..wh..opq", + "same_layer_new": "usr/new", + "actual_names": [ + "usr" + ], + "same_layer_new_preserved": false + }, + { + "marker": ".wh..wh..opq", + "same_layer_new": "new", + "actual_names": [], + "same_layer_new_preserved": false + }, + { + "marker": "usr/.wh.child", + "same_layer_new": "usr/child/new", + "actual_names": [ + "usr" + ], + "same_layer_new_preserved": false + } +] diff --git a/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/probe_same_layer_whiteout.py b/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/probe_same_layer_whiteout.py new file mode 100644 index 0000000..80d2197 --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/probe_same_layer_whiteout.py @@ -0,0 +1,23 @@ +import ast,tarfile,io,json,hashlib,tempfile +from pathlib import Path +P=Path(__file__).parent +ns={'Path':Path,'tarfile':tarfile,'json':json,'hashlib':hashlib};tree=ast.parse((P/'frozen66-verify_local_artifacts.py').read_text());fn=next(x for x in tree.body if isinstance(x,ast.FunctionDef) and x.name=='image');exec(compile(ast.Module(body=[fn],type_ignores=[]),'reader','exec'),ns) +def add(t,name,data): + m=tarfile.TarInfo(name);m.mode=0o755 + if data is None:m.type=tarfile.DIRTYPE;t.addfile(m) + else:m.size=len(data);t.addfile(m,io.BytesIO(data)) +def layer(entries): + b=io.BytesIO() + with tarfile.open(fileobj=b,mode='w') as t: + for name,data in entries:add(t,name,data) + return b.getvalue() +results=[] +for marker,new in [('usr/.wh..wh..opq','usr/new'),('.wh..wh..opq','new'),('usr/.wh.child','usr/child/new')]: + base=layer([('usr',None),('usr/child',None),('usr/child/old',b'old')]);over=layer([(new,b'new'),(marker,b'')]) + with tempfile.TemporaryDirectory() as tmp: + path=Path(tmp)/'image.tar' + with tarfile.open(path,'w') as t: + add(t,'manifest.json',json.dumps([{'Config':'config.json','Layers':['base.tar','over.tar']}]).encode());add(t,'config.json',json.dumps({'config':{},'rootfs':{'diff_ids':['base','over']}}).encode());add(t,'base.tar',base);add(t,'over.tar',over) + _,_,files=ns['image'](path);results.append(dict(marker=marker,same_layer_new=new,actual_names=sorted(files),same_layer_new_preserved=new in files)) +print(json.dumps(results,indent=2)) +assert all(not r['same_layer_new_preserved'] for r in results),'finding no longer reproduced' diff --git a/docs/evidence/2026-10-11-zlib-remediation-candidate/README.md b/docs/evidence/2026-10-11-zlib-remediation-candidate/README.md new file mode 100644 index 0000000..b0795d0 --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-remediation-candidate/README.md @@ -0,0 +1,15 @@ +# Separate T05 zlib-only candidate — local verified, unpublished/unapproved + +Exact current purpose image763c is the base. Signed official Alpine3.24/main/x86_64 zlib1.3.2-r1 and APKINDEX are preserved as exact public source artifacts in deploy/zlib-overlay with their HTTPS origin/SHA/packagecommit/signature metadata. Both actually verified against base trusted keys. The offline named-package upgrade uses only that repository, disables preupgrade/network/logging, restoresUID10001 and removes temporarypublic artifacts. Only final libz binary and APK installeddatabase differ; world/repository/keys/app36files/Python/OpenSSL/policy9d remain unchanged. Raw Docker legacy/OCI default serialization differs; effective runtime config is proved equal, not byte-identical. + +Local daemonimageID78bfdcc... differs from Docker-save OCIconfig625d... after serialization; both are explicitly identified in receipt. Neither is a registry/release digest. Localfull sameDB scan covers44packages: baseactual1MEDCVE85091, candidatezeroallseverity; fullbaseline/candidateJSON+CycloneDX and filesystemaudit retained. Alpine3.24 EOLlistwarning/detection coverage is disclosed. No filters/ignoreunfixed or estateRiskgrade. Four source tests include eight unrelatedpackage/source/identity/backend/database/Python/artifactmutation refusals; actualcompression/crypto/JWT/waitress andteninstalledpurpose variants pass. Purpose providertransport remains synthetic, no database/provider/customerdata accessed. + +Four-file sourcecontext hashc554e62a... is actualbuiltinput; localOCIrevision is honestly uncommitted preparation. New sourceworkflow uses exact GITHUB_SHA/archive/four inputhashes and existing admitted ownerregistry capability; no newPAT/login/grant. It publishes only a candidate with installedpackage/appidentity/purpose guards. CIpublication has NOT run. Root must commit/source-sync thenverifyactualregistry/nativeCI provenance and fullscan/SBOM before any new release question. Do notpin a localimageID in owneradmission/servicevalues. + +T05 staysprogress/planactive, manualfollowupdueOct18 withoutautotimer. T04/nativec96/protectedjournals/snapshotcustody/helpers/current763deployment remain untouched. Only after actualpublishedproof, exact scopedfounderapproval andnativeinstalledr1/runtime/fullrescan canT05 close. Futureimage-onlyrollbackkeepslatestDB and prior763, neverrestoresoldrecords. See proposal.json/local-candidate-verification.json for exactproofs/refinementlimits. + +Platform audit refinement (same T05 proposal): the checker now refuses optimized Python before artifact reads and compares directory mode, UID and GID. The actual existing image passed the expanded audit with no directory changes and the same two changed files. Three synthetic tests cover optimization and three directory drift cases. Original 27-file source/manifest and actual scan receipts are retained in `initial-8d345bb2/`; this was a source guard correction, not an original candidate failure. Recipe, four-file build context, image78 and full scan bytes are unchanged. + +Whiteout refinement: preserve the leading dot in OCI whiteout names and model root/nested removal and opaque directories. Four semantic fixtures pass. Actual image re-audit still reports 313 unchanged directories and only the same two changed files. Intermediate 64509029 manifest and changed evidence bytes are retained separately; the existing candidate did not fail. + +Whiteout refinement: preserve the leading dot in OCI whiteout names and model root/nested removal and opaque directories. Twelve semantic fixtures pass, including reversed tar-order same-layer additions/replacements. Actual image re-audit still reports 313 unchanged directories and only the same two changed files. Intermediate 64509029 and 3e41ab39 manifests and changed evidence bytes are retained separately; the existing candidate did not fail. diff --git a/docs/evidence/2026-10-11-zlib-remediation-candidate/artifact-comparison.json b/docs/evidence/2026-10-11-zlib-remediation-candidate/artifact-comparison.json new file mode 100644 index 0000000..c99f1fb --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-remediation-candidate/artifact-comparison.json @@ -0,0 +1,75 @@ +{ + "base_image_config_id": "sha256:f34de21379c4f50ea0361ca1d8296c8e72f989499ad288016b81204997ae4779", + "candidate_local_image_config_id": "sha256:625d066416e901eaa2db5e18b96c37559b25dd91bdc3afb3d1ff5e916c7a8a3f", + "candidate_registry_digest": null, + "base_layers_preserved": 9, + "new_layers": 2, + "effective_runtime_config_identical": true, + "raw_config_bytes_identical": false, + "serialization_note": "Legacy base explicitly serialized empty/false/null defaults; candidate Docker-save config omits equivalent known defaults. Exact closed default normalization only; runtime fields unchanged.", + "labels_before": { + "org.opencontainers.image.base.digest": "sha256:7f5c6cb29c9f70a026bfe30e72934274ddc69261676cf6d476f81dd32812d173", + "org.opencontainers.image.revision": "3e4bcb26f8eeaa8c64345c565477b5ac8ccbb168", + "social.coulomb.release.scope": "INFD-WP-0009-T04/purpose-overlay-v1", + "social.coulomb.source.policy.sha256": "9d7c1be4cb6199d14ef0aaead5f85951f45b0ccbd7c800a7fde922a253566b62" + }, + "labels_after": { + "org.opencontainers.image.base.digest": "sha256:763c36402c8be7cc4c1bd1a61623d1aff9116d52241877425b45a7018cc0883a", + "org.opencontainers.image.revision": "uncommitted-T05-local-preparation", + "social.coulomb.release.scope": "INFD-WP-0009-T05/zlib-85091-r1", + "social.coulomb.source.context.sha256": "c554e62a84af340cba15d469a4568f6d0c40923e580b08ed7565e22702b1207d", + "social.coulomb.source.policy.sha256": "9d7c1be4cb6199d14ef0aaead5f85951f45b0ccbd7c800a7fde922a253566b62" + }, + "final_changed_files": { + "lib/apk/db/installed": { + "before": [ + "file", + 420, + 0, + 0, + "6383ea3806247e8dbf9ebee8cb30eb8eca63a8ea59662a793127d6a61b988d70" + ], + "after": [ + "file", + 420, + 0, + 0, + "f590762196710e25c0e9f72da0642cad8a5dcba0aa9e58a0cbaa65684d15c001" + ] + }, + "usr/lib/libz.so.1.3.2": { + "before": [ + "file", + 493, + 0, + 0, + "a1e2c03dcdedba98a06a00cadfb67a0e0b1cd93986860ec0c5ce66e789c44e57" + ], + "after": [ + "file", + 493, + 0, + 0, + "ecc8b9dfc45eb7fa29b410ffaca6257873890de53b80fe91735737b49067c5f2" + ] + } + }, + "directory_metadata_compared": true, + "directory_count_base": 313, + "directory_count_candidate": 313, + "directory_metadata_delta": {}, + "sbom_package_count_base": 44, + "sbom_package_count_candidate": 44, + "sbom_only_delta": { + "zlib": [ + "1.3.2-r0", + "1.3.2-r1" + ] + }, + "full_scan_baseline_findings": 1, + "full_scan_candidate_allseverity_findings": 0, + "db_snapshot_same": true, + "native_workload_changed": false, + "candidate_docker_daemon_image_id": "sha256:78bfdcc00a62367ae6190f6569a02b18abf9a943f760e4ac8fb946703348af31", + "candidate_local_image_config_id_kind": "Docker-save OCI export config SHA; distinct from legacy daemon imageID; closed default serialization differs." +} diff --git a/docs/evidence/2026-10-11-zlib-remediation-candidate/audit-refinement.json b/docs/evidence/2026-10-11-zlib-remediation-candidate/audit-refinement.json new file mode 100644 index 0000000..099601f --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-remediation-candidate/audit-refinement.json @@ -0,0 +1,26 @@ +{ + "proposal_id": "INFD-WP-0009-T05/zlib-85091-r1", + "same_trial": true, + "original_manifest_sha256": "8d345bb2bde3efce4d0cc99dfc2f883a64f79c42d2cd4abb288229a995e9ad66", + "original_local_verification_sha256": "c82fa8aab33426fdd6f7730b627d226d3469b9d31c525bca7c28a52ab4847fc1", + "reason": "Platform source-review guard gaps; original actual candidate/build/scan did not fail", + "changes": [ + "Explicit optimized Python refusal before any archive/JSON read", + "Filesystem audit includes final directory mode/UID/GID metadata", + "Three synthetic tests: optimized malformed artifact refuses before read; unchanged directory passes; mode/UID/GID mutation refuses", + "Preserve OCI whiteout leading dots and clear root/nested descendants correctly; four semantic fixtures cover removal and opacity", + "Whiteouts mask lower layers only; merge same-layer additions after masking. Eight root/nested opacity, sibling and replacement tar-order fixtures added" + ], + "actual_existing_artifact_reaudit": "Passed; no directory metadata differences, same two changed files", + "candidate_image_unchanged": "sha256:78bfdcc00a62367ae6190f6569a02b18abf9a943f760e4ac8fb946703348af31", + "four_file_build_context_unchanged": "c554e62a84af340cba15d469a4568f6d0c40923e580b08ed7565e22702b1207d", + "registry_publication": false, + "native_changes": false, + "checker_sha256": "d727f60edd004184c79903c20619643033fac68afbecfb1990cce855cdb924e3", + "tests_sha256": "12ba4ce8c082450241118d73139c59e06b3a337b152e3364918a5b2850f2dc47", + "comparison_sha256": "689fa7cbd322cb31b215fd2e86e0be267c1398f9b71e5615446d5f7b82dcce89", + "verification_sha256": "efbb173dcb9358b58bd703a18e63c6c25805167d5a14856ed095d05be4309709", + "intermediate_source_manifest_sha256": "64509029b3de6d33e3675587663ccdae027d9ea18aba83750892480766dd03b8", + "whiteout_refinement_note": "Conservative incorrect effective-rootfs modeling in the intermediate checker, not failure of the actual candidate", + "layer_order_review_manifest_sha256": "3e41ab391cda26f09a556fecef8a17c2759ef2899e43eb136b25ef4b3fde23a0" +} diff --git a/docs/evidence/2026-10-11-zlib-remediation-candidate/base-runtime.json b/docs/evidence/2026-10-11-zlib-remediation-candidate/base-runtime.json new file mode 100644 index 0000000..b45c853 --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-remediation-candidate/base-runtime.json @@ -0,0 +1 @@ +{"uid": 10001, "gid": 10001, "policy_sha256": "9d7c1be4cb6199d14ef0aaead5f85951f45b0ccbd7c800a7fde922a253566b62", "policy_mode": "0o644", "policy_uid": 0, "app_file_sha256": {"__init__.py": "0ffebe048ba583e7b623f60e8f449950dc5fd49afce2398381fa143eee834e19", "__main__.py": "3ba1467fa2d47fcf0bd032e8694904450775adf763a6e6f9e4888cc3ce3ed92b", "approval_client.py": "56c201dda358cb4bef11a15da141bb68562cdde9e37b4a880bf1e9257ae82cb6", "approval_http.py": "dfaac1faed80a068aa78a8c87b80db99b8887a8fc3767eebc9d6261a98f1e334", "audit.py": "06da36a8f3451b4abc7a46da2df66d5939524c170658b879499b2a47a1b10cd3", "canonicalize.py": "517bbc6b81cc839636b97863ebdefd38aa375d10f4915feb9bf21867f992f765", "container.py": "5f40d2321ee3f52673238011116e741e7b2ac17e28119f100fbcc490db208fbc", "disposition.py": "5ddd19c2444f8e6c9bb090d04045cf1227a34554e000f07b3f677325bf8089f8", "evidence.py": "169ed59ac53ef534a6db835ba371a92177c0ffb000b04203507242e2159ebc21", "http_transport.py": "eda90098f8bf2e5a47d819bf6ae0b0d1dcaf9a87aad3cb61503d060be666339a", "hub_writeback.py": "98b9caa8096c2c3eb8ecfe33900a0ace98453e7608f504fd08a64f50156519a3", "intake.py": "a733b4b608b9ea90b2c8293901aa14388a0bf0d3719f121038bfdcc1faca2038", "intake_approval.py": "52f8b3643e4c5c6f56f2ef1fd9c7747da2165f8f88122e93b3f3ee3ecae48c73", "intake_delivery.py": "4771520cc96325d93bc3f8e08005c3d714a5597582cb1adccc0b0fa73dac0b0d", "intake_hub.py": "c3daddce31791a6e82f7b07406ef4d75bccba5a278fab01dab378a06abceabc8", "intake_service.py": "99ea285a725c58b7571e2a69ceb558f16bbcca4ec391607a0cc2d0459de3b318", "lifecycle.py": "e25f865828e541b2889cd6c9afe0ce7ca4441bf35155304cc7de7c86c44b28e8", "lifecycle_commands.py": "783ec451dd7ef33dc0cfd72c1633ea5208dfd463afeaa0b68d279f156a9b0828", "lifecycle_http.py": "d4b95421d54663f041a10b4f42ac9c013493fa7a770223ab45877b451a7a7c7d", "lifecycle_review.py": "b6d69be6c56f3e2f411501083e199195190df6c740a01b07e82a476268ca3629", "lifecycle_service.py": "2dde9280214e68e5e7a7b48d703886947c2a46139ada86e8ff2283a9d4b55a70", "lifecycle_ui.py": "448e9169607c487e362d4d0d1730aec33987b6dcf12c49dfff7de3aaaab7ae03", "memo.py": "697058863a4e6de2c143a2433eaaf5e15e5e7375dc5459af6911b146567e8b5d", "oidc.py": "6b24dac9537a12141a361c4577feaf42f6c197d8d87da16ca47a08daf6916915", "policy.py": "9d7c1be4cb6199d14ef0aaead5f85951f45b0ccbd7c800a7fde922a253566b62", "presentation.py": "54375ccd8358fac41de220bccadbee09f8b7c8ebbeeafaafd381a7456331da50", "provenance.py": "de02c6bf162865ba9619d74cfd68dd0a5d7f81e6c9e427f67f848cb2c2214f83", "records.py": "82f696151895c51b168144a3078d05764da3499b96917c465629ce0836fa8e33", "requester.py": "66de1af80a5fb2442c1e4407148b581de24b671b5f76c9d2a0458d38e27833a8", "review.py": "d4a085b0ee3e65a9976b9b656ec87a8c735be8d74cfdc9bb55feeb90917c688e", "runtime.py": "535940eed76c5f21ec4c379796fbfddfd85fc309aad0de4d64afda06cdc2d3c5", "stance.py": "62b96b76eba4ec277344172f10f6233e979dda4d079f972d9a55c4e5aed96c3c", "store.py": "9c14b10becb99da19349073e9aa691c25a205df4a2c4d932f37d64f13e8d3b41", "ui.py": "ff0671dc7be4d08ab8f0d38504f70afd355ad3a8a6293620c75864ca56a53ec9", "web.py": "bd08a6b0ea0e418ea1e31e46edab6b7478de9779b823af4f5d72fd1346197e42", "workload.py": "b86cebf5e7a8182b24bb7f9fdbd6f0e17b578d690d9f06c541e713d7d995c5e8"}, "apk_packages": {".python-rundeps": "20260901.001029", "alpine-baselayout": "3.7.2-r1", "alpine-baselayout-data": "3.7.2-r1", "alpine-keys": "2.6-r0", "alpine-release": "3.24.1-r0", "apk-tools": "3.0.6-r0", "busybox": "1.37.0-r31", "busybox-binsh": "1.37.0-r31", "ca-certificates": "20260611-r0", "ca-certificates-bundle": "20260611-r0", "gdbm": "1.26-r0", "keyutils-libs": "1.6.3-r4", "krb5-conf": "1.0-r2", "krb5-libs": "1.22.2-r1", "libapk": "3.0.6-r0", "libbz2": "1.0.8-r6", "libcom_err": "1.47.4-r0", "libcrypto3": "3.5.8-r0", "libffi": "3.5.2-r1", "libintl": "1.0-r0", "libncursesw": "6.6_p20260516-r0", "libnsl": "2.0.1-r2", "libpanelw": "6.6_p20260516-r0", "libssl3": "3.5.8-r0", "libtirpc": "1.3.5-r1", "libtirpc-conf": "1.3.5-r1", "libuuid": "2.42.3-r1", "libverto": "0.3.2-r2", "musl": "1.2.6-r2", "musl-utils": "1.2.6-r2", "ncurses-terminfo-base": "6.6_p20260516-r0", "readline": "8.3.3-r1", "scanelf": "1.3.9-r1", "sqlite-libs": "3.53.4-r0", "ssl_client": "1.37.0-r31", "tzdata": "2026c-r0", "xz-libs": "5.8.3-r0", "zlib": "1.3.2-r0"}, "apk_world_sha256": "61a659443a49627ba7114faa13a4870a2ede26b314064829ced169412be7002e", "apk_keys_sha256": {"alpine-devel@lists.alpinelinux.org-4a6a0840.rsa.pub": "9c102bcc376af1498d549b77bdbfa815ae86faa1d2d82f040e616b18ef2df2d4", "alpine-devel@lists.alpinelinux.org-5261cecb.rsa.pub": "12f899e55a7691225603d6fb3324940fc51cd7f133e7ead788663c2b7eecb00c", "alpine-devel@lists.alpinelinux.org-6165ee59.rsa.pub": "207e4696d3c05f7cb05966aee557307151f1f00217af4143c1bcaf33b8df733f"}, "python_dependencies": {"informed-decision": "0.2.0", "PyJWT": "2.15.1", "cryptography": "50.0.1", "cffi": "2.1.1", "pycparser": "3.0", "waitress": "3.0.2"}, "zlib_runtime_version": "1.3.2", "zlib_compile_version": "1.3.2", "libz_sha256": "a1e2c03dcdedba98a06a00cadfb67a0e0b1cd93986860ec0c5ce66e789c44e57", "compression_vectors_pass": 4, "malformed_zlib_refusals": 3, "crypto_jwt_waitress_smoke": true, "openssl": "OpenSSL 3.5.8 25 Aug 2026", "network_accessed": false, "database_opened": false, "provider_or_customer_data_used": false} diff --git a/docs/evidence/2026-10-11-zlib-remediation-candidate/base-sbom.cdx.json b/docs/evidence/2026-10-11-zlib-remediation-candidate/base-sbom.cdx.json new file mode 100644 index 0000000..389d805 --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-remediation-candidate/base-sbom.cdx.json @@ -0,0 +1,2551 @@ +{ + "$schema": "http://cyclonedx.org/schema/bom-1.7.schema.json", + "bomFormat": "CycloneDX", + "specVersion": "1.7", + "serialNumber": "urn:uuid:87d25a8f-5c4e-45a5-ba01-10fe9ffc3512", + "version": 1, + "metadata": { + "timestamp": "2026-10-11T07:27:24+00:00", + "tools": { + "components": [ + { + "type": "application", + "manufacturer": { + "name": "Aqua Security Software Ltd." + }, + "group": "aquasecurity", + "name": "trivy", + "version": "0.74.0" + } + ] + }, + "component": { + "bom-ref": "72113269-9efb-4c6a-a07f-752a12125747", + "type": "container", + "name": "/artifact/base-image.tar", + "properties": [ + { + "name": "aquasecurity:trivy:DiffID", + "value": "sha256:21ff9188cb29ca95fe9be11355f70ab5586e8499e33b52a253d953fb3b75aea3" + }, + { + "name": "aquasecurity:trivy:DiffID", + "value": "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c" + }, + { + "name": "aquasecurity:trivy:DiffID", + "value": "sha256:361430a1113969743b99e237b20f023d5497493bcf96fb91af99ac0a0dbc4a59" + }, + { + "name": "aquasecurity:trivy:DiffID", + "value": "sha256:3ca4be2c6e9ac0223715355253725381000486c2b45bfcb22cf571b6a85a12dd" + }, + { + "name": "aquasecurity:trivy:DiffID", + "value": "sha256:4098ad033525263f92a8a9c51865596025d47018e078c0b1f7d9cd5663fc1ffe" + }, + { + "name": "aquasecurity:trivy:DiffID", + "value": "sha256:648451a0dda84ad04681e32b5ecc7cd5d3a4f0ad84f783e9598d72bc69620d5c" + }, + { + "name": "aquasecurity:trivy:DiffID", + "value": "sha256:cfc5939674d67f60b4411c24dfcde5622b712eeb7376cd0941a2751da80a6b02" + }, + { + "name": "aquasecurity:trivy:DiffID", + "value": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + { + "name": "aquasecurity:trivy:DiffID", + "value": "sha256:f9b4a8a412a0c07a489e46fb5db41f9d0dc84d4ec38a4e2c6ab9531f44e0d9f1" + }, + { + "name": "aquasecurity:trivy:ImageID", + "value": "sha256:f34de21379c4f50ea0361ca1d8296c8e72f989499ad288016b81204997ae4779" + }, + { + "name": "aquasecurity:trivy:Labels:org.opencontainers.image.base.digest", + "value": "sha256:7f5c6cb29c9f70a026bfe30e72934274ddc69261676cf6d476f81dd32812d173" + }, + { + "name": "aquasecurity:trivy:Labels:org.opencontainers.image.revision", + "value": "3e4bcb26f8eeaa8c64345c565477b5ac8ccbb168" + }, + { + "name": "aquasecurity:trivy:Labels:social.coulomb.release.scope", + "value": "INFD-WP-0009-T04/purpose-overlay-v1" + }, + { + "name": "aquasecurity:trivy:Labels:social.coulomb.source.policy.sha256", + "value": "9d7c1be4cb6199d14ef0aaead5f85951f45b0ccbd7c800a7fde922a253566b62" + }, + { + "name": "aquasecurity:trivy:SchemaVersion", + "value": "2" + }, + { + "name": "aquasecurity:trivy:Size", + "value": "88258048" + } + ] + } + }, + "components": [ + { + "bom-ref": "65b030f2-ac92-4cbc-a6e6-f92890b5a5f5", + "type": "operating-system", + "name": "alpine", + "version": "3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:Class", + "value": "os-pkgs" + }, + { + "name": "aquasecurity:trivy:Type", + "value": "alpine" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/.python-rundeps@20260901.001029?arch=noarch&distro=3.24.1", + "type": "library", + "name": ".python-rundeps", + "version": "20260901.001029", + "hashes": [ + { + "alg": "SHA-1", + "content": "51d0c1e7d88a414345799f0309185c625013ef32" + } + ], + "purl": "pkg:apk/alpine/.python-rundeps@20260901.001029?arch=noarch&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": ".python-rundeps@20260901.001029" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/alpine-baselayout-data@3.7.2-r1?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Natanael Copa " + }, + "name": "alpine-baselayout-data", + "version": "3.7.2-r1", + "hashes": [ + { + "alg": "SHA-1", + "content": "c6f9bded17d844b6f1b0bb5766d2c35c0d5c8508" + } + ], + "licenses": [ + { + "license": { + "id": "GPL-2.0-only" + } + } + ], + "purl": "pkg:apk/alpine/alpine-baselayout-data@3.7.2-r1?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:55afa1ecc21d2bb5e5045f32dafee56272ffd89860bac26f6c32123439af26a4" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "alpine-baselayout-data@3.7.2-r1" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "alpine-baselayout" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "3.7.2-r1" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/alpine-baselayout@3.7.2-r1?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Natanael Copa " + }, + "name": "alpine-baselayout", + "version": "3.7.2-r1", + "hashes": [ + { + "alg": "SHA-1", + "content": "f0fcfdc2f4da058af6473bc45c4eab62916225b2" + } + ], + "licenses": [ + { + "license": { + "id": "GPL-2.0-only" + } + } + ], + "purl": "pkg:apk/alpine/alpine-baselayout@3.7.2-r1?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:55afa1ecc21d2bb5e5045f32dafee56272ffd89860bac26f6c32123439af26a4" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "alpine-baselayout@3.7.2-r1" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "alpine-baselayout" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "3.7.2-r1" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/alpine-keys@2.6-r0?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Natanael Copa " + }, + "name": "alpine-keys", + "version": "2.6-r0", + "hashes": [ + { + "alg": "SHA-1", + "content": "d8d6b80e53c059a77e4915da78ba964f3ffea240" + } + ], + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "purl": "pkg:apk/alpine/alpine-keys@2.6-r0?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:55afa1ecc21d2bb5e5045f32dafee56272ffd89860bac26f6c32123439af26a4" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "alpine-keys@2.6-r0" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "alpine-keys" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "2.6-r0" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/alpine-release@3.24.1-r0?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Natanael Copa " + }, + "name": "alpine-release", + "version": "3.24.1-r0", + "hashes": [ + { + "alg": "SHA-1", + "content": "bc6912a25cdc7733e0035ed509eceaa4026946e3" + } + ], + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "purl": "pkg:apk/alpine/alpine-release@3.24.1-r0?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:55afa1ecc21d2bb5e5045f32dafee56272ffd89860bac26f6c32123439af26a4" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "alpine-release@3.24.1-r0" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "alpine-base" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "3.24.1-r0" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/apk-tools@3.0.6-r0?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Natanael Copa " + }, + "name": "apk-tools", + "version": "3.0.6-r0", + "hashes": [ + { + "alg": "SHA-1", + "content": "043333589798a1f52e09ae63f026c6c8fa676d34" + } + ], + "licenses": [ + { + "license": { + "id": "GPL-2.0-only" + } + } + ], + "purl": "pkg:apk/alpine/apk-tools@3.0.6-r0?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:55afa1ecc21d2bb5e5045f32dafee56272ffd89860bac26f6c32123439af26a4" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "apk-tools@3.0.6-r0" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "apk-tools" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "3.0.6-r0" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/busybox-binsh@1.37.0-r31?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Sören Tempel " + }, + "name": "busybox-binsh", + "version": "1.37.0-r31", + "hashes": [ + { + "alg": "SHA-1", + "content": "5cbd14acc6f1804c5bac6c77dc2c492f010b0fc7" + } + ], + "licenses": [ + { + "license": { + "id": "GPL-2.0-only" + } + } + ], + "purl": "pkg:apk/alpine/busybox-binsh@1.37.0-r31?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:55afa1ecc21d2bb5e5045f32dafee56272ffd89860bac26f6c32123439af26a4" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "busybox-binsh@1.37.0-r31" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "busybox" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "1.37.0-r31" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/busybox@1.37.0-r31?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Sören Tempel " + }, + "name": "busybox", + "version": "1.37.0-r31", + "hashes": [ + { + "alg": "SHA-1", + "content": "b5405ebc02f7dd8be95b6265c54b243d5456ab8f" + } + ], + "licenses": [ + { + "license": { + "id": "GPL-2.0-only" + } + } + ], + "purl": "pkg:apk/alpine/busybox@1.37.0-r31?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:55afa1ecc21d2bb5e5045f32dafee56272ffd89860bac26f6c32123439af26a4" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "busybox@1.37.0-r31" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "busybox" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "1.37.0-r31" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/ca-certificates-bundle@20260611-r0?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Natanael Copa " + }, + "name": "ca-certificates-bundle", + "version": "20260611-r0", + "hashes": [ + { + "alg": "SHA-1", + "content": "c9534a03750bdfae341f10969016090fc11febbd" + } + ], + "licenses": [ + { + "license": { + "id": "MPL-2.0" + } + }, + { + "license": { + "id": "MIT" + } + } + ], + "purl": "pkg:apk/alpine/ca-certificates-bundle@20260611-r0?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:55afa1ecc21d2bb5e5045f32dafee56272ffd89860bac26f6c32123439af26a4" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "ca-certificates-bundle@20260611-r0" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "ca-certificates" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "20260611-r0" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/ca-certificates@20260611-r0?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Natanael Copa " + }, + "name": "ca-certificates", + "version": "20260611-r0", + "hashes": [ + { + "alg": "SHA-1", + "content": "8f2a04abeb54b331e2970a0a0dffb7bd6bdde567" + } + ], + "licenses": [ + { + "license": { + "id": "MPL-2.0" + } + }, + { + "license": { + "id": "MIT" + } + } + ], + "purl": "pkg:apk/alpine/ca-certificates@20260611-r0?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:3ca4be2c6e9ac0223715355253725381000486c2b45bfcb22cf571b6a85a12dd" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:47393b668ce535d06e8967917d424c177e2ecccae83856d48b2e99164f8cc6cb" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "ca-certificates@20260611-r0" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "ca-certificates" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "20260611-r0" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/gdbm@1.26-r0?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Natanael Copa " + }, + "name": "gdbm", + "version": "1.26-r0", + "hashes": [ + { + "alg": "SHA-1", + "content": "619493d8124fe49a8ee1d8f7a1372cf7e3977337" + } + ], + "licenses": [ + { + "license": { + "id": "GPL-3.0-or-later" + } + } + ], + "purl": "pkg:apk/alpine/gdbm@1.26-r0?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "gdbm@1.26-r0" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "gdbm" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "1.26-r0" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/keyutils-libs@1.6.3-r4?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Natanael Copa " + }, + "name": "keyutils-libs", + "version": "1.6.3-r4", + "hashes": [ + { + "alg": "SHA-1", + "content": "b7331c96f077fc3522ee4361a441d1097204cd90" + } + ], + "licenses": [ + { + "license": { + "id": "GPL-2.0-or-later" + } + }, + { + "license": { + "id": "LGPL-2.0-or-later" + } + } + ], + "purl": "pkg:apk/alpine/keyutils-libs@1.6.3-r4?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "keyutils-libs@1.6.3-r4" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "keyutils" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "1.6.3-r4" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/krb5-conf@1.0-r2?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Natanael Copa " + }, + "name": "krb5-conf", + "version": "1.0-r2", + "hashes": [ + { + "alg": "SHA-1", + "content": "40a11e0690a59e110367b62a80661024e9942a2d" + } + ], + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "purl": "pkg:apk/alpine/krb5-conf@1.0-r2?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "krb5-conf@1.0-r2" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "krb5-conf" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "1.0-r2" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/krb5-libs@1.22.2-r1?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Natanael Copa " + }, + "name": "krb5-libs", + "version": "1.22.2-r1", + "hashes": [ + { + "alg": "SHA-1", + "content": "ef02346e21b817ff379e4601e5b1fc9760e5e31a" + } + ], + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "purl": "pkg:apk/alpine/krb5-libs@1.22.2-r1?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "krb5-libs@1.22.2-r1" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "krb5" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "1.22.2-r1" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/libapk@3.0.6-r0?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Natanael Copa " + }, + "name": "libapk", + "version": "3.0.6-r0", + "hashes": [ + { + "alg": "SHA-1", + "content": "523a8f58104589f74f743d501c81bf6517155378" + } + ], + "licenses": [ + { + "license": { + "id": "GPL-2.0-only" + } + } + ], + "purl": "pkg:apk/alpine/libapk@3.0.6-r0?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:55afa1ecc21d2bb5e5045f32dafee56272ffd89860bac26f6c32123439af26a4" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "libapk@3.0.6-r0" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "apk-tools" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "3.0.6-r0" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/libbz2@1.0.8-r6?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Natanael Copa " + }, + "name": "libbz2", + "version": "1.0.8-r6", + "hashes": [ + { + "alg": "SHA-1", + "content": "08566ba5c7af97c25474be8b24e8b48f0116b67d" + } + ], + "licenses": [ + { + "license": { + "name": "bzip-2-1.0.6" + } + } + ], + "purl": "pkg:apk/alpine/libbz2@1.0.8-r6?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "libbz2@1.0.8-r6" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "bzip2" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "1.0.8-r6" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/libcom_err@1.47.4-r0?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Natanael Copa " + }, + "name": "libcom_err", + "version": "1.47.4-r0", + "hashes": [ + { + "alg": "SHA-1", + "content": "4b9fb5899ea0b1c0cfbb2a2c5952704437d4ecef" + } + ], + "licenses": [ + { + "license": { + "id": "GPL-2.0-or-later" + } + }, + { + "license": { + "id": "LGPL-2.0-or-later" + } + }, + { + "license": { + "id": "BSD-3-Clause" + } + }, + { + "license": { + "id": "MIT" + } + } + ], + "purl": "pkg:apk/alpine/libcom_err@1.47.4-r0?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "libcom_err@1.47.4-r0" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "e2fsprogs" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "1.47.4-r0" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/libcrypto3@3.5.8-r0?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Natanael Copa " + }, + "name": "libcrypto3", + "version": "3.5.8-r0", + "hashes": [ + { + "alg": "SHA-1", + "content": "1b3b9fc0c136f4936932bcb2ec21499f0ae5dfd3" + } + ], + "licenses": [ + { + "license": { + "id": "Apache-2.0" + } + } + ], + "purl": "pkg:apk/alpine/libcrypto3@3.5.8-r0?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "libcrypto3@3.5.8-r0" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "openssl" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "3.5.8-r0" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/libffi@3.5.2-r1?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Natanael Copa " + }, + "name": "libffi", + "version": "3.5.2-r1", + "hashes": [ + { + "alg": "SHA-1", + "content": "2f7b261f7fcecc4eebd8b330e7f6fb80713bfe3a" + } + ], + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "purl": "pkg:apk/alpine/libffi@3.5.2-r1?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "libffi@3.5.2-r1" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "libffi" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "3.5.2-r1" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/libintl@1.0-r0?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Carlo Landmeter " + }, + "name": "libintl", + "version": "1.0-r0", + "hashes": [ + { + "alg": "SHA-1", + "content": "282d6642ccac87237e43a864159d73cf5abe7550" + } + ], + "licenses": [ + { + "license": { + "id": "LGPL-2.1-or-later" + } + } + ], + "purl": "pkg:apk/alpine/libintl@1.0-r0?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "libintl@1.0-r0" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "gettext" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "1.0-r0" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/libncursesw@6.6_p20260516-r0?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Milan P. Stanić " + }, + "name": "libncursesw", + "version": "6.6_p20260516-r0", + "hashes": [ + { + "alg": "SHA-1", + "content": "9f318e6e324d6827274829194cf6ac6afbaded12" + } + ], + "licenses": [ + { + "license": { + "name": "X-11" + } + } + ], + "purl": "pkg:apk/alpine/libncursesw@6.6_p20260516-r0?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "libncursesw@6.6_p20260516-r0" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "ncurses" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "6.6_p20260516-r0" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/libnsl@2.0.1-r2?arch=x86_64&distro=3.24.1", + "type": "library", + "name": "libnsl", + "version": "2.0.1-r2", + "hashes": [ + { + "alg": "SHA-1", + "content": "5194adbf26560b52be318481a7af294ab05fd795" + } + ], + "licenses": [ + { + "license": { + "id": "LGPL-2.0-or-later" + } + } + ], + "purl": "pkg:apk/alpine/libnsl@2.0.1-r2?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "libnsl@2.0.1-r2" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "libnsl" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "2.0.1-r2" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/libpanelw@6.6_p20260516-r0?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Milan P. Stanić " + }, + "name": "libpanelw", + "version": "6.6_p20260516-r0", + "hashes": [ + { + "alg": "SHA-1", + "content": "149bdc434232ed11fc5bb975ba519a07154a6f56" + } + ], + "licenses": [ + { + "license": { + "name": "X-11" + } + } + ], + "purl": "pkg:apk/alpine/libpanelw@6.6_p20260516-r0?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "libpanelw@6.6_p20260516-r0" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "ncurses" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "6.6_p20260516-r0" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/libssl3@3.5.8-r0?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Natanael Copa " + }, + "name": "libssl3", + "version": "3.5.8-r0", + "hashes": [ + { + "alg": "SHA-1", + "content": "5f9b1e55d821953d2e2b1db322dad70a3b5041ea" + } + ], + "licenses": [ + { + "license": { + "id": "Apache-2.0" + } + } + ], + "purl": "pkg:apk/alpine/libssl3@3.5.8-r0?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "libssl3@3.5.8-r0" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "openssl" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "3.5.8-r0" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/libtirpc-conf@1.3.5-r1?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Natanael Copa " + }, + "name": "libtirpc-conf", + "version": "1.3.5-r1", + "hashes": [ + { + "alg": "SHA-1", + "content": "0c17d9988dc986c90e22f79778df047eca9973ff" + } + ], + "licenses": [ + { + "license": { + "id": "BSD-3-Clause" + } + } + ], + "purl": "pkg:apk/alpine/libtirpc-conf@1.3.5-r1?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "libtirpc-conf@1.3.5-r1" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "libtirpc" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "1.3.5-r1" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/libtirpc@1.3.5-r1?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Natanael Copa " + }, + "name": "libtirpc", + "version": "1.3.5-r1", + "hashes": [ + { + "alg": "SHA-1", + "content": "c32865bd86a8b8829d152279cabbc5ac6d430eb2" + } + ], + "licenses": [ + { + "license": { + "id": "BSD-3-Clause" + } + } + ], + "purl": "pkg:apk/alpine/libtirpc@1.3.5-r1?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "libtirpc@1.3.5-r1" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "libtirpc" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "1.3.5-r1" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/libuuid@2.42.3-r1?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Natanael Copa " + }, + "name": "libuuid", + "version": "2.42.3-r1", + "hashes": [ + { + "alg": "SHA-1", + "content": "8f041ef637ad75f381cc0c034f2afbbb0303264e" + } + ], + "licenses": [ + { + "license": { + "id": "BSD-3-Clause" + } + } + ], + "purl": "pkg:apk/alpine/libuuid@2.42.3-r1?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:f9b4a8a412a0c07a489e46fb5db41f9d0dc84d4ec38a4e2c6ab9531f44e0d9f1" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:f0fe3e08ab046c0c5e29d34ee73bc8c7e03398eb891e4498e0a67088a5ea3e86" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "libuuid@2.42.3-r1" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "util-linux" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "2.42.3-r1" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/libverto@0.3.2-r2?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Francesco Colista " + }, + "name": "libverto", + "version": "0.3.2-r2", + "hashes": [ + { + "alg": "SHA-1", + "content": "73233059338142e4ac6d8fb8bb0074e93da75dc1" + } + ], + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "purl": "pkg:apk/alpine/libverto@0.3.2-r2?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "libverto@0.3.2-r2" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "libverto" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "0.3.2-r2" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/musl-utils@1.2.6-r2?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Natanael Copa " + }, + "name": "musl-utils", + "version": "1.2.6-r2", + "hashes": [ + { + "alg": "SHA-1", + "content": "75ada3c48d63ec5d87c42fdf934a3fdd11298dc5" + } + ], + "licenses": [ + { + "license": { + "id": "MIT" + } + }, + { + "license": { + "id": "BSD-2-Clause" + } + }, + { + "license": { + "id": "GPL-2.0-or-later" + } + } + ], + "purl": "pkg:apk/alpine/musl-utils@1.2.6-r2?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:55afa1ecc21d2bb5e5045f32dafee56272ffd89860bac26f6c32123439af26a4" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "musl-utils@1.2.6-r2" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "musl" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "1.2.6-r2" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Natanael Copa " + }, + "name": "musl", + "version": "1.2.6-r2", + "hashes": [ + { + "alg": "SHA-1", + "content": "0f7e5827e4e1a73631beda27b78431a8ba240e05" + } + ], + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "purl": "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:55afa1ecc21d2bb5e5045f32dafee56272ffd89860bac26f6c32123439af26a4" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "musl@1.2.6-r2" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "musl" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "1.2.6-r2" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/ncurses-terminfo-base@6.6_p20260516-r0?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Milan P. Stanić " + }, + "name": "ncurses-terminfo-base", + "version": "6.6_p20260516-r0", + "hashes": [ + { + "alg": "SHA-1", + "content": "9d551d828e9c8ee52c5801c1d6046828ebf15752" + } + ], + "licenses": [ + { + "license": { + "name": "X-11" + } + } + ], + "purl": "pkg:apk/alpine/ncurses-terminfo-base@6.6_p20260516-r0?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "ncurses-terminfo-base@6.6_p20260516-r0" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "ncurses" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "6.6_p20260516-r0" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/readline@8.3.3-r1?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "qaqland " + }, + "name": "readline", + "version": "8.3.3-r1", + "hashes": [ + { + "alg": "SHA-1", + "content": "945b16e378bc00e44d89d4de8124bba7647fdf4d" + } + ], + "licenses": [ + { + "license": { + "id": "GPL-3.0-or-later" + } + } + ], + "purl": "pkg:apk/alpine/readline@8.3.3-r1?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "readline@8.3.3-r1" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "readline" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "8.3.3-r1" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/scanelf@1.3.9-r1?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Natanael Copa " + }, + "name": "scanelf", + "version": "1.3.9-r1", + "hashes": [ + { + "alg": "SHA-1", + "content": "013f903d0ba219673aebbdd04f74bb5ed82b01f0" + } + ], + "licenses": [ + { + "license": { + "id": "GPL-2.0-only" + } + } + ], + "purl": "pkg:apk/alpine/scanelf@1.3.9-r1?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:55afa1ecc21d2bb5e5045f32dafee56272ffd89860bac26f6c32123439af26a4" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "scanelf@1.3.9-r1" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "pax-utils" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "1.3.9-r1" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/sqlite-libs@3.53.4-r0?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Jingyun Hua " + }, + "name": "sqlite-libs", + "version": "3.53.4-r0", + "hashes": [ + { + "alg": "SHA-1", + "content": "f7630ceb37c232b6609861aeab6cdb9cd120e6fa" + } + ], + "licenses": [ + { + "license": { + "id": "blessing" + } + } + ], + "purl": "pkg:apk/alpine/sqlite-libs@3.53.4-r0?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "sqlite-libs@3.53.4-r0" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "sqlite" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "3.53.4-r0" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/ssl_client@1.37.0-r31?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Sören Tempel " + }, + "name": "ssl_client", + "version": "1.37.0-r31", + "hashes": [ + { + "alg": "SHA-1", + "content": "c220f4a5125a313af733e98def94132bb1e9d40d" + } + ], + "licenses": [ + { + "license": { + "id": "GPL-2.0-only" + } + } + ], + "purl": "pkg:apk/alpine/ssl_client@1.37.0-r31?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:55afa1ecc21d2bb5e5045f32dafee56272ffd89860bac26f6c32123439af26a4" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "ssl_client@1.37.0-r31" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "busybox" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "1.37.0-r31" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/tzdata@2026c-r0?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Natanael Copa " + }, + "name": "tzdata", + "version": "2026c-r0", + "hashes": [ + { + "alg": "SHA-1", + "content": "61f7544ecd8dd63eac23fe3e645702fda92ef02a" + } + ], + "licenses": [ + { + "license": { + "name": "Public-Domain" + } + } + ], + "purl": "pkg:apk/alpine/tzdata@2026c-r0?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:3ca4be2c6e9ac0223715355253725381000486c2b45bfcb22cf571b6a85a12dd" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:47393b668ce535d06e8967917d424c177e2ecccae83856d48b2e99164f8cc6cb" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "tzdata@2026c-r0" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "tzdata" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "2026c-r0" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/xz-libs@5.8.3-r0?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Natanael Copa " + }, + "name": "xz-libs", + "version": "5.8.3-r0", + "hashes": [ + { + "alg": "SHA-1", + "content": "4c92c5be0c5bef404e93c880eba9037a9b147347" + } + ], + "licenses": [ + { + "license": { + "id": "GPL-2.0-or-later" + } + }, + { + "license": { + "id": "0BSD" + } + }, + { + "license": { + "name": "Public-Domain" + } + }, + { + "license": { + "id": "LGPL-2.1-or-later" + } + } + ], + "purl": "pkg:apk/alpine/xz-libs@5.8.3-r0?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "xz-libs@5.8.3-r0" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "xz" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "5.8.3-r0" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/zlib@1.3.2-r0?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Natanael Copa " + }, + "name": "zlib", + "version": "1.3.2-r0", + "hashes": [ + { + "alg": "SHA-1", + "content": "dd4c3d102acaef2a71a1495951d55fabc8680613" + } + ], + "licenses": [ + { + "license": { + "id": "Zlib" + } + } + ], + "purl": "pkg:apk/alpine/zlib@1.3.2-r0?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:55afa1ecc21d2bb5e5045f32dafee56272ffd89860bac26f6c32123439af26a4" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "zlib@1.3.2-r0" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "zlib" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "1.3.2-r0" + } + ] + }, + { + "bom-ref": "pkg:pypi/cffi@2.1.1", + "type": "library", + "name": "cffi", + "version": "2.1.1", + "licenses": [ + { + "license": { + "id": "MIT-0" + } + } + ], + "purl": "pkg:pypi/cffi@2.1.1", + "properties": [ + { + "name": "aquasecurity:trivy:FilePath", + "value": "opt/venv/lib/python3.12/site-packages/cffi-2.1.1.dist-info/METADATA" + }, + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:648451a0dda84ad04681e32b5ecc7cd5d3a4f0ad84f783e9598d72bc69620d5c" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:82ff17b555d91096dd328eb1e829daaeba9a48d7757143d0b97c35a721f6fb87" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "python-pkg" + } + ] + }, + { + "bom-ref": "pkg:pypi/cryptography@50.0.1", + "type": "library", + "name": "cryptography", + "version": "50.0.1", + "licenses": [ + { + "expression": "Apache-2.0 OR BSD-3-Clause" + } + ], + "purl": "pkg:pypi/cryptography@50.0.1", + "properties": [ + { + "name": "aquasecurity:trivy:FilePath", + "value": "opt/venv/lib/python3.12/site-packages/cryptography-50.0.1.dist-info/METADATA" + }, + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:648451a0dda84ad04681e32b5ecc7cd5d3a4f0ad84f783e9598d72bc69620d5c" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:82ff17b555d91096dd328eb1e829daaeba9a48d7757143d0b97c35a721f6fb87" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "python-pkg" + } + ] + }, + { + "bom-ref": "pkg:pypi/informed-decision@0.2.0", + "type": "library", + "name": "informed-decision", + "version": "0.2.0", + "purl": "pkg:pypi/informed-decision@0.2.0", + "properties": [ + { + "name": "aquasecurity:trivy:FilePath", + "value": "opt/venv/lib/python3.12/site-packages/informed_decision-0.2.0.dist-info/METADATA" + }, + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:648451a0dda84ad04681e32b5ecc7cd5d3a4f0ad84f783e9598d72bc69620d5c" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:82ff17b555d91096dd328eb1e829daaeba9a48d7757143d0b97c35a721f6fb87" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "python-pkg" + } + ] + }, + { + "bom-ref": "pkg:pypi/pycparser@3.0", + "type": "library", + "name": "pycparser", + "version": "3.0", + "licenses": [ + { + "license": { + "id": "BSD-3-Clause" + } + } + ], + "purl": "pkg:pypi/pycparser@3.0", + "properties": [ + { + "name": "aquasecurity:trivy:FilePath", + "value": "opt/venv/lib/python3.12/site-packages/pycparser-3.0.dist-info/METADATA" + }, + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:648451a0dda84ad04681e32b5ecc7cd5d3a4f0ad84f783e9598d72bc69620d5c" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:82ff17b555d91096dd328eb1e829daaeba9a48d7757143d0b97c35a721f6fb87" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "python-pkg" + } + ] + }, + { + "bom-ref": "pkg:pypi/pyjwt@2.15.1", + "type": "library", + "name": "PyJWT", + "version": "2.15.1", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "purl": "pkg:pypi/pyjwt@2.15.1", + "properties": [ + { + "name": "aquasecurity:trivy:FilePath", + "value": "opt/venv/lib/python3.12/site-packages/pyjwt-2.15.1.dist-info/METADATA" + }, + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:648451a0dda84ad04681e32b5ecc7cd5d3a4f0ad84f783e9598d72bc69620d5c" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:82ff17b555d91096dd328eb1e829daaeba9a48d7757143d0b97c35a721f6fb87" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "python-pkg" + } + ] + }, + { + "bom-ref": "pkg:pypi/waitress@3.0.2", + "type": "library", + "name": "waitress", + "version": "3.0.2", + "licenses": [ + { + "license": { + "id": "ZPL-2.1" + } + } + ], + "purl": "pkg:pypi/waitress@3.0.2", + "properties": [ + { + "name": "aquasecurity:trivy:FilePath", + "value": "opt/venv/lib/python3.12/site-packages/waitress-3.0.2.dist-info/METADATA" + }, + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:648451a0dda84ad04681e32b5ecc7cd5d3a4f0ad84f783e9598d72bc69620d5c" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:82ff17b555d91096dd328eb1e829daaeba9a48d7757143d0b97c35a721f6fb87" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "python-pkg" + } + ] + } + ], + "dependencies": [ + { + "ref": "65b030f2-ac92-4cbc-a6e6-f92890b5a5f5", + "dependsOn": [ + "pkg:apk/alpine/.python-rundeps@20260901.001029?arch=noarch&distro=3.24.1", + "pkg:apk/alpine/alpine-baselayout@3.7.2-r1?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/alpine-release@3.24.1-r0?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/apk-tools@3.0.6-r0?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/ca-certificates@20260611-r0?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/musl-utils@1.2.6-r2?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/ssl_client@1.37.0-r31?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/tzdata@2026c-r0?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "72113269-9efb-4c6a-a07f-752a12125747", + "dependsOn": [ + "65b030f2-ac92-4cbc-a6e6-f92890b5a5f5", + "pkg:pypi/cffi@2.1.1", + "pkg:pypi/cryptography@50.0.1", + "pkg:pypi/informed-decision@0.2.0", + "pkg:pypi/pycparser@3.0", + "pkg:pypi/pyjwt@2.15.1", + "pkg:pypi/waitress@3.0.2" + ] + }, + { + "ref": "pkg:apk/alpine/.python-rundeps@20260901.001029?arch=noarch&distro=3.24.1", + "dependsOn": [ + "pkg:apk/alpine/gdbm@1.26-r0?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/libbz2@1.0.8-r6?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/libcrypto3@3.5.8-r0?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/libffi@3.5.2-r1?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/libncursesw@6.6_p20260516-r0?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/libnsl@2.0.1-r2?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/libpanelw@6.6_p20260516-r0?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/libssl3@3.5.8-r0?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/libtirpc@1.3.5-r1?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/libuuid@2.42.3-r1?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/readline@8.3.3-r1?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/sqlite-libs@3.53.4-r0?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/xz-libs@5.8.3-r0?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/zlib@1.3.2-r0?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:apk/alpine/alpine-baselayout-data@3.7.2-r1?arch=x86_64&distro=3.24.1", + "dependsOn": [] + }, + { + "ref": "pkg:apk/alpine/alpine-baselayout@3.7.2-r1?arch=x86_64&distro=3.24.1", + "dependsOn": [ + "pkg:apk/alpine/alpine-baselayout-data@3.7.2-r1?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/busybox-binsh@1.37.0-r31?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:apk/alpine/alpine-keys@2.6-r0?arch=x86_64&distro=3.24.1", + "dependsOn": [] + }, + { + "ref": "pkg:apk/alpine/alpine-release@3.24.1-r0?arch=x86_64&distro=3.24.1", + "dependsOn": [ + "pkg:apk/alpine/alpine-keys@2.6-r0?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:apk/alpine/apk-tools@3.0.6-r0?arch=x86_64&distro=3.24.1", + "dependsOn": [ + "pkg:apk/alpine/ca-certificates-bundle@20260611-r0?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/libapk@3.0.6-r0?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/libcrypto3@3.5.8-r0?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/zlib@1.3.2-r0?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:apk/alpine/busybox-binsh@1.37.0-r31?arch=x86_64&distro=3.24.1", + "dependsOn": [ + "pkg:apk/alpine/busybox@1.37.0-r31?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:apk/alpine/busybox@1.37.0-r31?arch=x86_64&distro=3.24.1", + "dependsOn": [ + "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:apk/alpine/ca-certificates-bundle@20260611-r0?arch=x86_64&distro=3.24.1", + "dependsOn": [] + }, + { + "ref": "pkg:apk/alpine/ca-certificates@20260611-r0?arch=x86_64&distro=3.24.1", + "dependsOn": [ + "pkg:apk/alpine/busybox-binsh@1.37.0-r31?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/libcrypto3@3.5.8-r0?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:apk/alpine/gdbm@1.26-r0?arch=x86_64&distro=3.24.1", + "dependsOn": [ + "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:apk/alpine/keyutils-libs@1.6.3-r4?arch=x86_64&distro=3.24.1", + "dependsOn": [ + "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:apk/alpine/krb5-conf@1.0-r2?arch=x86_64&distro=3.24.1", + "dependsOn": [] + }, + { + "ref": "pkg:apk/alpine/krb5-libs@1.22.2-r1?arch=x86_64&distro=3.24.1", + "dependsOn": [ + "pkg:apk/alpine/keyutils-libs@1.6.3-r4?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/krb5-conf@1.0-r2?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/libcom_err@1.47.4-r0?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/libcrypto3@3.5.8-r0?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/libssl3@3.5.8-r0?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/libverto@0.3.2-r2?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:apk/alpine/libapk@3.0.6-r0?arch=x86_64&distro=3.24.1", + "dependsOn": [ + "pkg:apk/alpine/libcrypto3@3.5.8-r0?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/libssl3@3.5.8-r0?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/zlib@1.3.2-r0?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:apk/alpine/libbz2@1.0.8-r6?arch=x86_64&distro=3.24.1", + "dependsOn": [ + "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:apk/alpine/libcom_err@1.47.4-r0?arch=x86_64&distro=3.24.1", + "dependsOn": [ + "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:apk/alpine/libcrypto3@3.5.8-r0?arch=x86_64&distro=3.24.1", + "dependsOn": [ + "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:apk/alpine/libffi@3.5.2-r1?arch=x86_64&distro=3.24.1", + "dependsOn": [ + "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:apk/alpine/libintl@1.0-r0?arch=x86_64&distro=3.24.1", + "dependsOn": [ + "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:apk/alpine/libncursesw@6.6_p20260516-r0?arch=x86_64&distro=3.24.1", + "dependsOn": [ + "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/ncurses-terminfo-base@6.6_p20260516-r0?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:apk/alpine/libnsl@2.0.1-r2?arch=x86_64&distro=3.24.1", + "dependsOn": [ + "pkg:apk/alpine/libintl@1.0-r0?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/libtirpc@1.3.5-r1?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:apk/alpine/libpanelw@6.6_p20260516-r0?arch=x86_64&distro=3.24.1", + "dependsOn": [ + "pkg:apk/alpine/libncursesw@6.6_p20260516-r0?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/ncurses-terminfo-base@6.6_p20260516-r0?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:apk/alpine/libssl3@3.5.8-r0?arch=x86_64&distro=3.24.1", + "dependsOn": [ + "pkg:apk/alpine/libcrypto3@3.5.8-r0?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:apk/alpine/libtirpc-conf@1.3.5-r1?arch=x86_64&distro=3.24.1", + "dependsOn": [] + }, + { + "ref": "pkg:apk/alpine/libtirpc@1.3.5-r1?arch=x86_64&distro=3.24.1", + "dependsOn": [ + "pkg:apk/alpine/krb5-libs@1.22.2-r1?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/libtirpc-conf@1.3.5-r1?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:apk/alpine/libuuid@2.42.3-r1?arch=x86_64&distro=3.24.1", + "dependsOn": [ + "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:apk/alpine/libverto@0.3.2-r2?arch=x86_64&distro=3.24.1", + "dependsOn": [ + "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:apk/alpine/musl-utils@1.2.6-r2?arch=x86_64&distro=3.24.1", + "dependsOn": [ + "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/scanelf@1.3.9-r1?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1", + "dependsOn": [] + }, + { + "ref": "pkg:apk/alpine/ncurses-terminfo-base@6.6_p20260516-r0?arch=x86_64&distro=3.24.1", + "dependsOn": [] + }, + { + "ref": "pkg:apk/alpine/readline@8.3.3-r1?arch=x86_64&distro=3.24.1", + "dependsOn": [ + "pkg:apk/alpine/libncursesw@6.6_p20260516-r0?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:apk/alpine/scanelf@1.3.9-r1?arch=x86_64&distro=3.24.1", + "dependsOn": [ + "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:apk/alpine/sqlite-libs@3.53.4-r0?arch=x86_64&distro=3.24.1", + "dependsOn": [ + "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:apk/alpine/ssl_client@1.37.0-r31?arch=x86_64&distro=3.24.1", + "dependsOn": [ + "pkg:apk/alpine/libcrypto3@3.5.8-r0?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/libssl3@3.5.8-r0?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:apk/alpine/tzdata@2026c-r0?arch=x86_64&distro=3.24.1", + "dependsOn": [] + }, + { + "ref": "pkg:apk/alpine/xz-libs@5.8.3-r0?arch=x86_64&distro=3.24.1", + "dependsOn": [ + "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:apk/alpine/zlib@1.3.2-r0?arch=x86_64&distro=3.24.1", + "dependsOn": [ + "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:pypi/cffi@2.1.1", + "dependsOn": [] + }, + { + "ref": "pkg:pypi/cryptography@50.0.1", + "dependsOn": [] + }, + { + "ref": "pkg:pypi/informed-decision@0.2.0", + "dependsOn": [] + }, + { + "ref": "pkg:pypi/pycparser@3.0", + "dependsOn": [] + }, + { + "ref": "pkg:pypi/pyjwt@2.15.1", + "dependsOn": [] + }, + { + "ref": "pkg:pypi/waitress@3.0.2", + "dependsOn": [] + } + ], + "vulnerabilities": [ + { + "id": "CVE-2026-85091", + "source": { + "name": "alpine", + "url": "https://secdb.alpinelinux.org/" + }, + "ratings": [ + { + "source": { + "name": "ubuntu" + }, + "severity": "medium" + } + ], + "cwes": [ + 787 + ], + "description": "zlib versions 1.3.1.2 through 1.3.2 contain a heap buffer overflow vulnerability in the gz_vacate() function when processing non-blocking gzwrite() operations with stale external buffer pointers. Attackers can trigger the overflow by calling gzprintf() or gzvprintf() after a write stall, causing an unchecked memmove() to write beyond the internal input buffer boundary.", + "recommendation": "Upgrade zlib to version 1.3.2-r1", + "advisories": [ + { + "url": "https://avd.aquasec.com/nvd/cve-2026-85091" + }, + { + "url": "https://gist.github.com/thesmartshadow/e0b9481792afb7c31e86fee1ff084490" + }, + { + "url": "https://github.com/madler/zlib" + }, + { + "url": "https://github.com/madler/zlib/blob/v1.3.2/gzwrite.c#L393" + }, + { + "url": "https://www.cve.org/CVERecord?id=CVE-2026-85091" + }, + { + "url": "https://www.vulncheck.com/advisories/zlib-1.3.1.2-through-1.3.2-heap-buffer-overflow-via-gz-vacate" + } + ], + "published": "2026-09-03T13:06:20+00:00", + "updated": "2026-09-09T20:41:07+00:00", + "affects": [ + { + "ref": "pkg:apk/alpine/zlib@1.3.2-r0?arch=x86_64&distro=3.24.1", + "versions": [ + { + "version": "1.3.2-r0", + "status": "affected" + } + ] + } + ] + } + ] +} diff --git a/docs/evidence/2026-10-11-zlib-remediation-candidate/base-trivy-full.json b/docs/evidence/2026-10-11-zlib-remediation-candidate/base-trivy-full.json new file mode 100644 index 0000000..3c4ff89 --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-remediation-candidate/base-trivy-full.json @@ -0,0 +1,2387 @@ +{ + "SchemaVersion": 2, + "Trivy": { + "Version": "0.74.0" + }, + "ReportID": "01a129db-cdaf-7437-981b-0d63c6d47346", + "CreatedAt": "2026-10-11T07:27:13.327278878Z", + "ArtifactID": "sha256:f34de21379c4f50ea0361ca1d8296c8e72f989499ad288016b81204997ae4779", + "ArtifactName": "/artifact/base-image.tar", + "ArtifactType": "container_image", + "Metadata": { + "Size": 88258048, + "OS": { + "Family": "alpine", + "Name": "3.24.1" + }, + "ImageID": "sha256:f34de21379c4f50ea0361ca1d8296c8e72f989499ad288016b81204997ae4779", + "DiffIDs": [ + "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c", + "sha256:3ca4be2c6e9ac0223715355253725381000486c2b45bfcb22cf571b6a85a12dd", + "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366", + "sha256:4098ad033525263f92a8a9c51865596025d47018e078c0b1f7d9cd5663fc1ffe", + "sha256:f9b4a8a412a0c07a489e46fb5db41f9d0dc84d4ec38a4e2c6ab9531f44e0d9f1", + "sha256:648451a0dda84ad04681e32b5ecc7cd5d3a4f0ad84f783e9598d72bc69620d5c", + "sha256:361430a1113969743b99e237b20f023d5497493bcf96fb91af99ac0a0dbc4a59", + "sha256:cfc5939674d67f60b4411c24dfcde5622b712eeb7376cd0941a2751da80a6b02", + "sha256:21ff9188cb29ca95fe9be11355f70ab5586e8499e33b52a253d953fb3b75aea3" + ], + "ImageConfig": { + "architecture": "amd64", + "created": "2026-10-11T01:21:04.787527697Z", + "docker_version": "27.5.1", + "history": [ + { + "created": "2026-06-16T00:01:29.967161902Z", + "created_by": "ADD alpine-minirootfs-3.24.1-x86_64.tar.gz / # buildkit", + "comment": "buildkit.dockerfile.v0" + }, + { + "created": "2026-06-16T00:01:29.967161902Z", + "created_by": "CMD [\"/bin/sh\"]", + "comment": "buildkit.dockerfile.v0", + "empty_layer": true + }, + { + "created": "2026-09-01T00:05:24.224544843Z", + "created_by": "ENV PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", + "comment": "buildkit.dockerfile.v0", + "empty_layer": true + }, + { + "created": "2026-09-01T00:05:24.224544843Z", + "created_by": "ENV LANG=C.UTF-8", + "comment": "buildkit.dockerfile.v0", + "empty_layer": true + }, + { + "created": "2026-09-01T00:05:24.224544843Z", + "created_by": "RUN /bin/sh -c set -eux; \tapk add --no-cache \t\tca-certificates \t\ttzdata \t; # buildkit", + "comment": "buildkit.dockerfile.v0" + }, + { + "created": "2026-09-01T00:05:24.224544843Z", + "created_by": "ENV GPG_KEY=7169605F62C751356D054A26A821E680E5FA6305", + "comment": "buildkit.dockerfile.v0", + "empty_layer": true + }, + { + "created": "2026-09-01T00:05:24.224544843Z", + "created_by": "ENV PYTHON_VERSION=3.12.14", + "comment": "buildkit.dockerfile.v0", + "empty_layer": true + }, + { + "created": "2026-09-01T00:05:24.224544843Z", + "created_by": "ENV PYTHON_SHA256=5c8462af5790baf43a321a1559dbe0db06d1be4300fb85fb53c40060668e548a", + "comment": "buildkit.dockerfile.v0", + "empty_layer": true + }, + { + "created": "2026-09-01T00:10:30.672225972Z", + "created_by": "RUN /bin/sh -c set -eux; \t\tapk add --no-cache --virtual .build-deps \t\tbluez-dev \t\tbzip2-dev \t\tdpkg-dev dpkg \t\tfindutils \t\tg++ \t\tgcc \t\tgdbm-dev \t\tgnupg \t\tlibc-dev \t\tlibffi-dev \t\tlibnsl-dev \t\tlibtirpc-dev \t\tlinux-headers \t\tmake \t\tncurses-dev \t\topenssl-dev \t\tpax-utils \t\treadline-dev \t\tsqlite-dev \t\ttar \t\ttcl-dev \t\ttk \t\ttk-dev \t\tutil-linux-dev \t\txz \t\txz-dev \t\tzlib-dev \t; \t\twget -O python.tar.xz \"https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz\"; \techo \"$PYTHON_SHA256 *python.tar.xz\" | sha256sum -c -; \twget -O python.tar.xz.asc \"https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz.asc\"; \tGNUPGHOME=\"$(mktemp -d)\"; export GNUPGHOME; \tgpg --batch --keyserver hkps://keys.openpgp.org --recv-keys \"$GPG_KEY\"; \tgpg --batch --verify python.tar.xz.asc python.tar.xz; \tgpgconf --kill all; \trm -rf \"$GNUPGHOME\" python.tar.xz.asc; \tmkdir -p /usr/src/python; \ttar --extract --directory /usr/src/python --strip-components=1 --file python.tar.xz; \trm python.tar.xz; \t\tcd /usr/src/python; \tgnuArch=\"$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)\"; \t./configure \t\t--build=\"$gnuArch\" \t\t--enable-loadable-sqlite-extensions \t\t--enable-option-checking=fatal \t\t--enable-shared \t\t$(test \"${gnuArch%%-*}\" != 'riscv64' \u0026\u0026 echo '--with-lto') \t\t--with-ensurepip \t; \tnproc=\"$(nproc)\"; \tEXTRA_CFLAGS=\"-DTHREAD_STACK_SIZE=0x100000\"; \tLDFLAGS=\"${LDFLAGS:-} -Wl,--strip-all\"; \tarch=\"$(apk --print-arch)\"; \tcase \"$arch\" in \t\tx86_64|aarch64) \t\t\tEXTRA_CFLAGS=\"${EXTRA_CFLAGS:-} -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer\"; \t\t\t;; \t\tx86) \t\t\t;; \t\t*) \t\t\tEXTRA_CFLAGS=\"${EXTRA_CFLAGS:-} -fno-omit-frame-pointer\"; \t\t\t;; \tesac; \tmake -j \"$nproc\" \t\t\"EXTRA_CFLAGS=${EXTRA_CFLAGS:-}\" \t\t\"LDFLAGS=${LDFLAGS:-}\" \t; \trm python; \tmake -j \"$nproc\" \t\t\"EXTRA_CFLAGS=${EXTRA_CFLAGS:-}\" \t\t\"LDFLAGS=${LDFLAGS:-} -Wl,-rpath='\\$\\$ORIGIN/../lib'\" \t\tpython \t; \tmake install; \t\tcd /; \trm -rf /usr/src/python; \t\tfind /usr/local -depth \t\t\\( \t\t\t\\( -type d -a \\( -name test -o -name tests -o -name idle_test \\) \\) \t\t\t-o \\( -type f -a \\( -name '*.pyc' -o -name '*.pyo' -o -name 'libpython*.a' \\) \\) \t\t\\) -exec rm -rf '{}' + \t; \t\tfind /usr/local -type f -executable -not \\( -name '*tkinter*' \\) -exec scanelf --needed --nobanner --format '%n#p' '{}' ';' \t\t| tr ',' '\\n' \t\t| sort -u \t\t| awk 'system(\"[ -e /usr/local/lib/\" $1 \" ]\") == 0 { next } { print \"so:\" $1 }' \t\t| xargs -rt apk add --no-network --virtual .python-rundeps \t; \tapk del --no-network .build-deps; \t\texport PYTHONDONTWRITEBYTECODE=1; \tpython3 --version; \tpip3 --version # buildkit", + "comment": "buildkit.dockerfile.v0" + }, + { + "created": "2026-09-01T00:10:30.782726003Z", + "created_by": "RUN /bin/sh -c set -eux; \tfor src in idle3 pip3 pydoc3 python3 python3-config; do \t\tdst=\"$(echo \"$src\" | tr -d 3)\"; \t\t[ -s \"/usr/local/bin/$src\" ]; \t\t[ ! -e \"/usr/local/bin/$dst\" ]; \t\tln -svT \"$src\" \"/usr/local/bin/$dst\"; \tdone # buildkit", + "comment": "buildkit.dockerfile.v0" + }, + { + "created": "2026-09-01T00:10:30.782726003Z", + "created_by": "CMD [\"python3\"]", + "comment": "buildkit.dockerfile.v0", + "empty_layer": true + }, + { + "created": "2026-09-11T00:49:47.962156876+02:00", + "created_by": "ENV PYTHONDONTWRITEBYTECODE=1 PYTHONUNBUFFERED=1 PATH=/opt/venv/bin:/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", + "comment": "buildkit.dockerfile.v0", + "empty_layer": true + }, + { + "created": "2026-09-11T00:49:47.962156876+02:00", + "created_by": "RUN /bin/sh -c apk add --no-cache 'libuuid\u003e=2.42.3-r1' \u0026\u0026 addgroup -S -g 10001 informed \u0026\u0026 adduser -S -u 10001 -G informed -H informed # buildkit", + "comment": "buildkit.dockerfile.v0" + }, + { + "created": "2026-10-05T01:03:55.351944978+02:00", + "created_by": "COPY /opt/venv /opt/venv # buildkit", + "comment": "buildkit.dockerfile.v0" + }, + { + "created": "2026-10-05T01:03:56.462092072+02:00", + "created_by": "RUN /bin/sh -c rm -rf /usr/local/bin/pip* /usr/local/lib/python3.12/site-packages/pip* /usr/local/lib/python3.12/site-packages/setuptools* /usr/local/lib/python3.12/site-packages/pkg_resources /opt/venv/bin/pip* /opt/venv/lib/python3.12/site-packages/pip* /opt/venv/lib/python3.12/site-packages/setuptools* /opt/venv/lib/python3.12/site-packages/pkg_resources # buildkit", + "comment": "buildkit.dockerfile.v0" + }, + { + "created": "2026-10-05T01:03:56.675216821+02:00", + "created_by": "WORKDIR /app", + "comment": "buildkit.dockerfile.v0" + }, + { + "created": "2026-10-05T01:03:56.675216821+02:00", + "created_by": "USER 10001:10001", + "comment": "buildkit.dockerfile.v0", + "empty_layer": true + }, + { + "created": "2026-10-05T01:03:56.675216821+02:00", + "created_by": "EXPOSE [8080/tcp 8081/tcp]", + "comment": "buildkit.dockerfile.v0", + "empty_layer": true + }, + { + "created": "2026-10-05T01:03:56.675216821+02:00", + "created_by": "ENTRYPOINT [\"informed-decision-container\"]", + "comment": "buildkit.dockerfile.v0", + "empty_layer": true + }, + { + "created": "2026-10-11T01:15:11.991443676Z", + "created_by": "/bin/sh -c #(nop) ARG SOURCE_REVISION", + "empty_layer": true + }, + { + "created": "2026-10-11T01:21:04.716126392Z", + "created_by": "/bin/sh -c #(nop) LABEL org.opencontainers.image.revision=3e4bcb26f8eeaa8c64345c565477b5ac8ccbb168 org.opencontainers.image.base.digest=sha256:7f5c6cb29c9f70a026bfe30e72934274ddc69261676cf6d476f81dd32812d173 social.coulomb.source.policy.sha256=9d7c1be4cb6199d14ef0aaead5f85951f45b0ccbd7c800a7fde922a253566b62 social.coulomb.release.scope=INFD-WP-0009-T04/purpose-overlay-v1", + "empty_layer": true + }, + { + "created": "2026-10-11T01:21:04.787527697Z", + "created_by": "/bin/sh -c #(nop) COPY file:2be9cb36e7253e15733673359cda8caa22986b6888822a008c1b360d909994e0 in /opt/venv/lib/python3.12/site-packages/informed_decision/policy.py " + } + ], + "os": "linux", + "rootfs": { + "type": "layers", + "diff_ids": [ + "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c", + "sha256:3ca4be2c6e9ac0223715355253725381000486c2b45bfcb22cf571b6a85a12dd", + "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366", + "sha256:4098ad033525263f92a8a9c51865596025d47018e078c0b1f7d9cd5663fc1ffe", + "sha256:f9b4a8a412a0c07a489e46fb5db41f9d0dc84d4ec38a4e2c6ab9531f44e0d9f1", + "sha256:648451a0dda84ad04681e32b5ecc7cd5d3a4f0ad84f783e9598d72bc69620d5c", + "sha256:361430a1113969743b99e237b20f023d5497493bcf96fb91af99ac0a0dbc4a59", + "sha256:cfc5939674d67f60b4411c24dfcde5622b712eeb7376cd0941a2751da80a6b02", + "sha256:21ff9188cb29ca95fe9be11355f70ab5586e8499e33b52a253d953fb3b75aea3" + ] + }, + "config": { + "Entrypoint": [ + "informed-decision-container" + ], + "Env": [ + "PATH=/opt/venv/bin:/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", + "LANG=C.UTF-8", + "GPG_KEY=7169605F62C751356D054A26A821E680E5FA6305", + "PYTHON_VERSION=3.12.14", + "PYTHON_SHA256=5c8462af5790baf43a321a1559dbe0db06d1be4300fb85fb53c40060668e548a", + "PYTHONDONTWRITEBYTECODE=1", + "PYTHONUNBUFFERED=1" + ], + "Image": "sha256:90f1574f9eda35fa6cb972961beb27a7cb904c36560e381930b0e14065c23883", + "Labels": { + "org.opencontainers.image.base.digest": "sha256:7f5c6cb29c9f70a026bfe30e72934274ddc69261676cf6d476f81dd32812d173", + "org.opencontainers.image.revision": "3e4bcb26f8eeaa8c64345c565477b5ac8ccbb168", + "social.coulomb.release.scope": "INFD-WP-0009-T04/purpose-overlay-v1", + "social.coulomb.source.policy.sha256": "9d7c1be4cb6199d14ef0aaead5f85951f45b0ccbd7c800a7fde922a253566b62" + }, + "User": "10001:10001", + "WorkingDir": "/app", + "ExposedPorts": { + "8080/tcp": {}, + "8081/tcp": {} + } + } + }, + "Layers": [ + { + "Size": 8697856, + "Digest": "sha256:55afa1ecc21d2bb5e5045f32dafee56272ffd89860bac26f6c32123439af26a4", + "DiffID": "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c" + }, + { + "Size": 1538048, + "Digest": "sha256:47393b668ce535d06e8967917d424c177e2ecccae83856d48b2e99164f8cc6cb", + "DiffID": "sha256:3ca4be2c6e9ac0223715355253725381000486c2b45bfcb22cf571b6a85a12dd" + }, + { + "Size": 47150592, + "Digest": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235", + "DiffID": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + { + "Size": 5120, + "Digest": "sha256:ed62c91ccd94e36a928e96d704cfcf20861302590245cc12aa89a15a5d6be29b", + "DiffID": "sha256:4098ad033525263f92a8a9c51865596025d47018e078c0b1f7d9cd5663fc1ffe" + }, + { + "Size": 131584, + "Digest": "sha256:f0fe3e08ab046c0c5e29d34ee73bc8c7e03398eb891e4498e0a67088a5ea3e86", + "DiffID": "sha256:f9b4a8a412a0c07a489e46fb5db41f9d0dc84d4ec38a4e2c6ab9531f44e0d9f1" + }, + { + "Size": 30705664, + "Digest": "sha256:82ff17b555d91096dd328eb1e829daaeba9a48d7757143d0b97c35a721f6fb87", + "DiffID": "sha256:648451a0dda84ad04681e32b5ecc7cd5d3a4f0ad84f783e9598d72bc69620d5c" + }, + { + "Size": 12288, + "Digest": "sha256:16a3dba6b720d3059eab918cd3596f94145ac9cf4d456f925a21f0f72522863f", + "DiffID": "sha256:361430a1113969743b99e237b20f023d5497493bcf96fb91af99ac0a0dbc4a59" + }, + { + "Size": 1536, + "Digest": "sha256:e73dd464fbff5607cc62a1b2b66b0eefe737dfad4db8e7b58a48cda7c12d94d3", + "DiffID": "sha256:cfc5939674d67f60b4411c24dfcde5622b712eeb7376cd0941a2751da80a6b02" + }, + { + "Size": 15360, + "Digest": "sha256:cfee29c2f8119d2a39714ecbe5095a2dc1c986054f2e1fe0a6565163242417e3", + "DiffID": "sha256:21ff9188cb29ca95fe9be11355f70ab5586e8499e33b52a253d953fb3b75aea3" + } + ] + }, + "Results": [ + { + "Target": "/artifact/base-image.tar (alpine 3.24.1)", + "Class": "os-pkgs", + "Type": "alpine", + "Packages": [ + { + "ID": ".python-rundeps@20260901.001029", + "Name": ".python-rundeps", + "Identifier": { + "PURL": "pkg:apk/alpine/.python-rundeps@20260901.001029?arch=noarch\u0026distro=3.24.1", + "UID": "4e26c99fecac1e97" + }, + "Version": "20260901.001029", + "Arch": "noarch", + "DependsOn": [ + "gdbm@1.26-r0", + "libbz2@1.0.8-r6", + "libcrypto3@3.5.8-r0", + "libffi@3.5.2-r1", + "libncursesw@6.6_p20260516-r0", + "libnsl@2.0.1-r2", + "libpanelw@6.6_p20260516-r0", + "libssl3@3.5.8-r0", + "libtirpc@1.3.5-r1", + "libuuid@2.42.3-r1", + "musl@1.2.6-r2", + "readline@8.3.3-r1", + "sqlite-libs@3.53.4-r0", + "xz-libs@5.8.3-r0", + "zlib@1.3.2-r0" + ], + "Layer": { + "Digest": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235", + "DiffID": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + "Digest": "sha1:51d0c1e7d88a414345799f0309185c625013ef32", + "AnalyzedBy": "apk" + }, + { + "ID": "alpine-baselayout@3.7.2-r1", + "Name": "alpine-baselayout", + "Identifier": { + "PURL": "pkg:apk/alpine/alpine-baselayout@3.7.2-r1?arch=x86_64\u0026distro=3.24.1", + "UID": "1b9c543300f8073e" + }, + "Version": "3.7.2-r1", + "Arch": "x86_64", + "SrcName": "alpine-baselayout", + "SrcVersion": "3.7.2-r1", + "Licenses": [ + "GPL-2.0-only" + ], + "Maintainer": "Natanael Copa \u003cncopa@alpinelinux.org\u003e", + "DependsOn": [ + "alpine-baselayout-data@3.7.2-r1", + "busybox-binsh@1.37.0-r31" + ], + "Layer": { + "Digest": "sha256:55afa1ecc21d2bb5e5045f32dafee56272ffd89860bac26f6c32123439af26a4", + "DiffID": "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c" + }, + "Digest": "sha1:f0fcfdc2f4da058af6473bc45c4eab62916225b2", + "InstalledFiles": [ + "etc/motd", + "etc/crontabs/root", + "etc/modprobe.d/aliases.conf", + "etc/modprobe.d/blacklist.conf", + "etc/modprobe.d/i386.conf", + "etc/profile.d/20locale.sh", + "etc/profile.d/README", + "etc/profile.d/color_prompt.sh.disabled", + "usr/lib/sysctl.d/00-alpine.conf", + "var/lock", + "var/run", + "var/spool/mail", + "var/spool/cron/crontabs" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "alpine-baselayout-data@3.7.2-r1", + "Name": "alpine-baselayout-data", + "Identifier": { + "PURL": "pkg:apk/alpine/alpine-baselayout-data@3.7.2-r1?arch=x86_64\u0026distro=3.24.1", + "UID": "fcc3cd90122d8aa7" + }, + "Version": "3.7.2-r1", + "Arch": "x86_64", + "SrcName": "alpine-baselayout", + "SrcVersion": "3.7.2-r1", + "Licenses": [ + "GPL-2.0-only" + ], + "Maintainer": "Natanael Copa \u003cncopa@alpinelinux.org\u003e", + "Layer": { + "Digest": "sha256:55afa1ecc21d2bb5e5045f32dafee56272ffd89860bac26f6c32123439af26a4", + "DiffID": "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c" + }, + "Digest": "sha1:c6f9bded17d844b6f1b0bb5766d2c35c0d5c8508", + "InstalledFiles": [ + "etc/fstab", + "etc/group", + "etc/hostname", + "etc/hosts", + "etc/inittab", + "etc/modules", + "etc/mtab", + "etc/nsswitch.conf", + "etc/passwd", + "etc/profile", + "etc/protocols", + "etc/services", + "etc/shadow", + "etc/shells", + "etc/sysctl.conf" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "alpine-keys@2.6-r0", + "Name": "alpine-keys", + "Identifier": { + "PURL": "pkg:apk/alpine/alpine-keys@2.6-r0?arch=x86_64\u0026distro=3.24.1", + "UID": "cb1f6c8fa74713e0" + }, + "Version": "2.6-r0", + "Arch": "x86_64", + "SrcName": "alpine-keys", + "SrcVersion": "2.6-r0", + "Licenses": [ + "MIT" + ], + "Maintainer": "Natanael Copa \u003cncopa@alpinelinux.org\u003e", + "Layer": { + "Digest": "sha256:55afa1ecc21d2bb5e5045f32dafee56272ffd89860bac26f6c32123439af26a4", + "DiffID": "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c" + }, + "Digest": "sha1:d8d6b80e53c059a77e4915da78ba964f3ffea240", + "InstalledFiles": [ + "etc/apk/keys/alpine-devel@lists.alpinelinux.org-4a6a0840.rsa.pub", + "etc/apk/keys/alpine-devel@lists.alpinelinux.org-5261cecb.rsa.pub", + "etc/apk/keys/alpine-devel@lists.alpinelinux.org-6165ee59.rsa.pub", + "usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-4a6a0840.rsa.pub", + "usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-5243ef4b.rsa.pub", + "usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-524d27bb.rsa.pub", + "usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-5261cecb.rsa.pub", + "usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-58199dcc.rsa.pub", + "usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-58cbb476.rsa.pub", + "usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-58e4f17d.rsa.pub", + "usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-5e69ca50.rsa.pub", + "usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-60ac2099.rsa.pub", + "usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-6165ee59.rsa.pub", + "usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-61666e3f.rsa.pub", + "usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-616a9724.rsa.pub", + "usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-616abc23.rsa.pub", + "usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-616ac3bc.rsa.pub", + "usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-616adfeb.rsa.pub", + "usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-616ae350.rsa.pub", + "usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-616db30d.rsa.pub", + "usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-66ba20fe.rsa.pub", + "usr/share/apk/keys/aarch64/alpine-devel@lists.alpinelinux.org-58199dcc.rsa.pub", + "usr/share/apk/keys/aarch64/alpine-devel@lists.alpinelinux.org-616ae350.rsa.pub", + "usr/share/apk/keys/armhf/alpine-devel@lists.alpinelinux.org-524d27bb.rsa.pub", + "usr/share/apk/keys/armhf/alpine-devel@lists.alpinelinux.org-616a9724.rsa.pub", + "usr/share/apk/keys/armv7/alpine-devel@lists.alpinelinux.org-524d27bb.rsa.pub", + "usr/share/apk/keys/armv7/alpine-devel@lists.alpinelinux.org-616adfeb.rsa.pub", + "usr/share/apk/keys/loongarch64/alpine-devel@lists.alpinelinux.org-66ba20fe.rsa.pub", + "usr/share/apk/keys/mips64/alpine-devel@lists.alpinelinux.org-5e69ca50.rsa.pub", + "usr/share/apk/keys/ppc64le/alpine-devel@lists.alpinelinux.org-58cbb476.rsa.pub", + "usr/share/apk/keys/ppc64le/alpine-devel@lists.alpinelinux.org-616abc23.rsa.pub", + "usr/share/apk/keys/riscv64/alpine-devel@lists.alpinelinux.org-60ac2099.rsa.pub", + "usr/share/apk/keys/riscv64/alpine-devel@lists.alpinelinux.org-616db30d.rsa.pub", + "usr/share/apk/keys/s390x/alpine-devel@lists.alpinelinux.org-58e4f17d.rsa.pub", + "usr/share/apk/keys/s390x/alpine-devel@lists.alpinelinux.org-616ac3bc.rsa.pub", + "usr/share/apk/keys/x86/alpine-devel@lists.alpinelinux.org-4a6a0840.rsa.pub", + "usr/share/apk/keys/x86/alpine-devel@lists.alpinelinux.org-5243ef4b.rsa.pub", + "usr/share/apk/keys/x86/alpine-devel@lists.alpinelinux.org-61666e3f.rsa.pub", + "usr/share/apk/keys/x86_64/alpine-devel@lists.alpinelinux.org-4a6a0840.rsa.pub", + "usr/share/apk/keys/x86_64/alpine-devel@lists.alpinelinux.org-5261cecb.rsa.pub", + "usr/share/apk/keys/x86_64/alpine-devel@lists.alpinelinux.org-6165ee59.rsa.pub" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "alpine-release@3.24.1-r0", + "Name": "alpine-release", + "Identifier": { + "PURL": "pkg:apk/alpine/alpine-release@3.24.1-r0?arch=x86_64\u0026distro=3.24.1", + "UID": "6cfad6f36e1f31aa" + }, + "Version": "3.24.1-r0", + "Arch": "x86_64", + "SrcName": "alpine-base", + "SrcVersion": "3.24.1-r0", + "Licenses": [ + "MIT" + ], + "Maintainer": "Natanael Copa \u003cncopa@alpinelinux.org\u003e", + "DependsOn": [ + "alpine-keys@2.6-r0" + ], + "Layer": { + "Digest": "sha256:55afa1ecc21d2bb5e5045f32dafee56272ffd89860bac26f6c32123439af26a4", + "DiffID": "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c" + }, + "Digest": "sha1:bc6912a25cdc7733e0035ed509eceaa4026946e3", + "InstalledFiles": [ + "etc/alpine-release", + "etc/issue", + "etc/os-release", + "etc/secfixes.d/alpine", + "usr/lib/os-release" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "apk-tools@3.0.6-r0", + "Name": "apk-tools", + "Identifier": { + "PURL": "pkg:apk/alpine/apk-tools@3.0.6-r0?arch=x86_64\u0026distro=3.24.1", + "UID": "cb2633c883b17a04" + }, + "Version": "3.0.6-r0", + "Arch": "x86_64", + "SrcName": "apk-tools", + "SrcVersion": "3.0.6-r0", + "Licenses": [ + "GPL-2.0-only" + ], + "Maintainer": "Natanael Copa \u003cncopa@alpinelinux.org\u003e", + "DependsOn": [ + "ca-certificates-bundle@20260611-r0", + "libapk@3.0.6-r0", + "libcrypto3@3.5.8-r0", + "musl@1.2.6-r2", + "zlib@1.3.2-r0" + ], + "Layer": { + "Digest": "sha256:55afa1ecc21d2bb5e5045f32dafee56272ffd89860bac26f6c32123439af26a4", + "DiffID": "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c" + }, + "Digest": "sha1:043333589798a1f52e09ae63f026c6c8fa676d34", + "InstalledFiles": [ + "sbin/apk" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "busybox@1.37.0-r31", + "Name": "busybox", + "Identifier": { + "PURL": "pkg:apk/alpine/busybox@1.37.0-r31?arch=x86_64\u0026distro=3.24.1", + "UID": "771020c43c8440bf" + }, + "Version": "1.37.0-r31", + "Arch": "x86_64", + "SrcName": "busybox", + "SrcVersion": "1.37.0-r31", + "Licenses": [ + "GPL-2.0-only" + ], + "Maintainer": "Sören Tempel \u003csoeren+alpine@soeren-tempel.net\u003e", + "DependsOn": [ + "musl@1.2.6-r2" + ], + "Layer": { + "Digest": "sha256:55afa1ecc21d2bb5e5045f32dafee56272ffd89860bac26f6c32123439af26a4", + "DiffID": "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c" + }, + "Digest": "sha1:b5405ebc02f7dd8be95b6265c54b243d5456ab8f", + "InstalledFiles": [ + "bin/busybox", + "etc/securetty", + "etc/busybox-paths.d/busybox", + "etc/logrotate.d/acpid", + "etc/network/if-up.d/dad", + "etc/udhcpc/udhcpc.conf", + "usr/share/udhcpc/default.script" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "busybox-binsh@1.37.0-r31", + "Name": "busybox-binsh", + "Identifier": { + "PURL": "pkg:apk/alpine/busybox-binsh@1.37.0-r31?arch=x86_64\u0026distro=3.24.1", + "UID": "1ec8a3d5d2b63297" + }, + "Version": "1.37.0-r31", + "Arch": "x86_64", + "SrcName": "busybox", + "SrcVersion": "1.37.0-r31", + "Licenses": [ + "GPL-2.0-only" + ], + "Maintainer": "Sören Tempel \u003csoeren+alpine@soeren-tempel.net\u003e", + "DependsOn": [ + "busybox@1.37.0-r31" + ], + "Layer": { + "Digest": "sha256:55afa1ecc21d2bb5e5045f32dafee56272ffd89860bac26f6c32123439af26a4", + "DiffID": "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c" + }, + "Digest": "sha1:5cbd14acc6f1804c5bac6c77dc2c492f010b0fc7", + "InstalledFiles": [ + "bin/sh" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "ca-certificates@20260611-r0", + "Name": "ca-certificates", + "Identifier": { + "PURL": "pkg:apk/alpine/ca-certificates@20260611-r0?arch=x86_64\u0026distro=3.24.1", + "UID": "2a3c316ee83c6198" + }, + "Version": "20260611-r0", + "Arch": "x86_64", + "SrcName": "ca-certificates", + "SrcVersion": "20260611-r0", + "Licenses": [ + "MPL-2.0", + "MIT" + ], + "Maintainer": "Natanael Copa \u003cncopa@alpinelinux.org\u003e", + "DependsOn": [ + "busybox-binsh@1.37.0-r31", + "libcrypto3@3.5.8-r0", + "musl@1.2.6-r2" + ], + "Layer": { + "Digest": "sha256:47393b668ce535d06e8967917d424c177e2ecccae83856d48b2e99164f8cc6cb", + "DiffID": "sha256:3ca4be2c6e9ac0223715355253725381000486c2b45bfcb22cf571b6a85a12dd" + }, + "Digest": "sha1:8f2a04abeb54b331e2970a0a0dffb7bd6bdde567", + "InstalledFiles": [ + "etc/ca-certificates.conf", + "etc/apk/protected_paths.d/ca-certificates.list", + "etc/ca-certificates/update.d/certhash", + "usr/bin/c_rehash", + "usr/sbin/update-ca-certificates", + "usr/share/ca-certificates/mozilla/ACCVRAIZ1.crt", + "usr/share/ca-certificates/mozilla/AC_RAIZ_FNMT-RCM.crt", + "usr/share/ca-certificates/mozilla/AC_RAIZ_FNMT-RCM_SERVIDORES_SEGUROS.crt", + "usr/share/ca-certificates/mozilla/ANF_Secure_Server_Root_CA.crt", + "usr/share/ca-certificates/mozilla/Actalis_Authentication_Root_CA.crt", + "usr/share/ca-certificates/mozilla/Amazon_Root_CA_1.crt", + "usr/share/ca-certificates/mozilla/Amazon_Root_CA_2.crt", + "usr/share/ca-certificates/mozilla/Amazon_Root_CA_3.crt", + "usr/share/ca-certificates/mozilla/Amazon_Root_CA_4.crt", + "usr/share/ca-certificates/mozilla/Atos_TrustedRoot_2011.crt", + "usr/share/ca-certificates/mozilla/Atos_TrustedRoot_Root_CA_ECC_TLS_2021.crt", + "usr/share/ca-certificates/mozilla/Atos_TrustedRoot_Root_CA_RSA_TLS_2021.crt", + "usr/share/ca-certificates/mozilla/Autoridad_de_Certificacion_Firmaprofesional_CIF_A62634068.crt", + "usr/share/ca-certificates/mozilla/BJCA_Global_Root_CA1.crt", + "usr/share/ca-certificates/mozilla/BJCA_Global_Root_CA2.crt", + "usr/share/ca-certificates/mozilla/Buypass_Class_2_Root_CA.crt", + "usr/share/ca-certificates/mozilla/Buypass_Class_3_Root_CA.crt", + "usr/share/ca-certificates/mozilla/CA_Disig_Root_R2.crt", + "usr/share/ca-certificates/mozilla/CFCA_EV_ROOT.crt", + "usr/share/ca-certificates/mozilla/COMODO_ECC_Certification_Authority.crt", + "usr/share/ca-certificates/mozilla/COMODO_RSA_Certification_Authority.crt", + "usr/share/ca-certificates/mozilla/Certainly_Root_E1.crt", + "usr/share/ca-certificates/mozilla/Certainly_Root_R1.crt", + "usr/share/ca-certificates/mozilla/Certigna_Root_CA.crt", + "usr/share/ca-certificates/mozilla/Certum_EC-384_CA.crt", + "usr/share/ca-certificates/mozilla/Certum_Trusted_Network_CA.crt", + "usr/share/ca-certificates/mozilla/Certum_Trusted_Network_CA_2.crt", + "usr/share/ca-certificates/mozilla/Certum_Trusted_Root_CA.crt", + "usr/share/ca-certificates/mozilla/D-TRUST_BR_Root_CA_1_2020.crt", + "usr/share/ca-certificates/mozilla/D-TRUST_BR_Root_CA_2_2023.crt", + "usr/share/ca-certificates/mozilla/D-TRUST_EV_Root_CA_1_2020.crt", + "usr/share/ca-certificates/mozilla/D-TRUST_EV_Root_CA_2_2023.crt", + "usr/share/ca-certificates/mozilla/D-TRUST_Root_Class_3_CA_2_2009.crt", + "usr/share/ca-certificates/mozilla/D-TRUST_Root_Class_3_CA_2_EV_2009.crt", + "usr/share/ca-certificates/mozilla/DigiCert_Assured_ID_Root_G2.crt", + "usr/share/ca-certificates/mozilla/DigiCert_Assured_ID_Root_G3.crt", + "usr/share/ca-certificates/mozilla/DigiCert_Global_Root_G2.crt", + "usr/share/ca-certificates/mozilla/DigiCert_Global_Root_G3.crt", + "usr/share/ca-certificates/mozilla/DigiCert_TLS_ECC_P384_Root_G5.crt", + "usr/share/ca-certificates/mozilla/DigiCert_TLS_RSA4096_Root_G5.crt", + "usr/share/ca-certificates/mozilla/DigiCert_Trusted_Root_G4.crt", + "usr/share/ca-certificates/mozilla/GDCA_TrustAUTH_R5_ROOT.crt", + "usr/share/ca-certificates/mozilla/GTS_Root_R1.crt", + "usr/share/ca-certificates/mozilla/GTS_Root_R3.crt", + "usr/share/ca-certificates/mozilla/GTS_Root_R4.crt", + "usr/share/ca-certificates/mozilla/GlobalSign_ECC_Root_CA_-_R4.crt", + "usr/share/ca-certificates/mozilla/GlobalSign_ECC_Root_CA_-_R5.crt", + "usr/share/ca-certificates/mozilla/GlobalSign_Root_CA_-_R3.crt", + "usr/share/ca-certificates/mozilla/GlobalSign_Root_CA_-_R6.crt", + "usr/share/ca-certificates/mozilla/GlobalSign_Root_E46.crt", + "usr/share/ca-certificates/mozilla/GlobalSign_Root_R46.crt", + "usr/share/ca-certificates/mozilla/Go_Daddy_Root_Certificate_Authority_-_G2.crt", + "usr/share/ca-certificates/mozilla/HARICA_TLS_ECC_Root_CA_2021.crt", + "usr/share/ca-certificates/mozilla/HARICA_TLS_RSA_Root_CA_2021.crt", + "usr/share/ca-certificates/mozilla/Hellenic_Academic_and_Research_Institutions_ECC_RootCA_2015.crt", + "usr/share/ca-certificates/mozilla/Hellenic_Academic_and_Research_Institutions_RootCA_2015.crt", + "usr/share/ca-certificates/mozilla/HiPKI_Root_CA_-_G1.crt", + "usr/share/ca-certificates/mozilla/Hongkong_Post_Root_CA_3.crt", + "usr/share/ca-certificates/mozilla/ISRG_Root_X1.crt", + "usr/share/ca-certificates/mozilla/ISRG_Root_X2.crt", + "usr/share/ca-certificates/mozilla/IdenTrust_Commercial_Root_CA_1.crt", + "usr/share/ca-certificates/mozilla/IdenTrust_Public_Sector_Root_CA_1.crt", + "usr/share/ca-certificates/mozilla/Izenpe.com.crt", + "usr/share/ca-certificates/mozilla/Microsec_e-Szigno_Root_CA_2009.crt", + "usr/share/ca-certificates/mozilla/Microsoft_ECC_Root_Certificate_Authority_2017.crt", + "usr/share/ca-certificates/mozilla/Microsoft_RSA_Root_Certificate_Authority_2017.crt", + "usr/share/ca-certificates/mozilla/NAVER_Global_Root_Certification_Authority.crt", + "usr/share/ca-certificates/mozilla/NetLock_Arany_=Class_Gold=_Főtanúsítvány.crt", + "usr/share/ca-certificates/mozilla/OISTE_Server_Root_ECC_G1.crt", + "usr/share/ca-certificates/mozilla/OISTE_Server_Root_RSA_G1.crt", + "usr/share/ca-certificates/mozilla/OISTE_WISeKey_Global_Root_GB_CA.crt", + "usr/share/ca-certificates/mozilla/OISTE_WISeKey_Global_Root_GC_CA.crt", + "usr/share/ca-certificates/mozilla/QuoVadis_Root_CA_1_G3.crt", + "usr/share/ca-certificates/mozilla/QuoVadis_Root_CA_2_G3.crt", + "usr/share/ca-certificates/mozilla/QuoVadis_Root_CA_3_G3.crt", + "usr/share/ca-certificates/mozilla/SSL.com_EV_Root_Certification_Authority_ECC.crt", + "usr/share/ca-certificates/mozilla/SSL.com_EV_Root_Certification_Authority_RSA_R2.crt", + "usr/share/ca-certificates/mozilla/SSL.com_Root_Certification_Authority_ECC.crt", + "usr/share/ca-certificates/mozilla/SSL.com_Root_Certification_Authority_RSA.crt", + "usr/share/ca-certificates/mozilla/SSL.com_TLS_ECC_Root_CA_2022.crt", + "usr/share/ca-certificates/mozilla/SSL.com_TLS_RSA_Root_CA_2022.crt", + "usr/share/ca-certificates/mozilla/SZAFIR_ROOT_CA2.crt", + "usr/share/ca-certificates/mozilla/Sectigo_Public_Server_Authentication_Root_E46.crt", + "usr/share/ca-certificates/mozilla/Sectigo_Public_Server_Authentication_Root_R46.crt", + "usr/share/ca-certificates/mozilla/SecureSign_Root_CA14.crt", + "usr/share/ca-certificates/mozilla/SecureSign_Root_CA15.crt", + "usr/share/ca-certificates/mozilla/Security_Communication_ECC_RootCA1.crt", + "usr/share/ca-certificates/mozilla/Security_Communication_RootCA2.crt", + "usr/share/ca-certificates/mozilla/Starfield_Root_Certificate_Authority_-_G2.crt", + "usr/share/ca-certificates/mozilla/Starfield_Services_Root_Certificate_Authority_-_G2.crt", + "usr/share/ca-certificates/mozilla/SwissSign_RSA_TLS_Root_CA_2022_-_1.crt", + "usr/share/ca-certificates/mozilla/T-TeleSec_GlobalRoot_Class_2.crt", + "usr/share/ca-certificates/mozilla/T-TeleSec_GlobalRoot_Class_3.crt", + "usr/share/ca-certificates/mozilla/TUBITAK_Kamu_SM_SSL_Kok_Sertifikasi_-_Surum_1.crt", + "usr/share/ca-certificates/mozilla/TWCA_CYBER_Root_CA.crt", + "usr/share/ca-certificates/mozilla/TWCA_Global_Root_CA.crt", + "usr/share/ca-certificates/mozilla/TWCA_Root_Certification_Authority.crt", + "usr/share/ca-certificates/mozilla/Telekom_Security_TLS_ECC_Root_2020.crt", + "usr/share/ca-certificates/mozilla/Telekom_Security_TLS_RSA_Root_2023.crt", + "usr/share/ca-certificates/mozilla/Telia_Root_CA_v2.crt", + "usr/share/ca-certificates/mozilla/TrustAsia_Global_Root_CA_G3.crt", + "usr/share/ca-certificates/mozilla/TrustAsia_Global_Root_CA_G4.crt", + "usr/share/ca-certificates/mozilla/TrustAsia_TLS_ECC_Root_CA.crt", + "usr/share/ca-certificates/mozilla/TrustAsia_TLS_RSA_Root_CA.crt", + "usr/share/ca-certificates/mozilla/TunTrust_Root_CA.crt", + "usr/share/ca-certificates/mozilla/UCA_Extended_Validation_Root.crt", + "usr/share/ca-certificates/mozilla/UCA_Global_G2_Root.crt", + "usr/share/ca-certificates/mozilla/USERTrust_ECC_Certification_Authority.crt", + "usr/share/ca-certificates/mozilla/USERTrust_RSA_Certification_Authority.crt", + "usr/share/ca-certificates/mozilla/certSIGN_Root_CA_G2.crt", + "usr/share/ca-certificates/mozilla/e-Szigno_Root_CA_2017.crt", + "usr/share/ca-certificates/mozilla/e-Szigno_TLS_Root_CA_2023.crt", + "usr/share/ca-certificates/mozilla/ePKI_Root_Certification_Authority.crt", + "usr/share/ca-certificates/mozilla/emSign_ECC_Root_CA_-_C3.crt", + "usr/share/ca-certificates/mozilla/emSign_ECC_Root_CA_-_G3.crt", + "usr/share/ca-certificates/mozilla/emSign_Root_CA_-_C1.crt", + "usr/share/ca-certificates/mozilla/emSign_Root_CA_-_G1.crt", + "usr/share/ca-certificates/mozilla/vTrus_ECC_Root_CA.crt", + "usr/share/ca-certificates/mozilla/vTrus_Root_CA.crt" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "ca-certificates-bundle@20260611-r0", + "Name": "ca-certificates-bundle", + "Identifier": { + "PURL": "pkg:apk/alpine/ca-certificates-bundle@20260611-r0?arch=x86_64\u0026distro=3.24.1", + "UID": "20337c2ea28bef28" + }, + "Version": "20260611-r0", + "Arch": "x86_64", + "SrcName": "ca-certificates", + "SrcVersion": "20260611-r0", + "Licenses": [ + "MPL-2.0", + "MIT" + ], + "Maintainer": "Natanael Copa \u003cncopa@alpinelinux.org\u003e", + "Layer": { + "Digest": "sha256:55afa1ecc21d2bb5e5045f32dafee56272ffd89860bac26f6c32123439af26a4", + "DiffID": "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c" + }, + "Digest": "sha1:c9534a03750bdfae341f10969016090fc11febbd", + "InstalledFiles": [ + "etc/ssl/cert.pem", + "etc/ssl/certs/ca-certificates.crt", + "etc/ssl1.1/cert.pem", + "etc/ssl1.1/certs" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "gdbm@1.26-r0", + "Name": "gdbm", + "Identifier": { + "PURL": "pkg:apk/alpine/gdbm@1.26-r0?arch=x86_64\u0026distro=3.24.1", + "UID": "5eb1a3f86262ca77" + }, + "Version": "1.26-r0", + "Arch": "x86_64", + "SrcName": "gdbm", + "SrcVersion": "1.26-r0", + "Licenses": [ + "GPL-3.0-or-later" + ], + "Maintainer": "Natanael Copa \u003cncopa@alpinelinux.org\u003e", + "DependsOn": [ + "musl@1.2.6-r2" + ], + "Layer": { + "Digest": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235", + "DiffID": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + "Digest": "sha1:619493d8124fe49a8ee1d8f7a1372cf7e3977337", + "InstalledFiles": [ + "usr/lib/libgdbm.so.6", + "usr/lib/libgdbm.so.6.0.0", + "usr/lib/libgdbm_compat.so.4", + "usr/lib/libgdbm_compat.so.4.0.0" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "keyutils-libs@1.6.3-r4", + "Name": "keyutils-libs", + "Identifier": { + "PURL": "pkg:apk/alpine/keyutils-libs@1.6.3-r4?arch=x86_64\u0026distro=3.24.1", + "UID": "a1a29120eb342032" + }, + "Version": "1.6.3-r4", + "Arch": "x86_64", + "SrcName": "keyutils", + "SrcVersion": "1.6.3-r4", + "Licenses": [ + "GPL-2.0-or-later", + "LGPL-2.0-or-later" + ], + "Maintainer": "Natanael Copa \u003cncopa@alpinelinux.org\u003e", + "DependsOn": [ + "musl@1.2.6-r2" + ], + "Layer": { + "Digest": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235", + "DiffID": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + "Digest": "sha1:b7331c96f077fc3522ee4361a441d1097204cd90", + "InstalledFiles": [ + "usr/lib/libkeyutils.so.1", + "usr/lib/libkeyutils.so.1.10" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "krb5-conf@1.0-r2", + "Name": "krb5-conf", + "Identifier": { + "PURL": "pkg:apk/alpine/krb5-conf@1.0-r2?arch=x86_64\u0026distro=3.24.1", + "UID": "e7cf94ba8b6dbc33" + }, + "Version": "1.0-r2", + "Arch": "x86_64", + "SrcName": "krb5-conf", + "SrcVersion": "1.0-r2", + "Licenses": [ + "MIT" + ], + "Maintainer": "Natanael Copa \u003cncopa@alpinelinux.org\u003e", + "Layer": { + "Digest": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235", + "DiffID": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + "Digest": "sha1:40a11e0690a59e110367b62a80661024e9942a2d", + "InstalledFiles": [ + "etc/krb5.conf" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "krb5-libs@1.22.2-r1", + "Name": "krb5-libs", + "Identifier": { + "PURL": "pkg:apk/alpine/krb5-libs@1.22.2-r1?arch=x86_64\u0026distro=3.24.1", + "UID": "958f8b4a4f087dac" + }, + "Version": "1.22.2-r1", + "Arch": "x86_64", + "SrcName": "krb5", + "SrcVersion": "1.22.2-r1", + "Licenses": [ + "MIT" + ], + "Maintainer": "Natanael Copa \u003cncopa@alpinelinux.org\u003e", + "DependsOn": [ + "keyutils-libs@1.6.3-r4", + "krb5-conf@1.0-r2", + "libcom_err@1.47.4-r0", + "libcrypto3@3.5.8-r0", + "libssl3@3.5.8-r0", + "libverto@0.3.2-r2", + "musl@1.2.6-r2" + ], + "Layer": { + "Digest": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235", + "DiffID": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + "Digest": "sha1:ef02346e21b817ff379e4601e5b1fc9760e5e31a", + "InstalledFiles": [ + "usr/lib/libgssapi_krb5.so.2", + "usr/lib/libgssapi_krb5.so.2.2", + "usr/lib/libgssrpc.so.4", + "usr/lib/libgssrpc.so.4.2", + "usr/lib/libk5crypto.so.3", + "usr/lib/libk5crypto.so.3.1", + "usr/lib/libkadm5clnt_mit.so.12", + "usr/lib/libkadm5clnt_mit.so.12.0", + "usr/lib/libkadm5srv_mit.so.12", + "usr/lib/libkadm5srv_mit.so.12.0", + "usr/lib/libkdb5.so.10", + "usr/lib/libkdb5.so.10.0", + "usr/lib/libkrad.so.0", + "usr/lib/libkrad.so.0.0", + "usr/lib/libkrb5.so.3", + "usr/lib/libkrb5.so.3.3", + "usr/lib/libkrb5support.so.0", + "usr/lib/libkrb5support.so.0.1", + "usr/lib/krb5/plugins/kdb/db2.so", + "usr/lib/krb5/plugins/preauth/otp.so", + "usr/lib/krb5/plugins/preauth/spake.so", + "usr/lib/krb5/plugins/preauth/test.so", + "usr/lib/krb5/plugins/tls/k5tls.so" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "libapk@3.0.6-r0", + "Name": "libapk", + "Identifier": { + "PURL": "pkg:apk/alpine/libapk@3.0.6-r0?arch=x86_64\u0026distro=3.24.1", + "UID": "a35b8b9b3219513a" + }, + "Version": "3.0.6-r0", + "Arch": "x86_64", + "SrcName": "apk-tools", + "SrcVersion": "3.0.6-r0", + "Licenses": [ + "GPL-2.0-only" + ], + "Maintainer": "Natanael Copa \u003cncopa@alpinelinux.org\u003e", + "DependsOn": [ + "libcrypto3@3.5.8-r0", + "libssl3@3.5.8-r0", + "musl@1.2.6-r2", + "zlib@1.3.2-r0" + ], + "Layer": { + "Digest": "sha256:55afa1ecc21d2bb5e5045f32dafee56272ffd89860bac26f6c32123439af26a4", + "DiffID": "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c" + }, + "Digest": "sha1:523a8f58104589f74f743d501c81bf6517155378", + "InstalledFiles": [ + "usr/lib/libapk.so.3.0.0" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "libbz2@1.0.8-r6", + "Name": "libbz2", + "Identifier": { + "PURL": "pkg:apk/alpine/libbz2@1.0.8-r6?arch=x86_64\u0026distro=3.24.1", + "UID": "48e17539404e2d56" + }, + "Version": "1.0.8-r6", + "Arch": "x86_64", + "SrcName": "bzip2", + "SrcVersion": "1.0.8-r6", + "Licenses": [ + "bzip-2-1.0.6" + ], + "Maintainer": "Natanael Copa \u003cncopa@alpinelinux.org\u003e", + "DependsOn": [ + "musl@1.2.6-r2" + ], + "Layer": { + "Digest": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235", + "DiffID": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + "Digest": "sha1:08566ba5c7af97c25474be8b24e8b48f0116b67d", + "InstalledFiles": [ + "usr/lib/libbz2.so.1", + "usr/lib/libbz2.so.1.0.8" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "libcom_err@1.47.4-r0", + "Name": "libcom_err", + "Identifier": { + "PURL": "pkg:apk/alpine/libcom_err@1.47.4-r0?arch=x86_64\u0026distro=3.24.1", + "UID": "3fc35a3f66d192af" + }, + "Version": "1.47.4-r0", + "Arch": "x86_64", + "SrcName": "e2fsprogs", + "SrcVersion": "1.47.4-r0", + "Licenses": [ + "GPL-2.0-or-later", + "LGPL-2.0-or-later", + "BSD-3-Clause", + "MIT" + ], + "Maintainer": "Natanael Copa \u003cncopa@alpinelinux.org\u003e", + "DependsOn": [ + "musl@1.2.6-r2" + ], + "Layer": { + "Digest": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235", + "DiffID": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + "Digest": "sha1:4b9fb5899ea0b1c0cfbb2a2c5952704437d4ecef", + "InstalledFiles": [ + "usr/lib/libcom_err.so.2", + "usr/lib/libcom_err.so.2.1" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "libcrypto3@3.5.8-r0", + "Name": "libcrypto3", + "Identifier": { + "PURL": "pkg:apk/alpine/libcrypto3@3.5.8-r0?arch=x86_64\u0026distro=3.24.1", + "UID": "4299bba2ba9c96aa" + }, + "Version": "3.5.8-r0", + "Arch": "x86_64", + "SrcName": "openssl", + "SrcVersion": "3.5.8-r0", + "Licenses": [ + "Apache-2.0" + ], + "Maintainer": "Natanael Copa \u003cncopa@alpinelinux.org\u003e", + "DependsOn": [ + "musl@1.2.6-r2" + ], + "Layer": { + "Digest": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235", + "DiffID": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + "Digest": "sha1:1b3b9fc0c136f4936932bcb2ec21499f0ae5dfd3", + "InstalledFiles": [ + "etc/ssl/ct_log_list.cnf", + "etc/ssl/ct_log_list.cnf.dist", + "etc/ssl/openssl.cnf", + "etc/ssl/openssl.cnf.dist", + "usr/lib/libcrypto.so.3", + "usr/lib/engines-3/afalg.so", + "usr/lib/engines-3/capi.so", + "usr/lib/engines-3/loader_attic.so", + "usr/lib/engines-3/padlock.so", + "usr/lib/ossl-modules/legacy.so" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "libffi@3.5.2-r1", + "Name": "libffi", + "Identifier": { + "PURL": "pkg:apk/alpine/libffi@3.5.2-r1?arch=x86_64\u0026distro=3.24.1", + "UID": "d3eaa921287b1ccd" + }, + "Version": "3.5.2-r1", + "Arch": "x86_64", + "SrcName": "libffi", + "SrcVersion": "3.5.2-r1", + "Licenses": [ + "MIT" + ], + "Maintainer": "Natanael Copa \u003cncopa@alpinelinux.org\u003e", + "DependsOn": [ + "musl@1.2.6-r2" + ], + "Layer": { + "Digest": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235", + "DiffID": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + "Digest": "sha1:2f7b261f7fcecc4eebd8b330e7f6fb80713bfe3a", + "InstalledFiles": [ + "usr/lib/libffi.so.8", + "usr/lib/libffi.so.8.2.0" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "libintl@1.0-r0", + "Name": "libintl", + "Identifier": { + "PURL": "pkg:apk/alpine/libintl@1.0-r0?arch=x86_64\u0026distro=3.24.1", + "UID": "25c18808d8fc87e0" + }, + "Version": "1.0-r0", + "Arch": "x86_64", + "SrcName": "gettext", + "SrcVersion": "1.0-r0", + "Licenses": [ + "LGPL-2.1-or-later" + ], + "Maintainer": "Carlo Landmeter \u003cclandmeter@alpinelinux.org\u003e", + "DependsOn": [ + "musl@1.2.6-r2" + ], + "Layer": { + "Digest": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235", + "DiffID": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + "Digest": "sha1:282d6642ccac87237e43a864159d73cf5abe7550", + "InstalledFiles": [ + "usr/lib/libintl.so.8", + "usr/lib/libintl.so.8.4.6" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "libncursesw@6.6_p20260516-r0", + "Name": "libncursesw", + "Identifier": { + "PURL": "pkg:apk/alpine/libncursesw@6.6_p20260516-r0?arch=x86_64\u0026distro=3.24.1", + "UID": "e8939f45e2191bcc" + }, + "Version": "6.6_p20260516-r0", + "Arch": "x86_64", + "SrcName": "ncurses", + "SrcVersion": "6.6_p20260516-r0", + "Licenses": [ + "X-11" + ], + "Maintainer": "Milan P. Stanić \u003cmps@arvanta.net\u003e", + "DependsOn": [ + "musl@1.2.6-r2", + "ncurses-terminfo-base@6.6_p20260516-r0" + ], + "Layer": { + "Digest": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235", + "DiffID": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + "Digest": "sha1:9f318e6e324d6827274829194cf6ac6afbaded12", + "InstalledFiles": [ + "usr/lib/libncursesw.so.6", + "usr/lib/libncursesw.so.6.6" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "libnsl@2.0.1-r2", + "Name": "libnsl", + "Identifier": { + "PURL": "pkg:apk/alpine/libnsl@2.0.1-r2?arch=x86_64\u0026distro=3.24.1", + "UID": "3d893c60d41da67b" + }, + "Version": "2.0.1-r2", + "Arch": "x86_64", + "SrcName": "libnsl", + "SrcVersion": "2.0.1-r2", + "Licenses": [ + "LGPL-2.0-or-later" + ], + "DependsOn": [ + "libintl@1.0-r0", + "libtirpc@1.3.5-r1", + "musl@1.2.6-r2" + ], + "Layer": { + "Digest": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235", + "DiffID": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + "Digest": "sha1:5194adbf26560b52be318481a7af294ab05fd795", + "InstalledFiles": [ + "usr/lib/libnsl.so.3", + "usr/lib/libnsl.so.3.0.0" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "libpanelw@6.6_p20260516-r0", + "Name": "libpanelw", + "Identifier": { + "PURL": "pkg:apk/alpine/libpanelw@6.6_p20260516-r0?arch=x86_64\u0026distro=3.24.1", + "UID": "ef1ad9bb256b373" + }, + "Version": "6.6_p20260516-r0", + "Arch": "x86_64", + "SrcName": "ncurses", + "SrcVersion": "6.6_p20260516-r0", + "Licenses": [ + "X-11" + ], + "Maintainer": "Milan P. Stanić \u003cmps@arvanta.net\u003e", + "DependsOn": [ + "libncursesw@6.6_p20260516-r0", + "musl@1.2.6-r2", + "ncurses-terminfo-base@6.6_p20260516-r0" + ], + "Layer": { + "Digest": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235", + "DiffID": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + "Digest": "sha1:149bdc434232ed11fc5bb975ba519a07154a6f56", + "InstalledFiles": [ + "usr/lib/libpanelw.so.6", + "usr/lib/libpanelw.so.6.6" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "libssl3@3.5.8-r0", + "Name": "libssl3", + "Identifier": { + "PURL": "pkg:apk/alpine/libssl3@3.5.8-r0?arch=x86_64\u0026distro=3.24.1", + "UID": "f290ab59b88b1c4a" + }, + "Version": "3.5.8-r0", + "Arch": "x86_64", + "SrcName": "openssl", + "SrcVersion": "3.5.8-r0", + "Licenses": [ + "Apache-2.0" + ], + "Maintainer": "Natanael Copa \u003cncopa@alpinelinux.org\u003e", + "DependsOn": [ + "libcrypto3@3.5.8-r0", + "musl@1.2.6-r2" + ], + "Layer": { + "Digest": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235", + "DiffID": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + "Digest": "sha1:5f9b1e55d821953d2e2b1db322dad70a3b5041ea", + "InstalledFiles": [ + "usr/lib/libssl.so.3" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "libtirpc@1.3.5-r1", + "Name": "libtirpc", + "Identifier": { + "PURL": "pkg:apk/alpine/libtirpc@1.3.5-r1?arch=x86_64\u0026distro=3.24.1", + "UID": "471c8d955ca03be5" + }, + "Version": "1.3.5-r1", + "Arch": "x86_64", + "SrcName": "libtirpc", + "SrcVersion": "1.3.5-r1", + "Licenses": [ + "BSD-3-Clause" + ], + "Maintainer": "Natanael Copa \u003cncopa@alpinelinux.org\u003e", + "DependsOn": [ + "krb5-libs@1.22.2-r1", + "libtirpc-conf@1.3.5-r1", + "musl@1.2.6-r2" + ], + "Layer": { + "Digest": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235", + "DiffID": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + "Digest": "sha1:c32865bd86a8b8829d152279cabbc5ac6d430eb2", + "InstalledFiles": [ + "usr/lib/libtirpc.so.3", + "usr/lib/libtirpc.so.3.0.0" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "libtirpc-conf@1.3.5-r1", + "Name": "libtirpc-conf", + "Identifier": { + "PURL": "pkg:apk/alpine/libtirpc-conf@1.3.5-r1?arch=x86_64\u0026distro=3.24.1", + "UID": "3437392c14aad33f" + }, + "Version": "1.3.5-r1", + "Arch": "x86_64", + "SrcName": "libtirpc", + "SrcVersion": "1.3.5-r1", + "Licenses": [ + "BSD-3-Clause" + ], + "Maintainer": "Natanael Copa \u003cncopa@alpinelinux.org\u003e", + "Layer": { + "Digest": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235", + "DiffID": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + "Digest": "sha1:0c17d9988dc986c90e22f79778df047eca9973ff", + "InstalledFiles": [ + "etc/bindresvport.blacklist", + "etc/netconfig" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "libuuid@2.42.3-r1", + "Name": "libuuid", + "Identifier": { + "PURL": "pkg:apk/alpine/libuuid@2.42.3-r1?arch=x86_64\u0026distro=3.24.1", + "UID": "c444e9cdd1bdda40" + }, + "Version": "2.42.3-r1", + "Arch": "x86_64", + "SrcName": "util-linux", + "SrcVersion": "2.42.3-r1", + "Licenses": [ + "BSD-3-Clause" + ], + "Maintainer": "Natanael Copa \u003cncopa@alpinelinux.org\u003e", + "DependsOn": [ + "musl@1.2.6-r2" + ], + "Layer": { + "Digest": "sha256:f0fe3e08ab046c0c5e29d34ee73bc8c7e03398eb891e4498e0a67088a5ea3e86", + "DiffID": "sha256:f9b4a8a412a0c07a489e46fb5db41f9d0dc84d4ec38a4e2c6ab9531f44e0d9f1" + }, + "Digest": "sha1:8f041ef637ad75f381cc0c034f2afbbb0303264e", + "InstalledFiles": [ + "usr/lib/libuuid.so.1", + "usr/lib/libuuid.so.1.3.0" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "libverto@0.3.2-r2", + "Name": "libverto", + "Identifier": { + "PURL": "pkg:apk/alpine/libverto@0.3.2-r2?arch=x86_64\u0026distro=3.24.1", + "UID": "9df4321a283a6cf6" + }, + "Version": "0.3.2-r2", + "Arch": "x86_64", + "SrcName": "libverto", + "SrcVersion": "0.3.2-r2", + "Licenses": [ + "MIT" + ], + "Maintainer": "Francesco Colista \u003cfcolista@alpinelinux.org\u003e", + "DependsOn": [ + "musl@1.2.6-r2" + ], + "Layer": { + "Digest": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235", + "DiffID": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + "Digest": "sha1:73233059338142e4ac6d8fb8bb0074e93da75dc1", + "InstalledFiles": [ + "usr/lib/libverto.so.1", + "usr/lib/libverto.so.1.0.0" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "musl@1.2.6-r2", + "Name": "musl", + "Identifier": { + "PURL": "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64\u0026distro=3.24.1", + "UID": "1f8cb44befe503d4" + }, + "Version": "1.2.6-r2", + "Arch": "x86_64", + "SrcName": "musl", + "SrcVersion": "1.2.6-r2", + "Licenses": [ + "MIT" + ], + "Maintainer": "Natanael Copa \u003cncopa@alpinelinux.org\u003e", + "Layer": { + "Digest": "sha256:55afa1ecc21d2bb5e5045f32dafee56272ffd89860bac26f6c32123439af26a4", + "DiffID": "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c" + }, + "Digest": "sha1:0f7e5827e4e1a73631beda27b78431a8ba240e05", + "InstalledFiles": [ + "lib/ld-musl-x86_64.so.1", + "lib/libc.musl-x86_64.so.1" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "musl-utils@1.2.6-r2", + "Name": "musl-utils", + "Identifier": { + "PURL": "pkg:apk/alpine/musl-utils@1.2.6-r2?arch=x86_64\u0026distro=3.24.1", + "UID": "4497482ec1d943e1" + }, + "Version": "1.2.6-r2", + "Arch": "x86_64", + "SrcName": "musl", + "SrcVersion": "1.2.6-r2", + "Licenses": [ + "MIT", + "BSD-2-Clause", + "GPL-2.0-or-later" + ], + "Maintainer": "Natanael Copa \u003cncopa@alpinelinux.org\u003e", + "DependsOn": [ + "musl@1.2.6-r2", + "scanelf@1.3.9-r1" + ], + "Layer": { + "Digest": "sha256:55afa1ecc21d2bb5e5045f32dafee56272ffd89860bac26f6c32123439af26a4", + "DiffID": "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c" + }, + "Digest": "sha1:75ada3c48d63ec5d87c42fdf934a3fdd11298dc5", + "InstalledFiles": [ + "sbin/ldconfig", + "usr/bin/getconf", + "usr/bin/getent", + "usr/bin/iconv", + "usr/bin/ldd" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "ncurses-terminfo-base@6.6_p20260516-r0", + "Name": "ncurses-terminfo-base", + "Identifier": { + "PURL": "pkg:apk/alpine/ncurses-terminfo-base@6.6_p20260516-r0?arch=x86_64\u0026distro=3.24.1", + "UID": "e7fac5c6a6e9ae8" + }, + "Version": "6.6_p20260516-r0", + "Arch": "x86_64", + "SrcName": "ncurses", + "SrcVersion": "6.6_p20260516-r0", + "Licenses": [ + "X-11" + ], + "Maintainer": "Milan P. Stanić \u003cmps@arvanta.net\u003e", + "Layer": { + "Digest": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235", + "DiffID": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + "Digest": "sha1:9d551d828e9c8ee52c5801c1d6046828ebf15752", + "InstalledFiles": [ + "etc/terminfo/a/alacritty", + "etc/terminfo/a/ansi", + "etc/terminfo/d/dumb", + "etc/terminfo/g/gnome", + "etc/terminfo/g/gnome-256color", + "etc/terminfo/k/konsole", + "etc/terminfo/k/konsole-256color", + "etc/terminfo/k/konsole-linux", + "etc/terminfo/l/linux", + "etc/terminfo/p/putty", + "etc/terminfo/p/putty-256color", + "etc/terminfo/r/rxvt", + "etc/terminfo/r/rxvt-256color", + "etc/terminfo/s/screen", + "etc/terminfo/s/screen-256color", + "etc/terminfo/s/st-0.6", + "etc/terminfo/s/st-0.7", + "etc/terminfo/s/st-0.8", + "etc/terminfo/s/st-0.8.5", + "etc/terminfo/s/st-16color", + "etc/terminfo/s/st-256color", + "etc/terminfo/s/st-direct", + "etc/terminfo/s/sun", + "etc/terminfo/t/terminator", + "etc/terminfo/t/terminology", + "etc/terminfo/t/terminology-0.6.1", + "etc/terminfo/t/terminology-1.0.0", + "etc/terminfo/t/terminology-1.8.1", + "etc/terminfo/t/tmux", + "etc/terminfo/t/tmux-256color", + "etc/terminfo/v/vt100", + "etc/terminfo/v/vt102", + "etc/terminfo/v/vt200", + "etc/terminfo/v/vt220", + "etc/terminfo/v/vt52", + "etc/terminfo/v/vte", + "etc/terminfo/v/vte-256color", + "etc/terminfo/x/xterm", + "etc/terminfo/x/xterm-256color", + "etc/terminfo/x/xterm-color", + "etc/terminfo/x/xterm-xfree86" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "readline@8.3.3-r1", + "Name": "readline", + "Identifier": { + "PURL": "pkg:apk/alpine/readline@8.3.3-r1?arch=x86_64\u0026distro=3.24.1", + "UID": "f50058781c93e1f2" + }, + "Version": "8.3.3-r1", + "Arch": "x86_64", + "SrcName": "readline", + "SrcVersion": "8.3.3-r1", + "Licenses": [ + "GPL-3.0-or-later" + ], + "Maintainer": "qaqland \u003cqaq@qaq.land\u003e", + "DependsOn": [ + "libncursesw@6.6_p20260516-r0", + "musl@1.2.6-r2" + ], + "Layer": { + "Digest": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235", + "DiffID": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + "Digest": "sha1:945b16e378bc00e44d89d4de8124bba7647fdf4d", + "InstalledFiles": [ + "etc/inputrc", + "usr/lib/libreadline.so.8", + "usr/lib/libreadline.so.8.3" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "scanelf@1.3.9-r1", + "Name": "scanelf", + "Identifier": { + "PURL": "pkg:apk/alpine/scanelf@1.3.9-r1?arch=x86_64\u0026distro=3.24.1", + "UID": "936394657a1626fb" + }, + "Version": "1.3.9-r1", + "Arch": "x86_64", + "SrcName": "pax-utils", + "SrcVersion": "1.3.9-r1", + "Licenses": [ + "GPL-2.0-only" + ], + "Maintainer": "Natanael Copa \u003cncopa@alpinelinux.org\u003e", + "DependsOn": [ + "musl@1.2.6-r2" + ], + "Layer": { + "Digest": "sha256:55afa1ecc21d2bb5e5045f32dafee56272ffd89860bac26f6c32123439af26a4", + "DiffID": "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c" + }, + "Digest": "sha1:013f903d0ba219673aebbdd04f74bb5ed82b01f0", + "InstalledFiles": [ + "usr/bin/scanelf" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "sqlite-libs@3.53.4-r0", + "Name": "sqlite-libs", + "Identifier": { + "PURL": "pkg:apk/alpine/sqlite-libs@3.53.4-r0?arch=x86_64\u0026distro=3.24.1", + "UID": "8b10aee2ccc192de" + }, + "Version": "3.53.4-r0", + "Arch": "x86_64", + "SrcName": "sqlite", + "SrcVersion": "3.53.4-r0", + "Licenses": [ + "blessing" + ], + "Maintainer": "Jingyun Hua \u003chuajingyun@loongson.cn\u003e", + "DependsOn": [ + "musl@1.2.6-r2" + ], + "Layer": { + "Digest": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235", + "DiffID": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + "Digest": "sha1:f7630ceb37c232b6609861aeab6cdb9cd120e6fa", + "InstalledFiles": [ + "usr/lib/libsqlite3.so.0", + "usr/lib/libsqlite3.so.3.53.4" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "ssl_client@1.37.0-r31", + "Name": "ssl_client", + "Identifier": { + "PURL": "pkg:apk/alpine/ssl_client@1.37.0-r31?arch=x86_64\u0026distro=3.24.1", + "UID": "d42e31f15a4ce47a" + }, + "Version": "1.37.0-r31", + "Arch": "x86_64", + "SrcName": "busybox", + "SrcVersion": "1.37.0-r31", + "Licenses": [ + "GPL-2.0-only" + ], + "Maintainer": "Sören Tempel \u003csoeren+alpine@soeren-tempel.net\u003e", + "DependsOn": [ + "libcrypto3@3.5.8-r0", + "libssl3@3.5.8-r0", + "musl@1.2.6-r2" + ], + "Layer": { + "Digest": "sha256:55afa1ecc21d2bb5e5045f32dafee56272ffd89860bac26f6c32123439af26a4", + "DiffID": "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c" + }, + "Digest": "sha1:c220f4a5125a313af733e98def94132bb1e9d40d", + "InstalledFiles": [ + "usr/bin/ssl_client" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "tzdata@2026c-r0", + "Name": "tzdata", + "Identifier": { + "PURL": "pkg:apk/alpine/tzdata@2026c-r0?arch=x86_64\u0026distro=3.24.1", + "UID": "52c6b50eff629f9d" + }, + "Version": "2026c-r0", + "Arch": "x86_64", + "SrcName": "tzdata", + "SrcVersion": "2026c-r0", + "Licenses": [ + "Public-Domain" + ], + "Maintainer": "Natanael Copa \u003cncopa@alpinelinux.org\u003e", + "Layer": { + "Digest": "sha256:47393b668ce535d06e8967917d424c177e2ecccae83856d48b2e99164f8cc6cb", + "DiffID": "sha256:3ca4be2c6e9ac0223715355253725381000486c2b45bfcb22cf571b6a85a12dd" + }, + "Digest": "sha1:61f7544ecd8dd63eac23fe3e645702fda92ef02a", + "InstalledFiles": [ + "usr/share/zoneinfo/CET", + "usr/share/zoneinfo/CST6CDT", + "usr/share/zoneinfo/Cuba", + "usr/share/zoneinfo/EET", + "usr/share/zoneinfo/EST", + "usr/share/zoneinfo/EST5EDT", + "usr/share/zoneinfo/Egypt", + "usr/share/zoneinfo/Eire", + "usr/share/zoneinfo/Factory", + "usr/share/zoneinfo/GB", + "usr/share/zoneinfo/GB-Eire", + "usr/share/zoneinfo/GMT", + "usr/share/zoneinfo/GMT+0", + "usr/share/zoneinfo/GMT-0", + "usr/share/zoneinfo/GMT0", + "usr/share/zoneinfo/Greenwich", + "usr/share/zoneinfo/HST", + "usr/share/zoneinfo/Hongkong", + "usr/share/zoneinfo/Iceland", + "usr/share/zoneinfo/Iran", + "usr/share/zoneinfo/Israel", + "usr/share/zoneinfo/Jamaica", + "usr/share/zoneinfo/Japan", + "usr/share/zoneinfo/Kwajalein", + "usr/share/zoneinfo/Libya", + "usr/share/zoneinfo/MET", + "usr/share/zoneinfo/MST", + "usr/share/zoneinfo/MST7MDT", + "usr/share/zoneinfo/NZ", + "usr/share/zoneinfo/NZ-CHAT", + "usr/share/zoneinfo/Navajo", + "usr/share/zoneinfo/PRC", + "usr/share/zoneinfo/PST8PDT", + "usr/share/zoneinfo/Poland", + "usr/share/zoneinfo/Portugal", + "usr/share/zoneinfo/ROC", + "usr/share/zoneinfo/ROK", + "usr/share/zoneinfo/Singapore", + "usr/share/zoneinfo/Turkey", + "usr/share/zoneinfo/UCT", + "usr/share/zoneinfo/UTC", + "usr/share/zoneinfo/Universal", + "usr/share/zoneinfo/W-SU", + "usr/share/zoneinfo/WET", + "usr/share/zoneinfo/Zulu", + "usr/share/zoneinfo/iso3166.tab", + "usr/share/zoneinfo/leap-seconds.list", + "usr/share/zoneinfo/posixrules", + "usr/share/zoneinfo/zone.tab", + "usr/share/zoneinfo/zone1970.tab", + "usr/share/zoneinfo/Africa/Abidjan", + "usr/share/zoneinfo/Africa/Accra", + "usr/share/zoneinfo/Africa/Addis_Ababa", + "usr/share/zoneinfo/Africa/Algiers", + "usr/share/zoneinfo/Africa/Asmara", + "usr/share/zoneinfo/Africa/Asmera", + "usr/share/zoneinfo/Africa/Bamako", + "usr/share/zoneinfo/Africa/Bangui", + "usr/share/zoneinfo/Africa/Banjul", + "usr/share/zoneinfo/Africa/Bissau", + "usr/share/zoneinfo/Africa/Blantyre", + "usr/share/zoneinfo/Africa/Brazzaville", + "usr/share/zoneinfo/Africa/Bujumbura", + "usr/share/zoneinfo/Africa/Cairo", + "usr/share/zoneinfo/Africa/Casablanca", + "usr/share/zoneinfo/Africa/Ceuta", + "usr/share/zoneinfo/Africa/Conakry", + "usr/share/zoneinfo/Africa/Dakar", + "usr/share/zoneinfo/Africa/Dar_es_Salaam", + "usr/share/zoneinfo/Africa/Djibouti", + "usr/share/zoneinfo/Africa/Douala", + "usr/share/zoneinfo/Africa/El_Aaiun", + "usr/share/zoneinfo/Africa/Freetown", + "usr/share/zoneinfo/Africa/Gaborone", + "usr/share/zoneinfo/Africa/Harare", + "usr/share/zoneinfo/Africa/Johannesburg", + "usr/share/zoneinfo/Africa/Juba", + "usr/share/zoneinfo/Africa/Kampala", + "usr/share/zoneinfo/Africa/Khartoum", + "usr/share/zoneinfo/Africa/Kigali", + "usr/share/zoneinfo/Africa/Kinshasa", + "usr/share/zoneinfo/Africa/Lagos", + "usr/share/zoneinfo/Africa/Libreville", + "usr/share/zoneinfo/Africa/Lome", + "usr/share/zoneinfo/Africa/Luanda", + "usr/share/zoneinfo/Africa/Lubumbashi", + "usr/share/zoneinfo/Africa/Lusaka", + "usr/share/zoneinfo/Africa/Malabo", + "usr/share/zoneinfo/Africa/Maputo", + "usr/share/zoneinfo/Africa/Maseru", + "usr/share/zoneinfo/Africa/Mbabane", + "usr/share/zoneinfo/Africa/Mogadishu", + "usr/share/zoneinfo/Africa/Monrovia", + "usr/share/zoneinfo/Africa/Nairobi", + "usr/share/zoneinfo/Africa/Ndjamena", + "usr/share/zoneinfo/Africa/Niamey", + "usr/share/zoneinfo/Africa/Nouakchott", + "usr/share/zoneinfo/Africa/Ouagadougou", + "usr/share/zoneinfo/Africa/Porto-Novo", + "usr/share/zoneinfo/Africa/Sao_Tome", + "usr/share/zoneinfo/Africa/Timbuktu", + "usr/share/zoneinfo/Africa/Tripoli", + "usr/share/zoneinfo/Africa/Tunis", + "usr/share/zoneinfo/Africa/Windhoek", + "usr/share/zoneinfo/America/Adak", + "usr/share/zoneinfo/America/Anchorage", + "usr/share/zoneinfo/America/Anguilla", + "usr/share/zoneinfo/America/Antigua", + "usr/share/zoneinfo/America/Araguaina", + "usr/share/zoneinfo/America/Aruba", + "usr/share/zoneinfo/America/Asuncion", + "usr/share/zoneinfo/America/Atikokan", + "usr/share/zoneinfo/America/Atka", + "usr/share/zoneinfo/America/Bahia", + "usr/share/zoneinfo/America/Bahia_Banderas", + "usr/share/zoneinfo/America/Barbados", + "usr/share/zoneinfo/America/Belem", + "usr/share/zoneinfo/America/Belize", + "usr/share/zoneinfo/America/Blanc-Sablon", + "usr/share/zoneinfo/America/Boa_Vista", + "usr/share/zoneinfo/America/Bogota", + "usr/share/zoneinfo/America/Boise", + "usr/share/zoneinfo/America/Buenos_Aires", + "usr/share/zoneinfo/America/Cambridge_Bay", + "usr/share/zoneinfo/America/Campo_Grande", + "usr/share/zoneinfo/America/Cancun", + "usr/share/zoneinfo/America/Caracas", + "usr/share/zoneinfo/America/Catamarca", + "usr/share/zoneinfo/America/Cayenne", + "usr/share/zoneinfo/America/Cayman", + "usr/share/zoneinfo/America/Chicago", + "usr/share/zoneinfo/America/Chihuahua", + "usr/share/zoneinfo/America/Ciudad_Juarez", + "usr/share/zoneinfo/America/Coral_Harbour", + "usr/share/zoneinfo/America/Cordoba", + "usr/share/zoneinfo/America/Costa_Rica", + "usr/share/zoneinfo/America/Coyhaique", + "usr/share/zoneinfo/America/Creston", + "usr/share/zoneinfo/America/Cuiaba", + "usr/share/zoneinfo/America/Curacao", + "usr/share/zoneinfo/America/Danmarkshavn", + "usr/share/zoneinfo/America/Dawson", + "usr/share/zoneinfo/America/Dawson_Creek", + "usr/share/zoneinfo/America/Denver", + "usr/share/zoneinfo/America/Detroit", + "usr/share/zoneinfo/America/Dominica", + "usr/share/zoneinfo/America/Edmonton", + "usr/share/zoneinfo/America/Eirunepe", + "usr/share/zoneinfo/America/El_Salvador", + "usr/share/zoneinfo/America/Ensenada", + "usr/share/zoneinfo/America/Fort_Nelson", + "usr/share/zoneinfo/America/Fort_Wayne", + "usr/share/zoneinfo/America/Fortaleza", + "usr/share/zoneinfo/America/Glace_Bay", + "usr/share/zoneinfo/America/Godthab", + "usr/share/zoneinfo/America/Goose_Bay", + "usr/share/zoneinfo/America/Grand_Turk", + "usr/share/zoneinfo/America/Grenada", + "usr/share/zoneinfo/America/Guadeloupe", + "usr/share/zoneinfo/America/Guatemala", + "usr/share/zoneinfo/America/Guayaquil", + "usr/share/zoneinfo/America/Guyana", + "usr/share/zoneinfo/America/Halifax", + "usr/share/zoneinfo/America/Havana", + "usr/share/zoneinfo/America/Hermosillo", + "usr/share/zoneinfo/America/Indianapolis", + "usr/share/zoneinfo/America/Inuvik", + "usr/share/zoneinfo/America/Iqaluit", + "usr/share/zoneinfo/America/Jamaica", + "usr/share/zoneinfo/America/Jujuy", + "usr/share/zoneinfo/America/Juneau", + "usr/share/zoneinfo/America/Knox_IN", + "usr/share/zoneinfo/America/Kralendijk", + "usr/share/zoneinfo/America/La_Paz", + "usr/share/zoneinfo/America/Lima", + "usr/share/zoneinfo/America/Los_Angeles", + "usr/share/zoneinfo/America/Louisville", + "usr/share/zoneinfo/America/Lower_Princes", + "usr/share/zoneinfo/America/Maceio", + "usr/share/zoneinfo/America/Managua", + "usr/share/zoneinfo/America/Manaus", + "usr/share/zoneinfo/America/Marigot", + "usr/share/zoneinfo/America/Martinique", + "usr/share/zoneinfo/America/Matamoros", + "usr/share/zoneinfo/America/Mazatlan", + "usr/share/zoneinfo/America/Mendoza", + "usr/share/zoneinfo/America/Menominee", + "usr/share/zoneinfo/America/Merida", + "usr/share/zoneinfo/America/Metlakatla", + "usr/share/zoneinfo/America/Mexico_City", + "usr/share/zoneinfo/America/Miquelon", + "usr/share/zoneinfo/America/Moncton", + "usr/share/zoneinfo/America/Monterrey", + "usr/share/zoneinfo/America/Montevideo", + "usr/share/zoneinfo/America/Montreal", + "usr/share/zoneinfo/America/Montserrat", + "usr/share/zoneinfo/America/Nassau", + "usr/share/zoneinfo/America/New_York", + "usr/share/zoneinfo/America/Nipigon", + "usr/share/zoneinfo/America/Nome", + "usr/share/zoneinfo/America/Noronha", + "usr/share/zoneinfo/America/Nuuk", + "usr/share/zoneinfo/America/Ojinaga", + "usr/share/zoneinfo/America/Panama", + "usr/share/zoneinfo/America/Pangnirtung", + "usr/share/zoneinfo/America/Paramaribo", + "usr/share/zoneinfo/America/Phoenix", + "usr/share/zoneinfo/America/Port-au-Prince", + "usr/share/zoneinfo/America/Port_of_Spain", + "usr/share/zoneinfo/America/Porto_Acre", + "usr/share/zoneinfo/America/Porto_Velho", + "usr/share/zoneinfo/America/Puerto_Rico", + "usr/share/zoneinfo/America/Punta_Arenas", + "usr/share/zoneinfo/America/Rainy_River", + "usr/share/zoneinfo/America/Rankin_Inlet", + "usr/share/zoneinfo/America/Recife", + "usr/share/zoneinfo/America/Regina", + "usr/share/zoneinfo/America/Resolute", + "usr/share/zoneinfo/America/Rio_Branco", + "usr/share/zoneinfo/America/Rosario", + "usr/share/zoneinfo/America/Santa_Isabel", + "usr/share/zoneinfo/America/Santarem", + "usr/share/zoneinfo/America/Santiago", + "usr/share/zoneinfo/America/Santo_Domingo", + "usr/share/zoneinfo/America/Sao_Paulo", + "usr/share/zoneinfo/America/Scoresbysund", + "usr/share/zoneinfo/America/Shiprock", + "usr/share/zoneinfo/America/Sitka", + "usr/share/zoneinfo/America/St_Barthelemy", + "usr/share/zoneinfo/America/St_Johns", + "usr/share/zoneinfo/America/St_Kitts", + "usr/share/zoneinfo/America/St_Lucia", + "usr/share/zoneinfo/America/St_Thomas", + "usr/share/zoneinfo/America/St_Vincent", + "usr/share/zoneinfo/America/Swift_Current", + "usr/share/zoneinfo/America/Tegucigalpa", + "usr/share/zoneinfo/America/Thule", + "usr/share/zoneinfo/America/Thunder_Bay", + "usr/share/zoneinfo/America/Tijuana", + "usr/share/zoneinfo/America/Toronto", + "usr/share/zoneinfo/America/Tortola", + "usr/share/zoneinfo/America/Vancouver", + "usr/share/zoneinfo/America/Virgin", + "usr/share/zoneinfo/America/Whitehorse", + "usr/share/zoneinfo/America/Winnipeg", + "usr/share/zoneinfo/America/Yakutat", + "usr/share/zoneinfo/America/Yellowknife", + "usr/share/zoneinfo/America/Argentina/Buenos_Aires", + "usr/share/zoneinfo/America/Argentina/Catamarca", + "usr/share/zoneinfo/America/Argentina/ComodRivadavia", + "usr/share/zoneinfo/America/Argentina/Cordoba", + "usr/share/zoneinfo/America/Argentina/Jujuy", + "usr/share/zoneinfo/America/Argentina/La_Rioja", + "usr/share/zoneinfo/America/Argentina/Mendoza", + "usr/share/zoneinfo/America/Argentina/Rio_Gallegos", + "usr/share/zoneinfo/America/Argentina/Salta", + "usr/share/zoneinfo/America/Argentina/San_Juan", + "usr/share/zoneinfo/America/Argentina/San_Luis", + "usr/share/zoneinfo/America/Argentina/Tucuman", + "usr/share/zoneinfo/America/Argentina/Ushuaia", + "usr/share/zoneinfo/America/Indiana/Indianapolis", + "usr/share/zoneinfo/America/Indiana/Knox", + "usr/share/zoneinfo/America/Indiana/Marengo", + "usr/share/zoneinfo/America/Indiana/Petersburg", + "usr/share/zoneinfo/America/Indiana/Tell_City", + "usr/share/zoneinfo/America/Indiana/Vevay", + "usr/share/zoneinfo/America/Indiana/Vincennes", + "usr/share/zoneinfo/America/Indiana/Winamac", + "usr/share/zoneinfo/America/Kentucky/Louisville", + "usr/share/zoneinfo/America/Kentucky/Monticello", + "usr/share/zoneinfo/America/North_Dakota/Beulah", + "usr/share/zoneinfo/America/North_Dakota/Center", + "usr/share/zoneinfo/America/North_Dakota/New_Salem", + "usr/share/zoneinfo/Antarctica/Casey", + "usr/share/zoneinfo/Antarctica/Davis", + "usr/share/zoneinfo/Antarctica/DumontDUrville", + "usr/share/zoneinfo/Antarctica/Macquarie", + "usr/share/zoneinfo/Antarctica/Mawson", + "usr/share/zoneinfo/Antarctica/McMurdo", + "usr/share/zoneinfo/Antarctica/Palmer", + "usr/share/zoneinfo/Antarctica/Rothera", + "usr/share/zoneinfo/Antarctica/South_Pole", + "usr/share/zoneinfo/Antarctica/Syowa", + "usr/share/zoneinfo/Antarctica/Troll", + "usr/share/zoneinfo/Antarctica/Vostok", + "usr/share/zoneinfo/Arctic/Longyearbyen", + "usr/share/zoneinfo/Asia/Aden", + "usr/share/zoneinfo/Asia/Almaty", + "usr/share/zoneinfo/Asia/Amman", + "usr/share/zoneinfo/Asia/Anadyr", + "usr/share/zoneinfo/Asia/Aqtau", + "usr/share/zoneinfo/Asia/Aqtobe", + "usr/share/zoneinfo/Asia/Ashgabat", + "usr/share/zoneinfo/Asia/Ashkhabad", + "usr/share/zoneinfo/Asia/Atyrau", + "usr/share/zoneinfo/Asia/Baghdad", + "usr/share/zoneinfo/Asia/Bahrain", + "usr/share/zoneinfo/Asia/Baku", + "usr/share/zoneinfo/Asia/Bangkok", + "usr/share/zoneinfo/Asia/Barnaul", + "usr/share/zoneinfo/Asia/Beirut", + "usr/share/zoneinfo/Asia/Bishkek", + "usr/share/zoneinfo/Asia/Brunei", + "usr/share/zoneinfo/Asia/Calcutta", + "usr/share/zoneinfo/Asia/Chita", + "usr/share/zoneinfo/Asia/Choibalsan", + "usr/share/zoneinfo/Asia/Chongqing", + "usr/share/zoneinfo/Asia/Chungking", + "usr/share/zoneinfo/Asia/Colombo", + "usr/share/zoneinfo/Asia/Dacca", + "usr/share/zoneinfo/Asia/Damascus", + "usr/share/zoneinfo/Asia/Dhaka", + "usr/share/zoneinfo/Asia/Dili", + "usr/share/zoneinfo/Asia/Dubai", + "usr/share/zoneinfo/Asia/Dushanbe", + "usr/share/zoneinfo/Asia/Famagusta", + "usr/share/zoneinfo/Asia/Gaza", + "usr/share/zoneinfo/Asia/Harbin", + "usr/share/zoneinfo/Asia/Hebron", + "usr/share/zoneinfo/Asia/Ho_Chi_Minh", + "usr/share/zoneinfo/Asia/Hong_Kong", + "usr/share/zoneinfo/Asia/Hovd", + "usr/share/zoneinfo/Asia/Irkutsk", + "usr/share/zoneinfo/Asia/Istanbul", + "usr/share/zoneinfo/Asia/Jakarta", + "usr/share/zoneinfo/Asia/Jayapura", + "usr/share/zoneinfo/Asia/Jerusalem", + "usr/share/zoneinfo/Asia/Kabul", + "usr/share/zoneinfo/Asia/Kamchatka", + "usr/share/zoneinfo/Asia/Karachi", + "usr/share/zoneinfo/Asia/Kashgar", + "usr/share/zoneinfo/Asia/Kathmandu", + "usr/share/zoneinfo/Asia/Katmandu", + "usr/share/zoneinfo/Asia/Khandyga", + "usr/share/zoneinfo/Asia/Kolkata", + "usr/share/zoneinfo/Asia/Krasnoyarsk", + "usr/share/zoneinfo/Asia/Kuala_Lumpur", + "usr/share/zoneinfo/Asia/Kuching", + "usr/share/zoneinfo/Asia/Kuwait", + "usr/share/zoneinfo/Asia/Macao", + "usr/share/zoneinfo/Asia/Macau", + "usr/share/zoneinfo/Asia/Magadan", + "usr/share/zoneinfo/Asia/Makassar", + "usr/share/zoneinfo/Asia/Manila", + "usr/share/zoneinfo/Asia/Muscat", + "usr/share/zoneinfo/Asia/Nicosia", + "usr/share/zoneinfo/Asia/Novokuznetsk", + "usr/share/zoneinfo/Asia/Novosibirsk", + "usr/share/zoneinfo/Asia/Omsk", + "usr/share/zoneinfo/Asia/Oral", + "usr/share/zoneinfo/Asia/Phnom_Penh", + "usr/share/zoneinfo/Asia/Pontianak", + "usr/share/zoneinfo/Asia/Pyongyang", + "usr/share/zoneinfo/Asia/Qatar", + "usr/share/zoneinfo/Asia/Qostanay", + "usr/share/zoneinfo/Asia/Qyzylorda", + "usr/share/zoneinfo/Asia/Rangoon", + "usr/share/zoneinfo/Asia/Riyadh", + "usr/share/zoneinfo/Asia/Saigon", + "usr/share/zoneinfo/Asia/Sakhalin", + "usr/share/zoneinfo/Asia/Samarkand", + "usr/share/zoneinfo/Asia/Seoul", + "usr/share/zoneinfo/Asia/Shanghai", + "usr/share/zoneinfo/Asia/Singapore", + "usr/share/zoneinfo/Asia/Srednekolymsk", + "usr/share/zoneinfo/Asia/Taipei", + "usr/share/zoneinfo/Asia/Tashkent", + "usr/share/zoneinfo/Asia/Tbilisi", + "usr/share/zoneinfo/Asia/Tehran", + "usr/share/zoneinfo/Asia/Tel_Aviv", + "usr/share/zoneinfo/Asia/Thimbu", + "usr/share/zoneinfo/Asia/Thimphu", + "usr/share/zoneinfo/Asia/Tokyo", + "usr/share/zoneinfo/Asia/Tomsk", + "usr/share/zoneinfo/Asia/Ujung_Pandang", + "usr/share/zoneinfo/Asia/Ulaanbaatar", + "usr/share/zoneinfo/Asia/Ulan_Bator", + "usr/share/zoneinfo/Asia/Urumqi", + "usr/share/zoneinfo/Asia/Ust-Nera", + "usr/share/zoneinfo/Asia/Vientiane", + "usr/share/zoneinfo/Asia/Vladivostok", + "usr/share/zoneinfo/Asia/Yakutsk", + "usr/share/zoneinfo/Asia/Yangon", + "usr/share/zoneinfo/Asia/Yekaterinburg", + "usr/share/zoneinfo/Asia/Yerevan", + "usr/share/zoneinfo/Atlantic/Azores", + "usr/share/zoneinfo/Atlantic/Bermuda", + "usr/share/zoneinfo/Atlantic/Canary", + "usr/share/zoneinfo/Atlantic/Cape_Verde", + "usr/share/zoneinfo/Atlantic/Faeroe", + "usr/share/zoneinfo/Atlantic/Faroe", + "usr/share/zoneinfo/Atlantic/Jan_Mayen", + "usr/share/zoneinfo/Atlantic/Madeira", + "usr/share/zoneinfo/Atlantic/Reykjavik", + "usr/share/zoneinfo/Atlantic/South_Georgia", + "usr/share/zoneinfo/Atlantic/St_Helena", + "usr/share/zoneinfo/Atlantic/Stanley", + "usr/share/zoneinfo/Australia/ACT", + "usr/share/zoneinfo/Australia/Adelaide", + "usr/share/zoneinfo/Australia/Brisbane", + "usr/share/zoneinfo/Australia/Broken_Hill", + "usr/share/zoneinfo/Australia/Canberra", + "usr/share/zoneinfo/Australia/Currie", + "usr/share/zoneinfo/Australia/Darwin", + "usr/share/zoneinfo/Australia/Eucla", + "usr/share/zoneinfo/Australia/Hobart", + "usr/share/zoneinfo/Australia/LHI", + "usr/share/zoneinfo/Australia/Lindeman", + "usr/share/zoneinfo/Australia/Lord_Howe", + "usr/share/zoneinfo/Australia/Melbourne", + "usr/share/zoneinfo/Australia/NSW", + "usr/share/zoneinfo/Australia/North", + "usr/share/zoneinfo/Australia/Perth", + "usr/share/zoneinfo/Australia/Queensland", + "usr/share/zoneinfo/Australia/South", + "usr/share/zoneinfo/Australia/Sydney", + "usr/share/zoneinfo/Australia/Tasmania", + "usr/share/zoneinfo/Australia/Victoria", + "usr/share/zoneinfo/Australia/West", + "usr/share/zoneinfo/Australia/Yancowinna", + "usr/share/zoneinfo/Brazil/Acre", + "usr/share/zoneinfo/Brazil/DeNoronha", + "usr/share/zoneinfo/Brazil/East", + "usr/share/zoneinfo/Brazil/West", + "usr/share/zoneinfo/Canada/Atlantic", + "usr/share/zoneinfo/Canada/Central", + "usr/share/zoneinfo/Canada/Eastern", + "usr/share/zoneinfo/Canada/Mountain", + "usr/share/zoneinfo/Canada/Newfoundland", + "usr/share/zoneinfo/Canada/Pacific", + "usr/share/zoneinfo/Canada/Saskatchewan", + "usr/share/zoneinfo/Canada/Yukon", + "usr/share/zoneinfo/Chile/Continental", + "usr/share/zoneinfo/Chile/EasterIsland", + "usr/share/zoneinfo/Etc/GMT", + "usr/share/zoneinfo/Etc/GMT+0", + "usr/share/zoneinfo/Etc/GMT+1", + "usr/share/zoneinfo/Etc/GMT+10", + "usr/share/zoneinfo/Etc/GMT+11", + "usr/share/zoneinfo/Etc/GMT+12", + "usr/share/zoneinfo/Etc/GMT+2", + "usr/share/zoneinfo/Etc/GMT+3", + "usr/share/zoneinfo/Etc/GMT+4", + "usr/share/zoneinfo/Etc/GMT+5", + "usr/share/zoneinfo/Etc/GMT+6", + "usr/share/zoneinfo/Etc/GMT+7", + "usr/share/zoneinfo/Etc/GMT+8", + "usr/share/zoneinfo/Etc/GMT+9", + "usr/share/zoneinfo/Etc/GMT-0", + "usr/share/zoneinfo/Etc/GMT-1", + "usr/share/zoneinfo/Etc/GMT-10", + "usr/share/zoneinfo/Etc/GMT-11", + "usr/share/zoneinfo/Etc/GMT-12", + "usr/share/zoneinfo/Etc/GMT-13", + "usr/share/zoneinfo/Etc/GMT-14", + "usr/share/zoneinfo/Etc/GMT-2", + "usr/share/zoneinfo/Etc/GMT-3", + "usr/share/zoneinfo/Etc/GMT-4", + "usr/share/zoneinfo/Etc/GMT-5", + "usr/share/zoneinfo/Etc/GMT-6", + "usr/share/zoneinfo/Etc/GMT-7", + "usr/share/zoneinfo/Etc/GMT-8", + "usr/share/zoneinfo/Etc/GMT-9", + "usr/share/zoneinfo/Etc/GMT0", + "usr/share/zoneinfo/Etc/Greenwich", + "usr/share/zoneinfo/Etc/UCT", + "usr/share/zoneinfo/Etc/UTC", + "usr/share/zoneinfo/Etc/Universal", + "usr/share/zoneinfo/Etc/Zulu", + "usr/share/zoneinfo/Europe/Amsterdam", + "usr/share/zoneinfo/Europe/Andorra", + "usr/share/zoneinfo/Europe/Astrakhan", + "usr/share/zoneinfo/Europe/Athens", + "usr/share/zoneinfo/Europe/Belfast", + "usr/share/zoneinfo/Europe/Belgrade", + "usr/share/zoneinfo/Europe/Berlin", + "usr/share/zoneinfo/Europe/Bratislava", + "usr/share/zoneinfo/Europe/Brussels", + "usr/share/zoneinfo/Europe/Bucharest", + "usr/share/zoneinfo/Europe/Budapest", + "usr/share/zoneinfo/Europe/Busingen", + "usr/share/zoneinfo/Europe/Chisinau", + "usr/share/zoneinfo/Europe/Copenhagen", + "usr/share/zoneinfo/Europe/Dublin", + "usr/share/zoneinfo/Europe/Gibraltar", + "usr/share/zoneinfo/Europe/Guernsey", + "usr/share/zoneinfo/Europe/Helsinki", + "usr/share/zoneinfo/Europe/Isle_of_Man", + "usr/share/zoneinfo/Europe/Istanbul", + "usr/share/zoneinfo/Europe/Jersey", + "usr/share/zoneinfo/Europe/Kaliningrad", + "usr/share/zoneinfo/Europe/Kiev", + "usr/share/zoneinfo/Europe/Kirov", + "usr/share/zoneinfo/Europe/Kyiv", + "usr/share/zoneinfo/Europe/Lisbon", + "usr/share/zoneinfo/Europe/Ljubljana", + "usr/share/zoneinfo/Europe/London", + "usr/share/zoneinfo/Europe/Luxembourg", + "usr/share/zoneinfo/Europe/Madrid", + "usr/share/zoneinfo/Europe/Malta", + "usr/share/zoneinfo/Europe/Mariehamn", + "usr/share/zoneinfo/Europe/Minsk", + "usr/share/zoneinfo/Europe/Monaco", + "usr/share/zoneinfo/Europe/Moscow", + "usr/share/zoneinfo/Europe/Nicosia", + "usr/share/zoneinfo/Europe/Oslo", + "usr/share/zoneinfo/Europe/Paris", + "usr/share/zoneinfo/Europe/Podgorica", + "usr/share/zoneinfo/Europe/Prague", + "usr/share/zoneinfo/Europe/Riga", + "usr/share/zoneinfo/Europe/Rome", + "usr/share/zoneinfo/Europe/Samara", + "usr/share/zoneinfo/Europe/San_Marino", + "usr/share/zoneinfo/Europe/Sarajevo", + "usr/share/zoneinfo/Europe/Saratov", + "usr/share/zoneinfo/Europe/Simferopol", + "usr/share/zoneinfo/Europe/Skopje", + "usr/share/zoneinfo/Europe/Sofia", + "usr/share/zoneinfo/Europe/Stockholm", + "usr/share/zoneinfo/Europe/Tallinn", + "usr/share/zoneinfo/Europe/Tirane", + "usr/share/zoneinfo/Europe/Tiraspol", + "usr/share/zoneinfo/Europe/Ulyanovsk", + "usr/share/zoneinfo/Europe/Uzhgorod", + "usr/share/zoneinfo/Europe/Vaduz", + "usr/share/zoneinfo/Europe/Vatican", + "usr/share/zoneinfo/Europe/Vienna", + "usr/share/zoneinfo/Europe/Vilnius", + "usr/share/zoneinfo/Europe/Volgograd", + "usr/share/zoneinfo/Europe/Warsaw", + "usr/share/zoneinfo/Europe/Zagreb", + "usr/share/zoneinfo/Europe/Zaporozhye", + "usr/share/zoneinfo/Europe/Zurich", + "usr/share/zoneinfo/Indian/Antananarivo", + "usr/share/zoneinfo/Indian/Chagos", + "usr/share/zoneinfo/Indian/Christmas", + "usr/share/zoneinfo/Indian/Cocos", + "usr/share/zoneinfo/Indian/Comoro", + "usr/share/zoneinfo/Indian/Kerguelen", + "usr/share/zoneinfo/Indian/Mahe", + "usr/share/zoneinfo/Indian/Maldives", + "usr/share/zoneinfo/Indian/Mauritius", + "usr/share/zoneinfo/Indian/Mayotte", + "usr/share/zoneinfo/Indian/Reunion", + "usr/share/zoneinfo/Mexico/BajaNorte", + "usr/share/zoneinfo/Mexico/BajaSur", + "usr/share/zoneinfo/Mexico/General", + "usr/share/zoneinfo/Pacific/Apia", + "usr/share/zoneinfo/Pacific/Auckland", + "usr/share/zoneinfo/Pacific/Bougainville", + "usr/share/zoneinfo/Pacific/Chatham", + "usr/share/zoneinfo/Pacific/Chuuk", + "usr/share/zoneinfo/Pacific/Easter", + "usr/share/zoneinfo/Pacific/Efate", + "usr/share/zoneinfo/Pacific/Enderbury", + "usr/share/zoneinfo/Pacific/Fakaofo", + "usr/share/zoneinfo/Pacific/Fiji", + "usr/share/zoneinfo/Pacific/Funafuti", + "usr/share/zoneinfo/Pacific/Galapagos", + "usr/share/zoneinfo/Pacific/Gambier", + "usr/share/zoneinfo/Pacific/Guadalcanal", + "usr/share/zoneinfo/Pacific/Guam", + "usr/share/zoneinfo/Pacific/Honolulu", + "usr/share/zoneinfo/Pacific/Johnston", + "usr/share/zoneinfo/Pacific/Kanton", + "usr/share/zoneinfo/Pacific/Kiritimati", + "usr/share/zoneinfo/Pacific/Kosrae", + "usr/share/zoneinfo/Pacific/Kwajalein", + "usr/share/zoneinfo/Pacific/Majuro", + "usr/share/zoneinfo/Pacific/Marquesas", + "usr/share/zoneinfo/Pacific/Midway", + "usr/share/zoneinfo/Pacific/Nauru", + "usr/share/zoneinfo/Pacific/Niue", + "usr/share/zoneinfo/Pacific/Norfolk", + "usr/share/zoneinfo/Pacific/Noumea", + "usr/share/zoneinfo/Pacific/Pago_Pago", + "usr/share/zoneinfo/Pacific/Palau", + "usr/share/zoneinfo/Pacific/Pitcairn", + "usr/share/zoneinfo/Pacific/Pohnpei", + "usr/share/zoneinfo/Pacific/Ponape", + "usr/share/zoneinfo/Pacific/Port_Moresby", + "usr/share/zoneinfo/Pacific/Rarotonga", + "usr/share/zoneinfo/Pacific/Saipan", + "usr/share/zoneinfo/Pacific/Samoa", + "usr/share/zoneinfo/Pacific/Tahiti", + "usr/share/zoneinfo/Pacific/Tarawa", + "usr/share/zoneinfo/Pacific/Tongatapu", + "usr/share/zoneinfo/Pacific/Truk", + "usr/share/zoneinfo/Pacific/Wake", + "usr/share/zoneinfo/Pacific/Wallis", + "usr/share/zoneinfo/Pacific/Yap", + "usr/share/zoneinfo/US/Alaska", + "usr/share/zoneinfo/US/Aleutian", + "usr/share/zoneinfo/US/Arizona", + "usr/share/zoneinfo/US/Central", + "usr/share/zoneinfo/US/East-Indiana", + "usr/share/zoneinfo/US/Eastern", + "usr/share/zoneinfo/US/Hawaii", + "usr/share/zoneinfo/US/Indiana-Starke", + "usr/share/zoneinfo/US/Michigan", + "usr/share/zoneinfo/US/Mountain", + "usr/share/zoneinfo/US/Pacific", + "usr/share/zoneinfo/US/Samoa" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "xz-libs@5.8.3-r0", + "Name": "xz-libs", + "Identifier": { + "PURL": "pkg:apk/alpine/xz-libs@5.8.3-r0?arch=x86_64\u0026distro=3.24.1", + "UID": "1ae658a5f132a091" + }, + "Version": "5.8.3-r0", + "Arch": "x86_64", + "SrcName": "xz", + "SrcVersion": "5.8.3-r0", + "Licenses": [ + "GPL-2.0-or-later", + "0BSD", + "Public-Domain", + "LGPL-2.1-or-later" + ], + "Maintainer": "Natanael Copa \u003cncopa@alpinelinux.org\u003e", + "DependsOn": [ + "musl@1.2.6-r2" + ], + "Layer": { + "Digest": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235", + "DiffID": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + "Digest": "sha1:4c92c5be0c5bef404e93c880eba9037a9b147347", + "InstalledFiles": [ + "usr/lib/liblzma.so.5", + "usr/lib/liblzma.so.5.8.3" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "zlib@1.3.2-r0", + "Name": "zlib", + "Identifier": { + "PURL": "pkg:apk/alpine/zlib@1.3.2-r0?arch=x86_64\u0026distro=3.24.1", + "UID": "e37054a2982d6c16" + }, + "Version": "1.3.2-r0", + "Arch": "x86_64", + "SrcName": "zlib", + "SrcVersion": "1.3.2-r0", + "Licenses": [ + "Zlib" + ], + "Maintainer": "Natanael Copa \u003cncopa@alpinelinux.org\u003e", + "DependsOn": [ + "musl@1.2.6-r2" + ], + "Layer": { + "Digest": "sha256:55afa1ecc21d2bb5e5045f32dafee56272ffd89860bac26f6c32123439af26a4", + "DiffID": "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c" + }, + "Digest": "sha1:dd4c3d102acaef2a71a1495951d55fabc8680613", + "InstalledFiles": [ + "usr/lib/libz.so.1", + "usr/lib/libz.so.1.3.2" + ], + "AnalyzedBy": "apk" + } + ], + "Vulnerabilities": [ + { + "VulnerabilityID": "CVE-2026-85091", + "PkgID": "zlib@1.3.2-r0", + "PkgName": "zlib", + "PkgIdentifier": { + "PURL": "pkg:apk/alpine/zlib@1.3.2-r0?arch=x86_64\u0026distro=3.24.1", + "UID": "e37054a2982d6c16" + }, + "InstalledVersion": "1.3.2-r0", + "FixedVersion": "1.3.2-r1", + "Status": "fixed", + "Layer": { + "Digest": "sha256:55afa1ecc21d2bb5e5045f32dafee56272ffd89860bac26f6c32123439af26a4", + "DiffID": "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c" + }, + "PrimaryURL": "https://avd.aquasec.com/nvd/cve-2026-85091", + "DataSource": { + "ID": "alpine", + "Name": "Alpine Secdb", + "URL": "https://secdb.alpinelinux.org/" + }, + "Fingerprint": "sha256:ceeda859a20a0899c3ebfc8ed22f7f9935b25d2fac00d05c203ecc67a4118973", + "Title": "zlib versions 1.3.1.2 through 1.3.2 contain a heap buffer overflow vul ...", + "Description": "zlib versions 1.3.1.2 through 1.3.2 contain a heap buffer overflow vulnerability in the gz_vacate() function when processing non-blocking gzwrite() operations with stale external buffer pointers. Attackers can trigger the overflow by calling gzprintf() or gzvprintf() after a write stall, causing an unchecked memmove() to write beyond the internal input buffer boundary.", + "Severity": "MEDIUM", + "CweIDs": [ + "CWE-787" + ], + "VendorSeverity": { + "ubuntu": 2 + }, + "References": [ + "https://gist.github.com/thesmartshadow/e0b9481792afb7c31e86fee1ff084490", + "https://github.com/madler/zlib", + "https://github.com/madler/zlib/blob/v1.3.2/gzwrite.c#L393", + "https://www.cve.org/CVERecord?id=CVE-2026-85091", + "https://www.vulncheck.com/advisories/zlib-1.3.1.2-through-1.3.2-heap-buffer-overflow-via-gz-vacate" + ], + "PublishedDate": "2026-09-03T13:06:20.573Z", + "LastModifiedDate": "2026-09-09T20:41:07.123Z" + } + ] + }, + { + "Target": "Python", + "Class": "lang-pkgs", + "Type": "python-pkg", + "Packages": [ + { + "Name": "PyJWT", + "Identifier": { + "PURL": "pkg:pypi/pyjwt@2.15.1", + "UID": "d3f5f9a421b8abc9" + }, + "Version": "2.15.1", + "Licenses": [ + "MIT" + ], + "Layer": { + "Digest": "sha256:82ff17b555d91096dd328eb1e829daaeba9a48d7757143d0b97c35a721f6fb87", + "DiffID": "sha256:648451a0dda84ad04681e32b5ecc7cd5d3a4f0ad84f783e9598d72bc69620d5c" + }, + "FilePath": "opt/venv/lib/python3.12/site-packages/pyjwt-2.15.1.dist-info/METADATA", + "AnalyzedBy": "python-pkg" + }, + { + "Name": "cffi", + "Identifier": { + "PURL": "pkg:pypi/cffi@2.1.1", + "UID": "21042e2f37e33c05" + }, + "Version": "2.1.1", + "Licenses": [ + "MIT-0" + ], + "Layer": { + "Digest": "sha256:82ff17b555d91096dd328eb1e829daaeba9a48d7757143d0b97c35a721f6fb87", + "DiffID": "sha256:648451a0dda84ad04681e32b5ecc7cd5d3a4f0ad84f783e9598d72bc69620d5c" + }, + "FilePath": "opt/venv/lib/python3.12/site-packages/cffi-2.1.1.dist-info/METADATA", + "AnalyzedBy": "python-pkg" + }, + { + "Name": "cryptography", + "Identifier": { + "PURL": "pkg:pypi/cryptography@50.0.1", + "UID": "dcb3df6383fe2a60" + }, + "Version": "50.0.1", + "Licenses": [ + "Apache-2.0 OR BSD-3-Clause" + ], + "Layer": { + "Digest": "sha256:82ff17b555d91096dd328eb1e829daaeba9a48d7757143d0b97c35a721f6fb87", + "DiffID": "sha256:648451a0dda84ad04681e32b5ecc7cd5d3a4f0ad84f783e9598d72bc69620d5c" + }, + "FilePath": "opt/venv/lib/python3.12/site-packages/cryptography-50.0.1.dist-info/METADATA", + "AnalyzedBy": "python-pkg" + }, + { + "Name": "informed-decision", + "Identifier": { + "PURL": "pkg:pypi/informed-decision@0.2.0", + "UID": "7989f2afae8ff568" + }, + "Version": "0.2.0", + "Layer": { + "Digest": "sha256:82ff17b555d91096dd328eb1e829daaeba9a48d7757143d0b97c35a721f6fb87", + "DiffID": "sha256:648451a0dda84ad04681e32b5ecc7cd5d3a4f0ad84f783e9598d72bc69620d5c" + }, + "FilePath": "opt/venv/lib/python3.12/site-packages/informed_decision-0.2.0.dist-info/METADATA", + "AnalyzedBy": "python-pkg" + }, + { + "Name": "pycparser", + "Identifier": { + "PURL": "pkg:pypi/pycparser@3.0", + "UID": "e5a4d03f15a695ff" + }, + "Version": "3.0", + "Licenses": [ + "BSD-3-Clause" + ], + "Layer": { + "Digest": "sha256:82ff17b555d91096dd328eb1e829daaeba9a48d7757143d0b97c35a721f6fb87", + "DiffID": "sha256:648451a0dda84ad04681e32b5ecc7cd5d3a4f0ad84f783e9598d72bc69620d5c" + }, + "FilePath": "opt/venv/lib/python3.12/site-packages/pycparser-3.0.dist-info/METADATA", + "AnalyzedBy": "python-pkg" + }, + { + "Name": "waitress", + "Identifier": { + "PURL": "pkg:pypi/waitress@3.0.2", + "UID": "806e218e1c1e85f" + }, + "Version": "3.0.2", + "Licenses": [ + "ZPL-2.1" + ], + "Layer": { + "Digest": "sha256:82ff17b555d91096dd328eb1e829daaeba9a48d7757143d0b97c35a721f6fb87", + "DiffID": "sha256:648451a0dda84ad04681e32b5ecc7cd5d3a4f0ad84f783e9598d72bc69620d5c" + }, + "FilePath": "opt/venv/lib/python3.12/site-packages/waitress-3.0.2.dist-info/METADATA", + "AnalyzedBy": "python-pkg" + } + ] + } + ] +} diff --git a/docs/evidence/2026-10-11-zlib-remediation-candidate/candidate-image-inspect.json b/docs/evidence/2026-10-11-zlib-remediation-candidate/candidate-image-inspect.json new file mode 100644 index 0000000..eb0297e --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-remediation-candidate/candidate-image-inspect.json @@ -0,0 +1 @@ +{"Id":"sha256:78bfdcc00a62367ae6190f6569a02b18abf9a943f760e4ac8fb946703348af31","RepoTags":["informed-decision:zlib-r1-local-20261011"],"RepoDigests":["informed-decision@sha256:78bfdcc00a62367ae6190f6569a02b18abf9a943f760e4ac8fb946703348af31"],"Created":"2026-10-11T09:29:32.511197114+02:00","Config":{"User":"10001:10001","ExposedPorts":{"8080/tcp":{},"8081/tcp":{}},"Env":["PATH=/opt/venv/bin:/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin","LANG=C.UTF-8","GPG_KEY=7169605F62C751356D054A26A821E680E5FA6305","PYTHON_VERSION=3.12.14","PYTHON_SHA256=5c8462af5790baf43a321a1559dbe0db06d1be4300fb85fb53c40060668e548a","PYTHONDONTWRITEBYTECODE=1","PYTHONUNBUFFERED=1"],"Entrypoint":["informed-decision-container"],"WorkingDir":"/app","Labels":{"org.opencontainers.image.base.digest":"sha256:763c36402c8be7cc4c1bd1a61623d1aff9116d52241877425b45a7018cc0883a","org.opencontainers.image.revision":"uncommitted-T05-local-preparation","social.coulomb.release.scope":"INFD-WP-0009-T05/zlib-85091-r1","social.coulomb.source.context.sha256":"c554e62a84af340cba15d469a4568f6d0c40923e580b08ed7565e22702b1207d","social.coulomb.source.policy.sha256":"9d7c1be4cb6199d14ef0aaead5f85951f45b0ccbd7c800a7fde922a253566b62"}},"Architecture":"amd64","Os":"linux","Size":31557919,"RootFS":{"Type":"layers","Layers":["sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c","sha256:3ca4be2c6e9ac0223715355253725381000486c2b45bfcb22cf571b6a85a12dd","sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366","sha256:4098ad033525263f92a8a9c51865596025d47018e078c0b1f7d9cd5663fc1ffe","sha256:f9b4a8a412a0c07a489e46fb5db41f9d0dc84d4ec38a4e2c6ab9531f44e0d9f1","sha256:648451a0dda84ad04681e32b5ecc7cd5d3a4f0ad84f783e9598d72bc69620d5c","sha256:361430a1113969743b99e237b20f023d5497493bcf96fb91af99ac0a0dbc4a59","sha256:cfc5939674d67f60b4411c24dfcde5622b712eeb7376cd0941a2751da80a6b02","sha256:21ff9188cb29ca95fe9be11355f70ab5586e8499e33b52a253d953fb3b75aea3","sha256:7d2d2d36795c42e5fe8826af00b9751f2d8c328005571c0ca46c1d8c06bd3007","sha256:264cd36fa61846dbe59ce642a36e8d738c415368e666ed0b6c680dc856e1202e"]},"Metadata":{"LastTagTime":"2026-10-11T07:29:32.766526483Z"},"Descriptor":{"mediaType":"application/vnd.oci.image.manifest.v1+json","digest":"sha256:78bfdcc00a62367ae6190f6569a02b18abf9a943f760e4ac8fb946703348af31","size":2752}} diff --git a/docs/evidence/2026-10-11-zlib-remediation-candidate/candidate-runtime.json b/docs/evidence/2026-10-11-zlib-remediation-candidate/candidate-runtime.json new file mode 100644 index 0000000..f194470 --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-remediation-candidate/candidate-runtime.json @@ -0,0 +1 @@ +{"uid": 10001, "gid": 10001, "policy_sha256": "9d7c1be4cb6199d14ef0aaead5f85951f45b0ccbd7c800a7fde922a253566b62", "policy_mode": "0o644", "policy_uid": 0, "app_file_sha256": {"__init__.py": "0ffebe048ba583e7b623f60e8f449950dc5fd49afce2398381fa143eee834e19", "__main__.py": "3ba1467fa2d47fcf0bd032e8694904450775adf763a6e6f9e4888cc3ce3ed92b", "approval_client.py": "56c201dda358cb4bef11a15da141bb68562cdde9e37b4a880bf1e9257ae82cb6", "approval_http.py": "dfaac1faed80a068aa78a8c87b80db99b8887a8fc3767eebc9d6261a98f1e334", "audit.py": "06da36a8f3451b4abc7a46da2df66d5939524c170658b879499b2a47a1b10cd3", "canonicalize.py": "517bbc6b81cc839636b97863ebdefd38aa375d10f4915feb9bf21867f992f765", "container.py": "5f40d2321ee3f52673238011116e741e7b2ac17e28119f100fbcc490db208fbc", "disposition.py": "5ddd19c2444f8e6c9bb090d04045cf1227a34554e000f07b3f677325bf8089f8", "evidence.py": "169ed59ac53ef534a6db835ba371a92177c0ffb000b04203507242e2159ebc21", "http_transport.py": "eda90098f8bf2e5a47d819bf6ae0b0d1dcaf9a87aad3cb61503d060be666339a", "hub_writeback.py": "98b9caa8096c2c3eb8ecfe33900a0ace98453e7608f504fd08a64f50156519a3", "intake.py": "a733b4b608b9ea90b2c8293901aa14388a0bf0d3719f121038bfdcc1faca2038", "intake_approval.py": "52f8b3643e4c5c6f56f2ef1fd9c7747da2165f8f88122e93b3f3ee3ecae48c73", "intake_delivery.py": "4771520cc96325d93bc3f8e08005c3d714a5597582cb1adccc0b0fa73dac0b0d", "intake_hub.py": "c3daddce31791a6e82f7b07406ef4d75bccba5a278fab01dab378a06abceabc8", "intake_service.py": "99ea285a725c58b7571e2a69ceb558f16bbcca4ec391607a0cc2d0459de3b318", "lifecycle.py": "e25f865828e541b2889cd6c9afe0ce7ca4441bf35155304cc7de7c86c44b28e8", "lifecycle_commands.py": "783ec451dd7ef33dc0cfd72c1633ea5208dfd463afeaa0b68d279f156a9b0828", "lifecycle_http.py": "d4b95421d54663f041a10b4f42ac9c013493fa7a770223ab45877b451a7a7c7d", "lifecycle_review.py": "b6d69be6c56f3e2f411501083e199195190df6c740a01b07e82a476268ca3629", "lifecycle_service.py": "2dde9280214e68e5e7a7b48d703886947c2a46139ada86e8ff2283a9d4b55a70", "lifecycle_ui.py": "448e9169607c487e362d4d0d1730aec33987b6dcf12c49dfff7de3aaaab7ae03", "memo.py": "697058863a4e6de2c143a2433eaaf5e15e5e7375dc5459af6911b146567e8b5d", "oidc.py": "6b24dac9537a12141a361c4577feaf42f6c197d8d87da16ca47a08daf6916915", "policy.py": "9d7c1be4cb6199d14ef0aaead5f85951f45b0ccbd7c800a7fde922a253566b62", "presentation.py": "54375ccd8358fac41de220bccadbee09f8b7c8ebbeeafaafd381a7456331da50", "provenance.py": "de02c6bf162865ba9619d74cfd68dd0a5d7f81e6c9e427f67f848cb2c2214f83", "records.py": "82f696151895c51b168144a3078d05764da3499b96917c465629ce0836fa8e33", "requester.py": "66de1af80a5fb2442c1e4407148b581de24b671b5f76c9d2a0458d38e27833a8", "review.py": "d4a085b0ee3e65a9976b9b656ec87a8c735be8d74cfdc9bb55feeb90917c688e", "runtime.py": "535940eed76c5f21ec4c379796fbfddfd85fc309aad0de4d64afda06cdc2d3c5", "stance.py": "62b96b76eba4ec277344172f10f6233e979dda4d079f972d9a55c4e5aed96c3c", "store.py": "9c14b10becb99da19349073e9aa691c25a205df4a2c4d932f37d64f13e8d3b41", "ui.py": "ff0671dc7be4d08ab8f0d38504f70afd355ad3a8a6293620c75864ca56a53ec9", "web.py": "bd08a6b0ea0e418ea1e31e46edab6b7478de9779b823af4f5d72fd1346197e42", "workload.py": "b86cebf5e7a8182b24bb7f9fdbd6f0e17b578d690d9f06c541e713d7d995c5e8"}, "apk_packages": {".python-rundeps": "20260901.001029", "alpine-baselayout": "3.7.2-r1", "alpine-baselayout-data": "3.7.2-r1", "alpine-keys": "2.6-r0", "alpine-release": "3.24.1-r0", "apk-tools": "3.0.6-r0", "busybox": "1.37.0-r31", "busybox-binsh": "1.37.0-r31", "ca-certificates": "20260611-r0", "ca-certificates-bundle": "20260611-r0", "gdbm": "1.26-r0", "keyutils-libs": "1.6.3-r4", "krb5-conf": "1.0-r2", "krb5-libs": "1.22.2-r1", "libapk": "3.0.6-r0", "libbz2": "1.0.8-r6", "libcom_err": "1.47.4-r0", "libcrypto3": "3.5.8-r0", "libffi": "3.5.2-r1", "libintl": "1.0-r0", "libncursesw": "6.6_p20260516-r0", "libnsl": "2.0.1-r2", "libpanelw": "6.6_p20260516-r0", "libssl3": "3.5.8-r0", "libtirpc": "1.3.5-r1", "libtirpc-conf": "1.3.5-r1", "libuuid": "2.42.3-r1", "libverto": "0.3.2-r2", "musl": "1.2.6-r2", "musl-utils": "1.2.6-r2", "ncurses-terminfo-base": "6.6_p20260516-r0", "readline": "8.3.3-r1", "scanelf": "1.3.9-r1", "sqlite-libs": "3.53.4-r0", "ssl_client": "1.37.0-r31", "tzdata": "2026c-r0", "xz-libs": "5.8.3-r0", "zlib": "1.3.2-r1"}, "apk_world_sha256": "61a659443a49627ba7114faa13a4870a2ede26b314064829ced169412be7002e", "apk_keys_sha256": {"alpine-devel@lists.alpinelinux.org-4a6a0840.rsa.pub": "9c102bcc376af1498d549b77bdbfa815ae86faa1d2d82f040e616b18ef2df2d4", "alpine-devel@lists.alpinelinux.org-5261cecb.rsa.pub": "12f899e55a7691225603d6fb3324940fc51cd7f133e7ead788663c2b7eecb00c", "alpine-devel@lists.alpinelinux.org-6165ee59.rsa.pub": "207e4696d3c05f7cb05966aee557307151f1f00217af4143c1bcaf33b8df733f"}, "python_dependencies": {"informed-decision": "0.2.0", "PyJWT": "2.15.1", "cryptography": "50.0.1", "cffi": "2.1.1", "pycparser": "3.0", "waitress": "3.0.2"}, "zlib_runtime_version": "1.3.2", "zlib_compile_version": "1.3.2", "libz_sha256": "ecc8b9dfc45eb7fa29b410ffaca6257873890de53b80fe91735737b49067c5f2", "compression_vectors_pass": 4, "malformed_zlib_refusals": 3, "crypto_jwt_waitress_smoke": true, "openssl": "OpenSSL 3.5.8 25 Aug 2026", "network_accessed": false, "database_opened": false, "provider_or_customer_data_used": false} diff --git a/docs/evidence/2026-10-11-zlib-remediation-candidate/context-source.json b/docs/evidence/2026-10-11-zlib-remediation-candidate/context-source.json new file mode 100644 index 0000000..14db792 --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-remediation-candidate/context-source.json @@ -0,0 +1,9 @@ +{ + "files": { + ".dockerignore": "ce3fa53cfe2c963c7fec4f2333a8af84a40740f144605a5aea795bcd6ac9eb8a", + "Containerfile": "5e4d9b39e37fed95d729503deb0e9c414ae63d2779b02306beaadc94675d4f15", + "zlib-1.3.2-r1.apk": "63aeea03c15a2f9018f81805cfc8aa926bdf5cd68921f22149c2fbb5d0ee9f47", + "APKINDEX.tar.gz": "24fc2ccb08f3125429a38b31bd6c76a7b394c6236df0975760dc8259e50dfbd5" + }, + "context_sha256": "c554e62a84af340cba15d469a4568f6d0c40923e580b08ed7565e22702b1207d" +} diff --git a/docs/evidence/2026-10-11-zlib-remediation-candidate/download-receipt.json b/docs/evidence/2026-10-11-zlib-remediation-candidate/download-receipt.json new file mode 100644 index 0000000..a3da11e --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-remediation-candidate/download-receipt.json @@ -0,0 +1,12 @@ +{ + "zlib-1.3.2-r1.apk": { + "url": "https://dl-cdn.alpinelinux.org/alpine/v3.24/main/x86_64/zlib-1.3.2-r1.apk", + "sha256": "63aeea03c15a2f9018f81805cfc8aa926bdf5cd68921f22149c2fbb5d0ee9f47", + "bytes": 56210 + }, + "APKINDEX.tar.gz": { + "url": "https://dl-cdn.alpinelinux.org/alpine/v3.24/main/x86_64/APKINDEX.tar.gz", + "sha256": "24fc2ccb08f3125429a38b31bd6c76a7b394c6236df0975760dc8259e50dfbd5", + "bytes": 528370 + } +} diff --git a/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/archive-map.json b/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/archive-map.json new file mode 100644 index 0000000..c24ce21 --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/archive-map.json @@ -0,0 +1,140 @@ +{ + "original_manifest_sha256": "8d345bb2bde3efce4d0cc99dfc2f883a64f79c42d2cd4abb288229a995e9ad66", + "files": [ + { + "original_path": ".forgejo/workflows/zlib-overlay-image.yaml", + "archived_path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/.forgejo/workflows/zlib-overlay-image.yaml", + "sha256": "789ef77c30ee55a2e4ef2b7edbe781bb2e92056ac11f5f3b9328ce0dfec38e72" + }, + { + "original_path": "deploy/zlib-overlay/.dockerignore", + "archived_path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/deploy/zlib-overlay/.dockerignore", + "sha256": "ce3fa53cfe2c963c7fec4f2333a8af84a40740f144605a5aea795bcd6ac9eb8a" + }, + { + "original_path": "deploy/zlib-overlay/APKINDEX.tar.gz", + "archived_path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/deploy/zlib-overlay/APKINDEX.tar.gz", + "sha256": "24fc2ccb08f3125429a38b31bd6c76a7b394c6236df0975760dc8259e50dfbd5" + }, + { + "original_path": "deploy/zlib-overlay/Containerfile", + "archived_path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/deploy/zlib-overlay/Containerfile", + "sha256": "5e4d9b39e37fed95d729503deb0e9c414ae63d2779b02306beaadc94675d4f15" + }, + { + "original_path": "deploy/zlib-overlay/pins.json", + "archived_path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/deploy/zlib-overlay/pins.json", + "sha256": "0bd2c79633030056a89ae7f055020e6398aa79d481587d4b41f0974b29dc77b5" + }, + { + "original_path": "deploy/zlib-overlay/zlib-1.3.2-r1.apk", + "archived_path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/deploy/zlib-overlay/zlib-1.3.2-r1.apk", + "sha256": "63aeea03c15a2f9018f81805cfc8aa926bdf5cd68921f22149c2fbb5d0ee9f47" + }, + { + "original_path": "docs/evidence/2026-10-11-zlib-remediation-candidate/README.md", + "archived_path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/README.md", + "sha256": "cc53d16b5dc8375be0d5f63b1144f0a422477e3a5638c397a214275d7ea1d0cb" + }, + { + "original_path": "docs/evidence/2026-10-11-zlib-remediation-candidate/artifact-comparison.json", + "archived_path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/artifact-comparison.json", + "sha256": "8d84bfb20cc6c64c85b4b6fcb76d7e1113ebbfcadcd4d5c54ffb4121d73e4dfa" + }, + { + "original_path": "docs/evidence/2026-10-11-zlib-remediation-candidate/base-runtime.json", + "archived_path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/base-runtime.json", + "sha256": "20aabb9f4846ab4fa6e28e0763d153188da151ee32293366a51b0fdf872a4d24" + }, + { + "original_path": "docs/evidence/2026-10-11-zlib-remediation-candidate/base-sbom.cdx.json", + "archived_path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/base-sbom.cdx.json", + "sha256": "bb40bcd500ec91ad16affe116e74357ab4090827dd930e2186dc99988403bc50" + }, + { + "original_path": "docs/evidence/2026-10-11-zlib-remediation-candidate/base-trivy-full.json", + "archived_path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/base-trivy-full.json", + "sha256": "1b683afb558fedcc20b921599eca536551296afecbc81ce062c359f1b26cfac6" + }, + { + "original_path": "docs/evidence/2026-10-11-zlib-remediation-candidate/candidate-image-inspect.json", + "archived_path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/candidate-image-inspect.json", + "sha256": "56466225f35cdf23c5540c0cc37c77424755ca42794e81f2c99ccf13840c34de" + }, + { + "original_path": "docs/evidence/2026-10-11-zlib-remediation-candidate/candidate-runtime.json", + "archived_path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/candidate-runtime.json", + "sha256": "d58e60bdc69458fe42af8248e02acd924b3b605c828877352a7d9a3953e90124" + }, + { + "original_path": "docs/evidence/2026-10-11-zlib-remediation-candidate/context-source.json", + "archived_path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/context-source.json", + "sha256": "cccf41cf766a037f31f9ab29ae57f6b34c00e0237c94a8a0ce61c9c78fd06828" + }, + { + "original_path": "docs/evidence/2026-10-11-zlib-remediation-candidate/download-receipt.json", + "archived_path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/download-receipt.json", + "sha256": "847fce8466807e88a54ea5e374c2ac49ffa25e208697e71e94d83a5cc185b40d" + }, + { + "original_path": "docs/evidence/2026-10-11-zlib-remediation-candidate/local-candidate-verification.json", + "archived_path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/local-candidate-verification.json", + "sha256": "c82fa8aab33426fdd6f7730b627d226d3469b9d31c525bca7c28a52ab4847fc1" + }, + { + "original_path": "docs/evidence/2026-10-11-zlib-remediation-candidate/official-zlib-index-entry.txt", + "archived_path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/official-zlib-index-entry.txt", + "sha256": "63b6831755f33c4fe7c8d7dd49cf2a60251edfcd45e4555f2731941939cb8d0a" + }, + { + "original_path": "docs/evidence/2026-10-11-zlib-remediation-candidate/official-zlib-package-info.txt", + "archived_path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/official-zlib-package-info.txt", + "sha256": "395e0ee97996853c6cf03f17dfe25b57d109b0432c6faabb585d78e6ac6f534a" + }, + { + "original_path": "docs/evidence/2026-10-11-zlib-remediation-candidate/proposal.json", + "archived_path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/proposal.json", + "sha256": "a12877b149427713c12e67f2597bf330d32dd0b30464008c0f79fc593f05d894" + }, + { + "original_path": "docs/evidence/2026-10-11-zlib-remediation-candidate/sbom.cdx.json", + "archived_path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/sbom.cdx.json", + "sha256": "287a61e1aaf78b58c014726e9bcc1ddc2c46949ac0ee74d53fccae3007eac1bb" + }, + { + "original_path": "docs/evidence/2026-10-11-zlib-remediation-candidate/trivy-full.json", + "archived_path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/trivy-full.json", + "sha256": "fd37bc2d502a9f017f673486f0f960433fc0fc12dcd745e5ed8074e9c3b600d9" + }, + { + "original_path": "docs/evidence/2026-10-11-zlib-remediation-candidate/verify_local_artifacts.py", + "archived_path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/verify_local_artifacts.py", + "sha256": "6706f62937a742a9c5cc00c42d6261d67d4f1e675b868e67db70dc0b5be03afa" + }, + { + "original_path": "tools/zlib_overlay/check_build_inputs.py", + "archived_path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/tools/zlib_overlay/check_build_inputs.py", + "sha256": "1bf0219765dbcf5f7e26495ac4d49f240affa21deeb9b06c65e275afd10d2e06" + }, + { + "original_path": "tools/zlib_overlay/check_runtime.py", + "archived_path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/tools/zlib_overlay/check_runtime.py", + "sha256": "eb1fca9a43d3394d652f748cde2e8d28cbe646ad61c40f990c0b8878c522a3be" + }, + { + "original_path": "tools/zlib_overlay/compare_runtime.py", + "archived_path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/tools/zlib_overlay/compare_runtime.py", + "sha256": "545f04844f90d028f5d8bb65fb16f3805ee5735ac687ec28303eb9dbb4195b0d" + }, + { + "original_path": "tools/zlib_overlay/test_candidate.py", + "archived_path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/tools/zlib_overlay/test_candidate.py", + "sha256": "68677b91c34101776381abcabffcd983bf2452076f983f32599ab1f7ad177bb9" + }, + { + "original_path": "workplans/INFD-WP-0009-lifecycle-consumer-pin-repair.md", + "archived_path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/workplans/INFD-WP-0009-lifecycle-consumer-pin-repair.md", + "sha256": "af785afbf188184b72563c10813663d44117df7cb7394ecb1b9a25cbdfea67a4" + } + ] +} diff --git a/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/original-manifest.json b/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/original-manifest.json new file mode 100644 index 0000000..6e826af --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/original-manifest.json @@ -0,0 +1,191 @@ +[ + { + "repo": "informed-decision", + "path": ".forgejo/workflows/zlib-overlay-image.yaml", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/.forgejo/workflows/zlib-overlay-image.yaml", + "original_sha256": null, + "staged_sha256": "789ef77c30ee55a2e4ef2b7edbe781bb2e92056ac11f5f3b9328ce0dfec38e72" + }, + { + "repo": "informed-decision", + "path": "deploy/zlib-overlay/.dockerignore", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/deploy/zlib-overlay/.dockerignore", + "original_sha256": null, + "staged_sha256": "ce3fa53cfe2c963c7fec4f2333a8af84a40740f144605a5aea795bcd6ac9eb8a" + }, + { + "repo": "informed-decision", + "path": "deploy/zlib-overlay/APKINDEX.tar.gz", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/deploy/zlib-overlay/APKINDEX.tar.gz", + "original_sha256": null, + "staged_sha256": "24fc2ccb08f3125429a38b31bd6c76a7b394c6236df0975760dc8259e50dfbd5" + }, + { + "repo": "informed-decision", + "path": "deploy/zlib-overlay/Containerfile", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/deploy/zlib-overlay/Containerfile", + "original_sha256": null, + "staged_sha256": "5e4d9b39e37fed95d729503deb0e9c414ae63d2779b02306beaadc94675d4f15" + }, + { + "repo": "informed-decision", + "path": "deploy/zlib-overlay/pins.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/deploy/zlib-overlay/pins.json", + "original_sha256": null, + "staged_sha256": "0bd2c79633030056a89ae7f055020e6398aa79d481587d4b41f0974b29dc77b5" + }, + { + "repo": "informed-decision", + "path": "deploy/zlib-overlay/zlib-1.3.2-r1.apk", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/deploy/zlib-overlay/zlib-1.3.2-r1.apk", + "original_sha256": null, + "staged_sha256": "63aeea03c15a2f9018f81805cfc8aa926bdf5cd68921f22149c2fbb5d0ee9f47" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/README.md", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/README.md", + "original_sha256": null, + "staged_sha256": "cc53d16b5dc8375be0d5f63b1144f0a422477e3a5638c397a214275d7ea1d0cb" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/artifact-comparison.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/artifact-comparison.json", + "original_sha256": null, + "staged_sha256": "8d84bfb20cc6c64c85b4b6fcb76d7e1113ebbfcadcd4d5c54ffb4121d73e4dfa" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/base-runtime.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/base-runtime.json", + "original_sha256": null, + "staged_sha256": "20aabb9f4846ab4fa6e28e0763d153188da151ee32293366a51b0fdf872a4d24" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/base-sbom.cdx.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/base-sbom.cdx.json", + "original_sha256": null, + "staged_sha256": "bb40bcd500ec91ad16affe116e74357ab4090827dd930e2186dc99988403bc50" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/base-trivy-full.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/base-trivy-full.json", + "original_sha256": null, + "staged_sha256": "1b683afb558fedcc20b921599eca536551296afecbc81ce062c359f1b26cfac6" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/candidate-image-inspect.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/candidate-image-inspect.json", + "original_sha256": null, + "staged_sha256": "56466225f35cdf23c5540c0cc37c77424755ca42794e81f2c99ccf13840c34de" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/candidate-runtime.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/candidate-runtime.json", + "original_sha256": null, + "staged_sha256": "d58e60bdc69458fe42af8248e02acd924b3b605c828877352a7d9a3953e90124" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/context-source.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/context-source.json", + "original_sha256": null, + "staged_sha256": "cccf41cf766a037f31f9ab29ae57f6b34c00e0237c94a8a0ce61c9c78fd06828" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/download-receipt.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/download-receipt.json", + "original_sha256": null, + "staged_sha256": "847fce8466807e88a54ea5e374c2ac49ffa25e208697e71e94d83a5cc185b40d" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/local-candidate-verification.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/local-candidate-verification.json", + "original_sha256": null, + "staged_sha256": "c82fa8aab33426fdd6f7730b627d226d3469b9d31c525bca7c28a52ab4847fc1" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/official-zlib-index-entry.txt", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/official-zlib-index-entry.txt", + "original_sha256": null, + "staged_sha256": "63b6831755f33c4fe7c8d7dd49cf2a60251edfcd45e4555f2731941939cb8d0a" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/official-zlib-package-info.txt", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/official-zlib-package-info.txt", + "original_sha256": null, + "staged_sha256": "395e0ee97996853c6cf03f17dfe25b57d109b0432c6faabb585d78e6ac6f534a" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/proposal.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/proposal.json", + "original_sha256": null, + "staged_sha256": "a12877b149427713c12e67f2597bf330d32dd0b30464008c0f79fc593f05d894" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/sbom.cdx.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/sbom.cdx.json", + "original_sha256": null, + "staged_sha256": "287a61e1aaf78b58c014726e9bcc1ddc2c46949ac0ee74d53fccae3007eac1bb" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/trivy-full.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/trivy-full.json", + "original_sha256": null, + "staged_sha256": "fd37bc2d502a9f017f673486f0f960433fc0fc12dcd745e5ed8074e9c3b600d9" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/verify_local_artifacts.py", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/verify_local_artifacts.py", + "original_sha256": null, + "staged_sha256": "6706f62937a742a9c5cc00c42d6261d67d4f1e675b868e67db70dc0b5be03afa" + }, + { + "repo": "informed-decision", + "path": "tools/zlib_overlay/check_build_inputs.py", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/tools/zlib_overlay/check_build_inputs.py", + "original_sha256": null, + "staged_sha256": "1bf0219765dbcf5f7e26495ac4d49f240affa21deeb9b06c65e275afd10d2e06" + }, + { + "repo": "informed-decision", + "path": "tools/zlib_overlay/check_runtime.py", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/tools/zlib_overlay/check_runtime.py", + "original_sha256": null, + "staged_sha256": "eb1fca9a43d3394d652f748cde2e8d28cbe646ad61c40f990c0b8878c522a3be" + }, + { + "repo": "informed-decision", + "path": "tools/zlib_overlay/compare_runtime.py", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/tools/zlib_overlay/compare_runtime.py", + "original_sha256": null, + "staged_sha256": "545f04844f90d028f5d8bb65fb16f3805ee5735ac687ec28303eb9dbb4195b0d" + }, + { + "repo": "informed-decision", + "path": "tools/zlib_overlay/test_candidate.py", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/tools/zlib_overlay/test_candidate.py", + "original_sha256": null, + "staged_sha256": "68677b91c34101776381abcabffcd983bf2452076f983f32599ab1f7ad177bb9" + }, + { + "repo": "informed-decision", + "path": "workplans/INFD-WP-0009-lifecycle-consumer-pin-repair.md", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/workplans/INFD-WP-0009-lifecycle-consumer-pin-repair.md", + "original_sha256": "73fe52f0a188067d3e9c9d78584117b9cfa40ce417bb31530cbc2e9bbe858223", + "staged_sha256": "af785afbf188184b72563c10813663d44117df7cb7394ecb1b9a25cbdfea67a4" + } +] diff --git a/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/.forgejo/workflows/zlib-overlay-image.yaml b/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/.forgejo/workflows/zlib-overlay-image.yaml new file mode 100644 index 0000000..dc981ab --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/.forgejo/workflows/zlib-overlay-image.yaml @@ -0,0 +1,71 @@ +name: Publish exact zlib-only remediation candidate +on: + push: + branches: [main] + paths: + - ".forgejo/workflows/zlib-overlay-image.yaml" + - "deploy/zlib-overlay/**" + - "tools/zlib_overlay/**" + workflow_dispatch: +concurrency: + group: informed-decision-zlib-overlay + cancel-in-progress: false +permissions: + contents: read +env: + REGISTRY: forgejo.coulomb.social + IMAGE_NAME: coulomb/informed-decision + DOCKER_HOST: tcp://127.0.0.1:2375 +jobs: + publish-candidate: + runs-on: container-build + steps: + - name: Verify and publish zlib-only candidate + env: + REGISTRY_USER: ${{ secrets.REGISTRY_USER }} + REGISTRY_TOKEN: ${{ secrets.REGISTRY_TOKEN }} + run: | + set -eu + umask 077 + REF="${GITHUB_SHA:?exact source revision required}" + echo "${REF}" | grep -Eq '^[0-9a-f]{40}$' + test "${GITHUB_REPOSITORY}" = "coulomb/informed-decision" + if [ -z "${REGISTRY_USER:-}" ] || [ -z "${REGISTRY_TOKEN:-}" ]; then + echo "Admitted owner registry capability unavailable; no borrowed credential permitted." >&2 + exit 2 + fi + BUILD_ROOT="$(mktemp -d)" + export DOCKER_CONFIG="${BUILD_ROOT}/docker-config" + cleanup() { rm -rf "${BUILD_ROOT}"; } + trap cleanup EXIT + mkdir -p "${BUILD_ROOT}/source" "${BUILD_ROOT}/context" "${DOCKER_CONFIG}" "${HOME}/bin" + wget -qO "${BUILD_ROOT}/source.tar.gz" "https://forgejo.coulomb.social/${GITHUB_REPOSITORY}/archive/${REF}.tar.gz" + tar xzf "${BUILD_ROOT}/source.tar.gz" -C "${BUILD_ROOT}/source" --strip-components=1 + CONTEXT="${BUILD_ROOT}/source/deploy/zlib-overlay" + for INPUT in .dockerignore Containerfile zlib-1.3.2-r1.apk APKINDEX.tar.gz; do + cp "${CONTEXT}/${INPUT}" "${BUILD_ROOT}/context/${INPUT}" + chmod 0644 "${BUILD_ROOT}/context/${INPUT}" + done + echo "63aeea03c15a2f9018f81805cfc8aa926bdf5cd68921f22149c2fbb5d0ee9f47 ${BUILD_ROOT}/context/zlib-1.3.2-r1.apk" | sha256sum -c - + echo "24fc2ccb08f3125429a38b31bd6c76a7b394c6236df0975760dc8259e50dfbd5 ${BUILD_ROOT}/context/APKINDEX.tar.gz" | sha256sum -c - + echo "ce3fa53cfe2c963c7fec4f2333a8af84a40740f144605a5aea795bcd6ac9eb8a ${BUILD_ROOT}/context/.dockerignore" | sha256sum -c - + echo "5e4d9b39e37fed95d729503deb0e9c414ae63d2779b02306beaadc94675d4f15 ${BUILD_ROOT}/context/Containerfile" | sha256sum -c - + wget -qO- https://download.docker.com/linux/static/stable/x86_64/docker-27.3.1.tgz | tar xz --strip-components=1 -C "${HOME}/bin" docker/docker + export PATH="${HOME}/bin:${PATH}" + echo "${REGISTRY_TOKEN}" | docker login "${REGISTRY}" -u "${REGISTRY_USER}" --password-stdin + BASE="${REGISTRY}/${IMAGE_NAME}@sha256:763c36402c8be7cc4c1bd1a61623d1aff9116d52241877425b45a7018cc0883a" + docker pull "${BASE}" + IMAGE="${REGISTRY}/${IMAGE_NAME}:zlib-85091-${REF}" + docker build --network none --pull=false --memory 256m --cpu-period 100000 --cpu-quota 100000 --build-arg "SOURCE_REVISION=${REF}" --build-arg "SOURCE_CONTEXT_SHA256=c554e62a84af340cba15d469a4568f6d0c40923e580b08ed7565e22702b1207d" --file "${BUILD_ROOT}/context/Containerfile" --tag "${IMAGE}" "${BUILD_ROOT}/context" + docker run --rm -i --network none --read-only --cpus 1 --memory 128m --entrypoint python "${BASE}" - < "${BUILD_ROOT}/source/tools/zlib_overlay/check_runtime.py" > "${BUILD_ROOT}/base-runtime.json" + docker run --rm -i --network none --read-only --cpus 1 --memory 128m --entrypoint python "${IMAGE}" - < "${BUILD_ROOT}/source/tools/zlib_overlay/check_runtime.py" > "${BUILD_ROOT}/candidate-runtime.json" + docker run --rm -i --network none --read-only --cpus 1 --memory 128m --entrypoint python "${BASE}" - "$(cat "${BUILD_ROOT}/base-runtime.json")" "$(cat "${BUILD_ROOT}/candidate-runtime.json")" < "${BUILD_ROOT}/source/tools/zlib_overlay/compare_runtime.py" + docker run --rm -i --network none --read-only --cpus 1 --memory 128m --entrypoint python "${IMAGE}" - < "${BUILD_ROOT}/source/tools/purpose_overlay/check_installed.py" + OUTPUT="$(docker push "${IMAGE}")" + printf '%s\n' "${OUTPUT}" + DIGEST="$(printf '%s\n' "${OUTPUT}" | tr '\r' '\n' | awk '{for(i=1;i<=NF;i++)if($i~/^sha256:[a-f0-9]{64}$/)print $i}' | tail -1)" + printf '%s' "${DIGEST}" | grep -Eq '^sha256:[a-f0-9]{64}$' + echo "published=${REGISTRY}/${IMAGE_NAME}@${DIGEST}" + echo "source_revision=${REF}" + echo "context_sha256=c554e62a84af340cba15d469a4568f6d0c40923e580b08ed7565e22702b1207d" + echo "candidate_only=true; actual published digest/full scan/SBOM/provenance and distinct native founder release approval remain required" diff --git a/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/deploy/zlib-overlay/.dockerignore b/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/deploy/zlib-overlay/.dockerignore new file mode 100644 index 0000000..b1cccb1 --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/deploy/zlib-overlay/.dockerignore @@ -0,0 +1,5 @@ +* +!.dockerignore +!Containerfile +!zlib-1.3.2-r1.apk +!APKINDEX.tar.gz diff --git a/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/deploy/zlib-overlay/APKINDEX.tar.gz b/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/deploy/zlib-overlay/APKINDEX.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..f6492376e176c60bc5d53370cc9c67859c138701 GIT binary patch literal 528370 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

J8FiIE_5E+UDR}0T0 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

lFsQ+)@eus0V+JJ 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 f{=ahmEuDSw? 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

T0Kl+-{<5=1P#@xG&NA7e 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ⅆBPxfk3TyYzn((p2=Q%1}S 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

skEnTKi6vrh~ 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

S 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 A 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 literal 0 HcmV?d00001 diff --git a/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/README.md b/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/README.md new file mode 100644 index 0000000..0fb7d01 --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/README.md @@ -0,0 +1,9 @@ +# Separate T05 zlib-only candidate — local verified, unpublished/unapproved + +Exact current purpose image763c is the base. Signed official Alpine3.24/main/x86_64 zlib1.3.2-r1 and APKINDEX are preserved as exact public source artifacts in deploy/zlib-overlay with their HTTPS origin/SHA/packagecommit/signature metadata. Both actually verified against base trusted keys. The offline named-package upgrade uses only that repository, disables preupgrade/network/logging, restoresUID10001 and removes temporarypublic artifacts. Only final libz binary and APK installeddatabase differ; world/repository/keys/app36files/Python/OpenSSL/policy9d remain unchanged. Raw Docker legacy/OCI default serialization differs; effective runtime config is proved equal, not byte-identical. + +Local daemonimageID78bfdcc... differs from Docker-save OCIconfig625d... after serialization; both are explicitly identified in receipt. Neither is a registry/release digest. Localfull sameDB scan covers44packages: baseactual1MEDCVE85091, candidatezeroallseverity; fullbaseline/candidateJSON+CycloneDX and filesystemaudit retained. Alpine3.24 EOLlistwarning/detection coverage is disclosed. No filters/ignoreunfixed or estateRiskgrade. Four source tests include eight unrelatedpackage/source/identity/backend/database/Python/artifactmutation refusals; actualcompression/crypto/JWT/waitress andteninstalledpurpose variants pass. Purpose providertransport remains synthetic, no database/provider/customerdata accessed. + +Four-file sourcecontext hashc554e62a... is actualbuiltinput; localOCIrevision is honestly uncommitted preparation. New sourceworkflow uses exact GITHUB_SHA/archive/four inputhashes and existing admitted ownerregistry capability; no newPAT/login/grant. It publishes only a candidate with installedpackage/appidentity/purpose guards. CIpublication has NOT run. Root must commit/source-sync thenverifyactualregistry/nativeCI provenance and fullscan/SBOM before any new release question. Do notpin a localimageID in owneradmission/servicevalues. + +T05 staysprogress/planactive, manualfollowupdueOct18 withoutautotimer. T04/nativec96/protectedjournals/snapshotcustody/helpers/current763deployment remain untouched. Only after actualpublishedproof, exact scopedfounderapproval andnativeinstalledr1/runtime/fullrescan canT05 close. Futureimage-onlyrollbackkeepslatestDB and prior763, neverrestoresoldrecords. See proposal.json/local-candidate-verification.json for exactproofs/refinementlimits. diff --git a/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/artifact-comparison.json b/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/artifact-comparison.json new file mode 100644 index 0000000..bf14b31 --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/artifact-comparison.json @@ -0,0 +1,71 @@ +{ + "base_image_config_id": "sha256:f34de21379c4f50ea0361ca1d8296c8e72f989499ad288016b81204997ae4779", + "candidate_local_image_config_id": "sha256:625d066416e901eaa2db5e18b96c37559b25dd91bdc3afb3d1ff5e916c7a8a3f", + "candidate_registry_digest": null, + "base_layers_preserved": 9, + "new_layers": 2, + "effective_runtime_config_identical": true, + "raw_config_bytes_identical": false, + "serialization_note": "Legacy base explicitly serialized empty/false/null defaults; candidate Docker-save config omits equivalent known defaults. Exact closed default normalization only; runtime fields unchanged.", + "labels_before": { + "org.opencontainers.image.base.digest": "sha256:7f5c6cb29c9f70a026bfe30e72934274ddc69261676cf6d476f81dd32812d173", + "org.opencontainers.image.revision": "3e4bcb26f8eeaa8c64345c565477b5ac8ccbb168", + "social.coulomb.release.scope": "INFD-WP-0009-T04/purpose-overlay-v1", + "social.coulomb.source.policy.sha256": "9d7c1be4cb6199d14ef0aaead5f85951f45b0ccbd7c800a7fde922a253566b62" + }, + "labels_after": { + "org.opencontainers.image.base.digest": "sha256:763c36402c8be7cc4c1bd1a61623d1aff9116d52241877425b45a7018cc0883a", + "org.opencontainers.image.revision": "uncommitted-T05-local-preparation", + "social.coulomb.release.scope": "INFD-WP-0009-T05/zlib-85091-r1", + "social.coulomb.source.context.sha256": "c554e62a84af340cba15d469a4568f6d0c40923e580b08ed7565e22702b1207d", + "social.coulomb.source.policy.sha256": "9d7c1be4cb6199d14ef0aaead5f85951f45b0ccbd7c800a7fde922a253566b62" + }, + "final_changed_files": { + "lib/apk/db/installed": { + "before": [ + "file", + 420, + 0, + 0, + "6383ea3806247e8dbf9ebee8cb30eb8eca63a8ea59662a793127d6a61b988d70" + ], + "after": [ + "file", + 420, + 0, + 0, + "f590762196710e25c0e9f72da0642cad8a5dcba0aa9e58a0cbaa65684d15c001" + ] + }, + "usr/lib/libz.so.1.3.2": { + "before": [ + "file", + 493, + 0, + 0, + "a1e2c03dcdedba98a06a00cadfb67a0e0b1cd93986860ec0c5ce66e789c44e57" + ], + "after": [ + "file", + 493, + 0, + 0, + "ecc8b9dfc45eb7fa29b410ffaca6257873890de53b80fe91735737b49067c5f2" + ] + } + }, + "sbom_package_count_base": 44, + "sbom_package_count_candidate": 44, + "sbom_only_delta": { + "zlib": [ + "1.3.2-r0", + "1.3.2-r1" + ] + }, + "full_scan_baseline_findings": 1, + "full_scan_candidate_allseverity_findings": 0, + "db_snapshot_same": true, + "native_workload_changed": false, + "candidate_docker_daemon_image_id": "sha256:78bfdcc00a62367ae6190f6569a02b18abf9a943f760e4ac8fb946703348af31", + "candidate_local_image_config_id_kind": "Docker-save OCI export config SHA; distinct from legacy daemon imageID; closed default serialization differs." +} diff --git a/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/base-runtime.json b/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/base-runtime.json new file mode 100644 index 0000000..b45c853 --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/base-runtime.json @@ -0,0 +1 @@ +{"uid": 10001, "gid": 10001, "policy_sha256": "9d7c1be4cb6199d14ef0aaead5f85951f45b0ccbd7c800a7fde922a253566b62", "policy_mode": "0o644", "policy_uid": 0, "app_file_sha256": {"__init__.py": "0ffebe048ba583e7b623f60e8f449950dc5fd49afce2398381fa143eee834e19", "__main__.py": "3ba1467fa2d47fcf0bd032e8694904450775adf763a6e6f9e4888cc3ce3ed92b", "approval_client.py": "56c201dda358cb4bef11a15da141bb68562cdde9e37b4a880bf1e9257ae82cb6", "approval_http.py": "dfaac1faed80a068aa78a8c87b80db99b8887a8fc3767eebc9d6261a98f1e334", "audit.py": "06da36a8f3451b4abc7a46da2df66d5939524c170658b879499b2a47a1b10cd3", "canonicalize.py": "517bbc6b81cc839636b97863ebdefd38aa375d10f4915feb9bf21867f992f765", "container.py": "5f40d2321ee3f52673238011116e741e7b2ac17e28119f100fbcc490db208fbc", "disposition.py": "5ddd19c2444f8e6c9bb090d04045cf1227a34554e000f07b3f677325bf8089f8", "evidence.py": "169ed59ac53ef534a6db835ba371a92177c0ffb000b04203507242e2159ebc21", "http_transport.py": "eda90098f8bf2e5a47d819bf6ae0b0d1dcaf9a87aad3cb61503d060be666339a", "hub_writeback.py": "98b9caa8096c2c3eb8ecfe33900a0ace98453e7608f504fd08a64f50156519a3", "intake.py": "a733b4b608b9ea90b2c8293901aa14388a0bf0d3719f121038bfdcc1faca2038", "intake_approval.py": "52f8b3643e4c5c6f56f2ef1fd9c7747da2165f8f88122e93b3f3ee3ecae48c73", "intake_delivery.py": "4771520cc96325d93bc3f8e08005c3d714a5597582cb1adccc0b0fa73dac0b0d", "intake_hub.py": "c3daddce31791a6e82f7b07406ef4d75bccba5a278fab01dab378a06abceabc8", "intake_service.py": "99ea285a725c58b7571e2a69ceb558f16bbcca4ec391607a0cc2d0459de3b318", "lifecycle.py": "e25f865828e541b2889cd6c9afe0ce7ca4441bf35155304cc7de7c86c44b28e8", "lifecycle_commands.py": "783ec451dd7ef33dc0cfd72c1633ea5208dfd463afeaa0b68d279f156a9b0828", "lifecycle_http.py": "d4b95421d54663f041a10b4f42ac9c013493fa7a770223ab45877b451a7a7c7d", "lifecycle_review.py": "b6d69be6c56f3e2f411501083e199195190df6c740a01b07e82a476268ca3629", "lifecycle_service.py": "2dde9280214e68e5e7a7b48d703886947c2a46139ada86e8ff2283a9d4b55a70", "lifecycle_ui.py": "448e9169607c487e362d4d0d1730aec33987b6dcf12c49dfff7de3aaaab7ae03", "memo.py": "697058863a4e6de2c143a2433eaaf5e15e5e7375dc5459af6911b146567e8b5d", "oidc.py": "6b24dac9537a12141a361c4577feaf42f6c197d8d87da16ca47a08daf6916915", "policy.py": "9d7c1be4cb6199d14ef0aaead5f85951f45b0ccbd7c800a7fde922a253566b62", "presentation.py": "54375ccd8358fac41de220bccadbee09f8b7c8ebbeeafaafd381a7456331da50", "provenance.py": "de02c6bf162865ba9619d74cfd68dd0a5d7f81e6c9e427f67f848cb2c2214f83", "records.py": "82f696151895c51b168144a3078d05764da3499b96917c465629ce0836fa8e33", "requester.py": "66de1af80a5fb2442c1e4407148b581de24b671b5f76c9d2a0458d38e27833a8", "review.py": "d4a085b0ee3e65a9976b9b656ec87a8c735be8d74cfdc9bb55feeb90917c688e", "runtime.py": "535940eed76c5f21ec4c379796fbfddfd85fc309aad0de4d64afda06cdc2d3c5", "stance.py": "62b96b76eba4ec277344172f10f6233e979dda4d079f972d9a55c4e5aed96c3c", "store.py": "9c14b10becb99da19349073e9aa691c25a205df4a2c4d932f37d64f13e8d3b41", "ui.py": "ff0671dc7be4d08ab8f0d38504f70afd355ad3a8a6293620c75864ca56a53ec9", "web.py": "bd08a6b0ea0e418ea1e31e46edab6b7478de9779b823af4f5d72fd1346197e42", "workload.py": "b86cebf5e7a8182b24bb7f9fdbd6f0e17b578d690d9f06c541e713d7d995c5e8"}, "apk_packages": {".python-rundeps": "20260901.001029", "alpine-baselayout": "3.7.2-r1", "alpine-baselayout-data": "3.7.2-r1", "alpine-keys": "2.6-r0", "alpine-release": "3.24.1-r0", "apk-tools": "3.0.6-r0", "busybox": "1.37.0-r31", "busybox-binsh": "1.37.0-r31", "ca-certificates": "20260611-r0", "ca-certificates-bundle": "20260611-r0", "gdbm": "1.26-r0", "keyutils-libs": "1.6.3-r4", "krb5-conf": "1.0-r2", "krb5-libs": "1.22.2-r1", "libapk": "3.0.6-r0", "libbz2": "1.0.8-r6", "libcom_err": "1.47.4-r0", "libcrypto3": "3.5.8-r0", "libffi": "3.5.2-r1", "libintl": "1.0-r0", "libncursesw": "6.6_p20260516-r0", "libnsl": "2.0.1-r2", "libpanelw": "6.6_p20260516-r0", "libssl3": "3.5.8-r0", "libtirpc": "1.3.5-r1", "libtirpc-conf": "1.3.5-r1", "libuuid": "2.42.3-r1", "libverto": "0.3.2-r2", "musl": "1.2.6-r2", "musl-utils": "1.2.6-r2", "ncurses-terminfo-base": "6.6_p20260516-r0", "readline": "8.3.3-r1", "scanelf": "1.3.9-r1", "sqlite-libs": "3.53.4-r0", "ssl_client": "1.37.0-r31", "tzdata": "2026c-r0", "xz-libs": "5.8.3-r0", "zlib": "1.3.2-r0"}, "apk_world_sha256": "61a659443a49627ba7114faa13a4870a2ede26b314064829ced169412be7002e", "apk_keys_sha256": {"alpine-devel@lists.alpinelinux.org-4a6a0840.rsa.pub": "9c102bcc376af1498d549b77bdbfa815ae86faa1d2d82f040e616b18ef2df2d4", "alpine-devel@lists.alpinelinux.org-5261cecb.rsa.pub": "12f899e55a7691225603d6fb3324940fc51cd7f133e7ead788663c2b7eecb00c", "alpine-devel@lists.alpinelinux.org-6165ee59.rsa.pub": "207e4696d3c05f7cb05966aee557307151f1f00217af4143c1bcaf33b8df733f"}, "python_dependencies": {"informed-decision": "0.2.0", "PyJWT": "2.15.1", "cryptography": "50.0.1", "cffi": "2.1.1", "pycparser": "3.0", "waitress": "3.0.2"}, "zlib_runtime_version": "1.3.2", "zlib_compile_version": "1.3.2", "libz_sha256": "a1e2c03dcdedba98a06a00cadfb67a0e0b1cd93986860ec0c5ce66e789c44e57", "compression_vectors_pass": 4, "malformed_zlib_refusals": 3, "crypto_jwt_waitress_smoke": true, "openssl": "OpenSSL 3.5.8 25 Aug 2026", "network_accessed": false, "database_opened": false, "provider_or_customer_data_used": false} diff --git a/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/base-sbom.cdx.json b/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/base-sbom.cdx.json new file mode 100644 index 0000000..389d805 --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/base-sbom.cdx.json @@ -0,0 +1,2551 @@ +{ + "$schema": "http://cyclonedx.org/schema/bom-1.7.schema.json", + "bomFormat": "CycloneDX", + "specVersion": "1.7", + "serialNumber": "urn:uuid:87d25a8f-5c4e-45a5-ba01-10fe9ffc3512", + "version": 1, + "metadata": { + "timestamp": "2026-10-11T07:27:24+00:00", + "tools": { + "components": [ + { + "type": "application", + "manufacturer": { + "name": "Aqua Security Software Ltd." + }, + "group": "aquasecurity", + "name": "trivy", + "version": "0.74.0" + } + ] + }, + "component": { + "bom-ref": "72113269-9efb-4c6a-a07f-752a12125747", + "type": "container", + "name": "/artifact/base-image.tar", + "properties": [ + { + "name": "aquasecurity:trivy:DiffID", + "value": "sha256:21ff9188cb29ca95fe9be11355f70ab5586e8499e33b52a253d953fb3b75aea3" + }, + { + "name": "aquasecurity:trivy:DiffID", + "value": "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c" + }, + { + "name": "aquasecurity:trivy:DiffID", + "value": "sha256:361430a1113969743b99e237b20f023d5497493bcf96fb91af99ac0a0dbc4a59" + }, + { + "name": "aquasecurity:trivy:DiffID", + "value": "sha256:3ca4be2c6e9ac0223715355253725381000486c2b45bfcb22cf571b6a85a12dd" + }, + { + "name": "aquasecurity:trivy:DiffID", + "value": "sha256:4098ad033525263f92a8a9c51865596025d47018e078c0b1f7d9cd5663fc1ffe" + }, + { + "name": "aquasecurity:trivy:DiffID", + "value": "sha256:648451a0dda84ad04681e32b5ecc7cd5d3a4f0ad84f783e9598d72bc69620d5c" + }, + { + "name": "aquasecurity:trivy:DiffID", + "value": "sha256:cfc5939674d67f60b4411c24dfcde5622b712eeb7376cd0941a2751da80a6b02" + }, + { + "name": "aquasecurity:trivy:DiffID", + "value": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + { + "name": "aquasecurity:trivy:DiffID", + "value": "sha256:f9b4a8a412a0c07a489e46fb5db41f9d0dc84d4ec38a4e2c6ab9531f44e0d9f1" + }, + { + "name": "aquasecurity:trivy:ImageID", + "value": "sha256:f34de21379c4f50ea0361ca1d8296c8e72f989499ad288016b81204997ae4779" + }, + { + "name": "aquasecurity:trivy:Labels:org.opencontainers.image.base.digest", + "value": "sha256:7f5c6cb29c9f70a026bfe30e72934274ddc69261676cf6d476f81dd32812d173" + }, + { + "name": "aquasecurity:trivy:Labels:org.opencontainers.image.revision", + "value": "3e4bcb26f8eeaa8c64345c565477b5ac8ccbb168" + }, + { + "name": "aquasecurity:trivy:Labels:social.coulomb.release.scope", + "value": "INFD-WP-0009-T04/purpose-overlay-v1" + }, + { + "name": "aquasecurity:trivy:Labels:social.coulomb.source.policy.sha256", + "value": "9d7c1be4cb6199d14ef0aaead5f85951f45b0ccbd7c800a7fde922a253566b62" + }, + { + "name": "aquasecurity:trivy:SchemaVersion", + "value": "2" + }, + { + "name": "aquasecurity:trivy:Size", + "value": "88258048" + } + ] + } + }, + "components": [ + { + "bom-ref": "65b030f2-ac92-4cbc-a6e6-f92890b5a5f5", + "type": "operating-system", + "name": "alpine", + "version": "3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:Class", + "value": "os-pkgs" + }, + { + "name": "aquasecurity:trivy:Type", + "value": "alpine" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/.python-rundeps@20260901.001029?arch=noarch&distro=3.24.1", + "type": "library", + "name": ".python-rundeps", + "version": "20260901.001029", + "hashes": [ + { + "alg": "SHA-1", + "content": "51d0c1e7d88a414345799f0309185c625013ef32" + } + ], + "purl": "pkg:apk/alpine/.python-rundeps@20260901.001029?arch=noarch&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": ".python-rundeps@20260901.001029" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/alpine-baselayout-data@3.7.2-r1?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Natanael Copa " + }, + "name": "alpine-baselayout-data", + "version": "3.7.2-r1", + "hashes": [ + { + "alg": "SHA-1", + "content": "c6f9bded17d844b6f1b0bb5766d2c35c0d5c8508" + } + ], + "licenses": [ + { + "license": { + "id": "GPL-2.0-only" + } + } + ], + "purl": "pkg:apk/alpine/alpine-baselayout-data@3.7.2-r1?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:55afa1ecc21d2bb5e5045f32dafee56272ffd89860bac26f6c32123439af26a4" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "alpine-baselayout-data@3.7.2-r1" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "alpine-baselayout" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "3.7.2-r1" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/alpine-baselayout@3.7.2-r1?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Natanael Copa " + }, + "name": "alpine-baselayout", + "version": "3.7.2-r1", + "hashes": [ + { + "alg": "SHA-1", + "content": "f0fcfdc2f4da058af6473bc45c4eab62916225b2" + } + ], + "licenses": [ + { + "license": { + "id": "GPL-2.0-only" + } + } + ], + "purl": "pkg:apk/alpine/alpine-baselayout@3.7.2-r1?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:55afa1ecc21d2bb5e5045f32dafee56272ffd89860bac26f6c32123439af26a4" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "alpine-baselayout@3.7.2-r1" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "alpine-baselayout" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "3.7.2-r1" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/alpine-keys@2.6-r0?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Natanael Copa " + }, + "name": "alpine-keys", + "version": "2.6-r0", + "hashes": [ + { + "alg": "SHA-1", + "content": "d8d6b80e53c059a77e4915da78ba964f3ffea240" + } + ], + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "purl": "pkg:apk/alpine/alpine-keys@2.6-r0?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:55afa1ecc21d2bb5e5045f32dafee56272ffd89860bac26f6c32123439af26a4" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "alpine-keys@2.6-r0" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "alpine-keys" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "2.6-r0" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/alpine-release@3.24.1-r0?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Natanael Copa " + }, + "name": "alpine-release", + "version": "3.24.1-r0", + "hashes": [ + { + "alg": "SHA-1", + "content": "bc6912a25cdc7733e0035ed509eceaa4026946e3" + } + ], + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "purl": "pkg:apk/alpine/alpine-release@3.24.1-r0?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:55afa1ecc21d2bb5e5045f32dafee56272ffd89860bac26f6c32123439af26a4" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "alpine-release@3.24.1-r0" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "alpine-base" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "3.24.1-r0" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/apk-tools@3.0.6-r0?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Natanael Copa " + }, + "name": "apk-tools", + "version": "3.0.6-r0", + "hashes": [ + { + "alg": "SHA-1", + "content": "043333589798a1f52e09ae63f026c6c8fa676d34" + } + ], + "licenses": [ + { + "license": { + "id": "GPL-2.0-only" + } + } + ], + "purl": "pkg:apk/alpine/apk-tools@3.0.6-r0?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:55afa1ecc21d2bb5e5045f32dafee56272ffd89860bac26f6c32123439af26a4" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "apk-tools@3.0.6-r0" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "apk-tools" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "3.0.6-r0" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/busybox-binsh@1.37.0-r31?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Sören Tempel " + }, + "name": "busybox-binsh", + "version": "1.37.0-r31", + "hashes": [ + { + "alg": "SHA-1", + "content": "5cbd14acc6f1804c5bac6c77dc2c492f010b0fc7" + } + ], + "licenses": [ + { + "license": { + "id": "GPL-2.0-only" + } + } + ], + "purl": "pkg:apk/alpine/busybox-binsh@1.37.0-r31?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:55afa1ecc21d2bb5e5045f32dafee56272ffd89860bac26f6c32123439af26a4" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "busybox-binsh@1.37.0-r31" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "busybox" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "1.37.0-r31" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/busybox@1.37.0-r31?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Sören Tempel " + }, + "name": "busybox", + "version": "1.37.0-r31", + "hashes": [ + { + "alg": "SHA-1", + "content": "b5405ebc02f7dd8be95b6265c54b243d5456ab8f" + } + ], + "licenses": [ + { + "license": { + "id": "GPL-2.0-only" + } + } + ], + "purl": "pkg:apk/alpine/busybox@1.37.0-r31?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:55afa1ecc21d2bb5e5045f32dafee56272ffd89860bac26f6c32123439af26a4" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "busybox@1.37.0-r31" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "busybox" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "1.37.0-r31" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/ca-certificates-bundle@20260611-r0?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Natanael Copa " + }, + "name": "ca-certificates-bundle", + "version": "20260611-r0", + "hashes": [ + { + "alg": "SHA-1", + "content": "c9534a03750bdfae341f10969016090fc11febbd" + } + ], + "licenses": [ + { + "license": { + "id": "MPL-2.0" + } + }, + { + "license": { + "id": "MIT" + } + } + ], + "purl": "pkg:apk/alpine/ca-certificates-bundle@20260611-r0?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:55afa1ecc21d2bb5e5045f32dafee56272ffd89860bac26f6c32123439af26a4" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "ca-certificates-bundle@20260611-r0" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "ca-certificates" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "20260611-r0" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/ca-certificates@20260611-r0?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Natanael Copa " + }, + "name": "ca-certificates", + "version": "20260611-r0", + "hashes": [ + { + "alg": "SHA-1", + "content": "8f2a04abeb54b331e2970a0a0dffb7bd6bdde567" + } + ], + "licenses": [ + { + "license": { + "id": "MPL-2.0" + } + }, + { + "license": { + "id": "MIT" + } + } + ], + "purl": "pkg:apk/alpine/ca-certificates@20260611-r0?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:3ca4be2c6e9ac0223715355253725381000486c2b45bfcb22cf571b6a85a12dd" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:47393b668ce535d06e8967917d424c177e2ecccae83856d48b2e99164f8cc6cb" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "ca-certificates@20260611-r0" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "ca-certificates" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "20260611-r0" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/gdbm@1.26-r0?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Natanael Copa " + }, + "name": "gdbm", + "version": "1.26-r0", + "hashes": [ + { + "alg": "SHA-1", + "content": "619493d8124fe49a8ee1d8f7a1372cf7e3977337" + } + ], + "licenses": [ + { + "license": { + "id": "GPL-3.0-or-later" + } + } + ], + "purl": "pkg:apk/alpine/gdbm@1.26-r0?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "gdbm@1.26-r0" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "gdbm" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "1.26-r0" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/keyutils-libs@1.6.3-r4?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Natanael Copa " + }, + "name": "keyutils-libs", + "version": "1.6.3-r4", + "hashes": [ + { + "alg": "SHA-1", + "content": "b7331c96f077fc3522ee4361a441d1097204cd90" + } + ], + "licenses": [ + { + "license": { + "id": "GPL-2.0-or-later" + } + }, + { + "license": { + "id": "LGPL-2.0-or-later" + } + } + ], + "purl": "pkg:apk/alpine/keyutils-libs@1.6.3-r4?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "keyutils-libs@1.6.3-r4" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "keyutils" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "1.6.3-r4" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/krb5-conf@1.0-r2?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Natanael Copa " + }, + "name": "krb5-conf", + "version": "1.0-r2", + "hashes": [ + { + "alg": "SHA-1", + "content": "40a11e0690a59e110367b62a80661024e9942a2d" + } + ], + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "purl": "pkg:apk/alpine/krb5-conf@1.0-r2?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "krb5-conf@1.0-r2" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "krb5-conf" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "1.0-r2" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/krb5-libs@1.22.2-r1?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Natanael Copa " + }, + "name": "krb5-libs", + "version": "1.22.2-r1", + "hashes": [ + { + "alg": "SHA-1", + "content": "ef02346e21b817ff379e4601e5b1fc9760e5e31a" + } + ], + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "purl": "pkg:apk/alpine/krb5-libs@1.22.2-r1?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "krb5-libs@1.22.2-r1" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "krb5" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "1.22.2-r1" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/libapk@3.0.6-r0?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Natanael Copa " + }, + "name": "libapk", + "version": "3.0.6-r0", + "hashes": [ + { + "alg": "SHA-1", + "content": "523a8f58104589f74f743d501c81bf6517155378" + } + ], + "licenses": [ + { + "license": { + "id": "GPL-2.0-only" + } + } + ], + "purl": "pkg:apk/alpine/libapk@3.0.6-r0?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:55afa1ecc21d2bb5e5045f32dafee56272ffd89860bac26f6c32123439af26a4" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "libapk@3.0.6-r0" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "apk-tools" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "3.0.6-r0" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/libbz2@1.0.8-r6?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Natanael Copa " + }, + "name": "libbz2", + "version": "1.0.8-r6", + "hashes": [ + { + "alg": "SHA-1", + "content": "08566ba5c7af97c25474be8b24e8b48f0116b67d" + } + ], + "licenses": [ + { + "license": { + "name": "bzip-2-1.0.6" + } + } + ], + "purl": "pkg:apk/alpine/libbz2@1.0.8-r6?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "libbz2@1.0.8-r6" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "bzip2" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "1.0.8-r6" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/libcom_err@1.47.4-r0?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Natanael Copa " + }, + "name": "libcom_err", + "version": "1.47.4-r0", + "hashes": [ + { + "alg": "SHA-1", + "content": "4b9fb5899ea0b1c0cfbb2a2c5952704437d4ecef" + } + ], + "licenses": [ + { + "license": { + "id": "GPL-2.0-or-later" + } + }, + { + "license": { + "id": "LGPL-2.0-or-later" + } + }, + { + "license": { + "id": "BSD-3-Clause" + } + }, + { + "license": { + "id": "MIT" + } + } + ], + "purl": "pkg:apk/alpine/libcom_err@1.47.4-r0?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "libcom_err@1.47.4-r0" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "e2fsprogs" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "1.47.4-r0" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/libcrypto3@3.5.8-r0?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Natanael Copa " + }, + "name": "libcrypto3", + "version": "3.5.8-r0", + "hashes": [ + { + "alg": "SHA-1", + "content": "1b3b9fc0c136f4936932bcb2ec21499f0ae5dfd3" + } + ], + "licenses": [ + { + "license": { + "id": "Apache-2.0" + } + } + ], + "purl": "pkg:apk/alpine/libcrypto3@3.5.8-r0?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "libcrypto3@3.5.8-r0" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "openssl" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "3.5.8-r0" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/libffi@3.5.2-r1?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Natanael Copa " + }, + "name": "libffi", + "version": "3.5.2-r1", + "hashes": [ + { + "alg": "SHA-1", + "content": "2f7b261f7fcecc4eebd8b330e7f6fb80713bfe3a" + } + ], + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "purl": "pkg:apk/alpine/libffi@3.5.2-r1?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "libffi@3.5.2-r1" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "libffi" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "3.5.2-r1" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/libintl@1.0-r0?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Carlo Landmeter " + }, + "name": "libintl", + "version": "1.0-r0", + "hashes": [ + { + "alg": "SHA-1", + "content": "282d6642ccac87237e43a864159d73cf5abe7550" + } + ], + "licenses": [ + { + "license": { + "id": "LGPL-2.1-or-later" + } + } + ], + "purl": "pkg:apk/alpine/libintl@1.0-r0?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "libintl@1.0-r0" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "gettext" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "1.0-r0" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/libncursesw@6.6_p20260516-r0?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Milan P. Stanić " + }, + "name": "libncursesw", + "version": "6.6_p20260516-r0", + "hashes": [ + { + "alg": "SHA-1", + "content": "9f318e6e324d6827274829194cf6ac6afbaded12" + } + ], + "licenses": [ + { + "license": { + "name": "X-11" + } + } + ], + "purl": "pkg:apk/alpine/libncursesw@6.6_p20260516-r0?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "libncursesw@6.6_p20260516-r0" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "ncurses" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "6.6_p20260516-r0" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/libnsl@2.0.1-r2?arch=x86_64&distro=3.24.1", + "type": "library", + "name": "libnsl", + "version": "2.0.1-r2", + "hashes": [ + { + "alg": "SHA-1", + "content": "5194adbf26560b52be318481a7af294ab05fd795" + } + ], + "licenses": [ + { + "license": { + "id": "LGPL-2.0-or-later" + } + } + ], + "purl": "pkg:apk/alpine/libnsl@2.0.1-r2?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "libnsl@2.0.1-r2" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "libnsl" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "2.0.1-r2" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/libpanelw@6.6_p20260516-r0?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Milan P. Stanić " + }, + "name": "libpanelw", + "version": "6.6_p20260516-r0", + "hashes": [ + { + "alg": "SHA-1", + "content": "149bdc434232ed11fc5bb975ba519a07154a6f56" + } + ], + "licenses": [ + { + "license": { + "name": "X-11" + } + } + ], + "purl": "pkg:apk/alpine/libpanelw@6.6_p20260516-r0?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "libpanelw@6.6_p20260516-r0" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "ncurses" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "6.6_p20260516-r0" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/libssl3@3.5.8-r0?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Natanael Copa " + }, + "name": "libssl3", + "version": "3.5.8-r0", + "hashes": [ + { + "alg": "SHA-1", + "content": "5f9b1e55d821953d2e2b1db322dad70a3b5041ea" + } + ], + "licenses": [ + { + "license": { + "id": "Apache-2.0" + } + } + ], + "purl": "pkg:apk/alpine/libssl3@3.5.8-r0?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "libssl3@3.5.8-r0" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "openssl" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "3.5.8-r0" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/libtirpc-conf@1.3.5-r1?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Natanael Copa " + }, + "name": "libtirpc-conf", + "version": "1.3.5-r1", + "hashes": [ + { + "alg": "SHA-1", + "content": "0c17d9988dc986c90e22f79778df047eca9973ff" + } + ], + "licenses": [ + { + "license": { + "id": "BSD-3-Clause" + } + } + ], + "purl": "pkg:apk/alpine/libtirpc-conf@1.3.5-r1?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "libtirpc-conf@1.3.5-r1" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "libtirpc" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "1.3.5-r1" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/libtirpc@1.3.5-r1?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Natanael Copa " + }, + "name": "libtirpc", + "version": "1.3.5-r1", + "hashes": [ + { + "alg": "SHA-1", + "content": "c32865bd86a8b8829d152279cabbc5ac6d430eb2" + } + ], + "licenses": [ + { + "license": { + "id": "BSD-3-Clause" + } + } + ], + "purl": "pkg:apk/alpine/libtirpc@1.3.5-r1?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "libtirpc@1.3.5-r1" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "libtirpc" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "1.3.5-r1" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/libuuid@2.42.3-r1?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Natanael Copa " + }, + "name": "libuuid", + "version": "2.42.3-r1", + "hashes": [ + { + "alg": "SHA-1", + "content": "8f041ef637ad75f381cc0c034f2afbbb0303264e" + } + ], + "licenses": [ + { + "license": { + "id": "BSD-3-Clause" + } + } + ], + "purl": "pkg:apk/alpine/libuuid@2.42.3-r1?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:f9b4a8a412a0c07a489e46fb5db41f9d0dc84d4ec38a4e2c6ab9531f44e0d9f1" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:f0fe3e08ab046c0c5e29d34ee73bc8c7e03398eb891e4498e0a67088a5ea3e86" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "libuuid@2.42.3-r1" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "util-linux" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "2.42.3-r1" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/libverto@0.3.2-r2?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Francesco Colista " + }, + "name": "libverto", + "version": "0.3.2-r2", + "hashes": [ + { + "alg": "SHA-1", + "content": "73233059338142e4ac6d8fb8bb0074e93da75dc1" + } + ], + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "purl": "pkg:apk/alpine/libverto@0.3.2-r2?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "libverto@0.3.2-r2" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "libverto" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "0.3.2-r2" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/musl-utils@1.2.6-r2?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Natanael Copa " + }, + "name": "musl-utils", + "version": "1.2.6-r2", + "hashes": [ + { + "alg": "SHA-1", + "content": "75ada3c48d63ec5d87c42fdf934a3fdd11298dc5" + } + ], + "licenses": [ + { + "license": { + "id": "MIT" + } + }, + { + "license": { + "id": "BSD-2-Clause" + } + }, + { + "license": { + "id": "GPL-2.0-or-later" + } + } + ], + "purl": "pkg:apk/alpine/musl-utils@1.2.6-r2?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:55afa1ecc21d2bb5e5045f32dafee56272ffd89860bac26f6c32123439af26a4" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "musl-utils@1.2.6-r2" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "musl" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "1.2.6-r2" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Natanael Copa " + }, + "name": "musl", + "version": "1.2.6-r2", + "hashes": [ + { + "alg": "SHA-1", + "content": "0f7e5827e4e1a73631beda27b78431a8ba240e05" + } + ], + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "purl": "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:55afa1ecc21d2bb5e5045f32dafee56272ffd89860bac26f6c32123439af26a4" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "musl@1.2.6-r2" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "musl" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "1.2.6-r2" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/ncurses-terminfo-base@6.6_p20260516-r0?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Milan P. Stanić " + }, + "name": "ncurses-terminfo-base", + "version": "6.6_p20260516-r0", + "hashes": [ + { + "alg": "SHA-1", + "content": "9d551d828e9c8ee52c5801c1d6046828ebf15752" + } + ], + "licenses": [ + { + "license": { + "name": "X-11" + } + } + ], + "purl": "pkg:apk/alpine/ncurses-terminfo-base@6.6_p20260516-r0?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "ncurses-terminfo-base@6.6_p20260516-r0" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "ncurses" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "6.6_p20260516-r0" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/readline@8.3.3-r1?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "qaqland " + }, + "name": "readline", + "version": "8.3.3-r1", + "hashes": [ + { + "alg": "SHA-1", + "content": "945b16e378bc00e44d89d4de8124bba7647fdf4d" + } + ], + "licenses": [ + { + "license": { + "id": "GPL-3.0-or-later" + } + } + ], + "purl": "pkg:apk/alpine/readline@8.3.3-r1?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "readline@8.3.3-r1" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "readline" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "8.3.3-r1" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/scanelf@1.3.9-r1?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Natanael Copa " + }, + "name": "scanelf", + "version": "1.3.9-r1", + "hashes": [ + { + "alg": "SHA-1", + "content": "013f903d0ba219673aebbdd04f74bb5ed82b01f0" + } + ], + "licenses": [ + { + "license": { + "id": "GPL-2.0-only" + } + } + ], + "purl": "pkg:apk/alpine/scanelf@1.3.9-r1?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:55afa1ecc21d2bb5e5045f32dafee56272ffd89860bac26f6c32123439af26a4" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "scanelf@1.3.9-r1" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "pax-utils" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "1.3.9-r1" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/sqlite-libs@3.53.4-r0?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Jingyun Hua " + }, + "name": "sqlite-libs", + "version": "3.53.4-r0", + "hashes": [ + { + "alg": "SHA-1", + "content": "f7630ceb37c232b6609861aeab6cdb9cd120e6fa" + } + ], + "licenses": [ + { + "license": { + "id": "blessing" + } + } + ], + "purl": "pkg:apk/alpine/sqlite-libs@3.53.4-r0?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "sqlite-libs@3.53.4-r0" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "sqlite" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "3.53.4-r0" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/ssl_client@1.37.0-r31?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Sören Tempel " + }, + "name": "ssl_client", + "version": "1.37.0-r31", + "hashes": [ + { + "alg": "SHA-1", + "content": "c220f4a5125a313af733e98def94132bb1e9d40d" + } + ], + "licenses": [ + { + "license": { + "id": "GPL-2.0-only" + } + } + ], + "purl": "pkg:apk/alpine/ssl_client@1.37.0-r31?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:55afa1ecc21d2bb5e5045f32dafee56272ffd89860bac26f6c32123439af26a4" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "ssl_client@1.37.0-r31" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "busybox" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "1.37.0-r31" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/tzdata@2026c-r0?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Natanael Copa " + }, + "name": "tzdata", + "version": "2026c-r0", + "hashes": [ + { + "alg": "SHA-1", + "content": "61f7544ecd8dd63eac23fe3e645702fda92ef02a" + } + ], + "licenses": [ + { + "license": { + "name": "Public-Domain" + } + } + ], + "purl": "pkg:apk/alpine/tzdata@2026c-r0?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:3ca4be2c6e9ac0223715355253725381000486c2b45bfcb22cf571b6a85a12dd" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:47393b668ce535d06e8967917d424c177e2ecccae83856d48b2e99164f8cc6cb" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "tzdata@2026c-r0" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "tzdata" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "2026c-r0" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/xz-libs@5.8.3-r0?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Natanael Copa " + }, + "name": "xz-libs", + "version": "5.8.3-r0", + "hashes": [ + { + "alg": "SHA-1", + "content": "4c92c5be0c5bef404e93c880eba9037a9b147347" + } + ], + "licenses": [ + { + "license": { + "id": "GPL-2.0-or-later" + } + }, + { + "license": { + "id": "0BSD" + } + }, + { + "license": { + "name": "Public-Domain" + } + }, + { + "license": { + "id": "LGPL-2.1-or-later" + } + } + ], + "purl": "pkg:apk/alpine/xz-libs@5.8.3-r0?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "xz-libs@5.8.3-r0" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "xz" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "5.8.3-r0" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/zlib@1.3.2-r0?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Natanael Copa " + }, + "name": "zlib", + "version": "1.3.2-r0", + "hashes": [ + { + "alg": "SHA-1", + "content": "dd4c3d102acaef2a71a1495951d55fabc8680613" + } + ], + "licenses": [ + { + "license": { + "id": "Zlib" + } + } + ], + "purl": "pkg:apk/alpine/zlib@1.3.2-r0?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:55afa1ecc21d2bb5e5045f32dafee56272ffd89860bac26f6c32123439af26a4" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "zlib@1.3.2-r0" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "zlib" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "1.3.2-r0" + } + ] + }, + { + "bom-ref": "pkg:pypi/cffi@2.1.1", + "type": "library", + "name": "cffi", + "version": "2.1.1", + "licenses": [ + { + "license": { + "id": "MIT-0" + } + } + ], + "purl": "pkg:pypi/cffi@2.1.1", + "properties": [ + { + "name": "aquasecurity:trivy:FilePath", + "value": "opt/venv/lib/python3.12/site-packages/cffi-2.1.1.dist-info/METADATA" + }, + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:648451a0dda84ad04681e32b5ecc7cd5d3a4f0ad84f783e9598d72bc69620d5c" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:82ff17b555d91096dd328eb1e829daaeba9a48d7757143d0b97c35a721f6fb87" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "python-pkg" + } + ] + }, + { + "bom-ref": "pkg:pypi/cryptography@50.0.1", + "type": "library", + "name": "cryptography", + "version": "50.0.1", + "licenses": [ + { + "expression": "Apache-2.0 OR BSD-3-Clause" + } + ], + "purl": "pkg:pypi/cryptography@50.0.1", + "properties": [ + { + "name": "aquasecurity:trivy:FilePath", + "value": "opt/venv/lib/python3.12/site-packages/cryptography-50.0.1.dist-info/METADATA" + }, + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:648451a0dda84ad04681e32b5ecc7cd5d3a4f0ad84f783e9598d72bc69620d5c" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:82ff17b555d91096dd328eb1e829daaeba9a48d7757143d0b97c35a721f6fb87" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "python-pkg" + } + ] + }, + { + "bom-ref": "pkg:pypi/informed-decision@0.2.0", + "type": "library", + "name": "informed-decision", + "version": "0.2.0", + "purl": "pkg:pypi/informed-decision@0.2.0", + "properties": [ + { + "name": "aquasecurity:trivy:FilePath", + "value": "opt/venv/lib/python3.12/site-packages/informed_decision-0.2.0.dist-info/METADATA" + }, + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:648451a0dda84ad04681e32b5ecc7cd5d3a4f0ad84f783e9598d72bc69620d5c" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:82ff17b555d91096dd328eb1e829daaeba9a48d7757143d0b97c35a721f6fb87" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "python-pkg" + } + ] + }, + { + "bom-ref": "pkg:pypi/pycparser@3.0", + "type": "library", + "name": "pycparser", + "version": "3.0", + "licenses": [ + { + "license": { + "id": "BSD-3-Clause" + } + } + ], + "purl": "pkg:pypi/pycparser@3.0", + "properties": [ + { + "name": "aquasecurity:trivy:FilePath", + "value": "opt/venv/lib/python3.12/site-packages/pycparser-3.0.dist-info/METADATA" + }, + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:648451a0dda84ad04681e32b5ecc7cd5d3a4f0ad84f783e9598d72bc69620d5c" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:82ff17b555d91096dd328eb1e829daaeba9a48d7757143d0b97c35a721f6fb87" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "python-pkg" + } + ] + }, + { + "bom-ref": "pkg:pypi/pyjwt@2.15.1", + "type": "library", + "name": "PyJWT", + "version": "2.15.1", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "purl": "pkg:pypi/pyjwt@2.15.1", + "properties": [ + { + "name": "aquasecurity:trivy:FilePath", + "value": "opt/venv/lib/python3.12/site-packages/pyjwt-2.15.1.dist-info/METADATA" + }, + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:648451a0dda84ad04681e32b5ecc7cd5d3a4f0ad84f783e9598d72bc69620d5c" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:82ff17b555d91096dd328eb1e829daaeba9a48d7757143d0b97c35a721f6fb87" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "python-pkg" + } + ] + }, + { + "bom-ref": "pkg:pypi/waitress@3.0.2", + "type": "library", + "name": "waitress", + "version": "3.0.2", + "licenses": [ + { + "license": { + "id": "ZPL-2.1" + } + } + ], + "purl": "pkg:pypi/waitress@3.0.2", + "properties": [ + { + "name": "aquasecurity:trivy:FilePath", + "value": "opt/venv/lib/python3.12/site-packages/waitress-3.0.2.dist-info/METADATA" + }, + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:648451a0dda84ad04681e32b5ecc7cd5d3a4f0ad84f783e9598d72bc69620d5c" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:82ff17b555d91096dd328eb1e829daaeba9a48d7757143d0b97c35a721f6fb87" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "python-pkg" + } + ] + } + ], + "dependencies": [ + { + "ref": "65b030f2-ac92-4cbc-a6e6-f92890b5a5f5", + "dependsOn": [ + "pkg:apk/alpine/.python-rundeps@20260901.001029?arch=noarch&distro=3.24.1", + "pkg:apk/alpine/alpine-baselayout@3.7.2-r1?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/alpine-release@3.24.1-r0?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/apk-tools@3.0.6-r0?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/ca-certificates@20260611-r0?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/musl-utils@1.2.6-r2?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/ssl_client@1.37.0-r31?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/tzdata@2026c-r0?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "72113269-9efb-4c6a-a07f-752a12125747", + "dependsOn": [ + "65b030f2-ac92-4cbc-a6e6-f92890b5a5f5", + "pkg:pypi/cffi@2.1.1", + "pkg:pypi/cryptography@50.0.1", + "pkg:pypi/informed-decision@0.2.0", + "pkg:pypi/pycparser@3.0", + "pkg:pypi/pyjwt@2.15.1", + "pkg:pypi/waitress@3.0.2" + ] + }, + { + "ref": "pkg:apk/alpine/.python-rundeps@20260901.001029?arch=noarch&distro=3.24.1", + "dependsOn": [ + "pkg:apk/alpine/gdbm@1.26-r0?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/libbz2@1.0.8-r6?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/libcrypto3@3.5.8-r0?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/libffi@3.5.2-r1?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/libncursesw@6.6_p20260516-r0?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/libnsl@2.0.1-r2?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/libpanelw@6.6_p20260516-r0?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/libssl3@3.5.8-r0?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/libtirpc@1.3.5-r1?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/libuuid@2.42.3-r1?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/readline@8.3.3-r1?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/sqlite-libs@3.53.4-r0?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/xz-libs@5.8.3-r0?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/zlib@1.3.2-r0?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:apk/alpine/alpine-baselayout-data@3.7.2-r1?arch=x86_64&distro=3.24.1", + "dependsOn": [] + }, + { + "ref": "pkg:apk/alpine/alpine-baselayout@3.7.2-r1?arch=x86_64&distro=3.24.1", + "dependsOn": [ + "pkg:apk/alpine/alpine-baselayout-data@3.7.2-r1?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/busybox-binsh@1.37.0-r31?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:apk/alpine/alpine-keys@2.6-r0?arch=x86_64&distro=3.24.1", + "dependsOn": [] + }, + { + "ref": "pkg:apk/alpine/alpine-release@3.24.1-r0?arch=x86_64&distro=3.24.1", + "dependsOn": [ + "pkg:apk/alpine/alpine-keys@2.6-r0?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:apk/alpine/apk-tools@3.0.6-r0?arch=x86_64&distro=3.24.1", + "dependsOn": [ + "pkg:apk/alpine/ca-certificates-bundle@20260611-r0?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/libapk@3.0.6-r0?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/libcrypto3@3.5.8-r0?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/zlib@1.3.2-r0?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:apk/alpine/busybox-binsh@1.37.0-r31?arch=x86_64&distro=3.24.1", + "dependsOn": [ + "pkg:apk/alpine/busybox@1.37.0-r31?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:apk/alpine/busybox@1.37.0-r31?arch=x86_64&distro=3.24.1", + "dependsOn": [ + "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:apk/alpine/ca-certificates-bundle@20260611-r0?arch=x86_64&distro=3.24.1", + "dependsOn": [] + }, + { + "ref": "pkg:apk/alpine/ca-certificates@20260611-r0?arch=x86_64&distro=3.24.1", + "dependsOn": [ + "pkg:apk/alpine/busybox-binsh@1.37.0-r31?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/libcrypto3@3.5.8-r0?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:apk/alpine/gdbm@1.26-r0?arch=x86_64&distro=3.24.1", + "dependsOn": [ + "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:apk/alpine/keyutils-libs@1.6.3-r4?arch=x86_64&distro=3.24.1", + "dependsOn": [ + "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:apk/alpine/krb5-conf@1.0-r2?arch=x86_64&distro=3.24.1", + "dependsOn": [] + }, + { + "ref": "pkg:apk/alpine/krb5-libs@1.22.2-r1?arch=x86_64&distro=3.24.1", + "dependsOn": [ + "pkg:apk/alpine/keyutils-libs@1.6.3-r4?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/krb5-conf@1.0-r2?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/libcom_err@1.47.4-r0?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/libcrypto3@3.5.8-r0?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/libssl3@3.5.8-r0?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/libverto@0.3.2-r2?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:apk/alpine/libapk@3.0.6-r0?arch=x86_64&distro=3.24.1", + "dependsOn": [ + "pkg:apk/alpine/libcrypto3@3.5.8-r0?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/libssl3@3.5.8-r0?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/zlib@1.3.2-r0?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:apk/alpine/libbz2@1.0.8-r6?arch=x86_64&distro=3.24.1", + "dependsOn": [ + "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:apk/alpine/libcom_err@1.47.4-r0?arch=x86_64&distro=3.24.1", + "dependsOn": [ + "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:apk/alpine/libcrypto3@3.5.8-r0?arch=x86_64&distro=3.24.1", + "dependsOn": [ + "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:apk/alpine/libffi@3.5.2-r1?arch=x86_64&distro=3.24.1", + "dependsOn": [ + "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:apk/alpine/libintl@1.0-r0?arch=x86_64&distro=3.24.1", + "dependsOn": [ + "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:apk/alpine/libncursesw@6.6_p20260516-r0?arch=x86_64&distro=3.24.1", + "dependsOn": [ + "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/ncurses-terminfo-base@6.6_p20260516-r0?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:apk/alpine/libnsl@2.0.1-r2?arch=x86_64&distro=3.24.1", + "dependsOn": [ + "pkg:apk/alpine/libintl@1.0-r0?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/libtirpc@1.3.5-r1?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:apk/alpine/libpanelw@6.6_p20260516-r0?arch=x86_64&distro=3.24.1", + "dependsOn": [ + "pkg:apk/alpine/libncursesw@6.6_p20260516-r0?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/ncurses-terminfo-base@6.6_p20260516-r0?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:apk/alpine/libssl3@3.5.8-r0?arch=x86_64&distro=3.24.1", + "dependsOn": [ + "pkg:apk/alpine/libcrypto3@3.5.8-r0?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:apk/alpine/libtirpc-conf@1.3.5-r1?arch=x86_64&distro=3.24.1", + "dependsOn": [] + }, + { + "ref": "pkg:apk/alpine/libtirpc@1.3.5-r1?arch=x86_64&distro=3.24.1", + "dependsOn": [ + "pkg:apk/alpine/krb5-libs@1.22.2-r1?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/libtirpc-conf@1.3.5-r1?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:apk/alpine/libuuid@2.42.3-r1?arch=x86_64&distro=3.24.1", + "dependsOn": [ + "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:apk/alpine/libverto@0.3.2-r2?arch=x86_64&distro=3.24.1", + "dependsOn": [ + "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:apk/alpine/musl-utils@1.2.6-r2?arch=x86_64&distro=3.24.1", + "dependsOn": [ + "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/scanelf@1.3.9-r1?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1", + "dependsOn": [] + }, + { + "ref": "pkg:apk/alpine/ncurses-terminfo-base@6.6_p20260516-r0?arch=x86_64&distro=3.24.1", + "dependsOn": [] + }, + { + "ref": "pkg:apk/alpine/readline@8.3.3-r1?arch=x86_64&distro=3.24.1", + "dependsOn": [ + "pkg:apk/alpine/libncursesw@6.6_p20260516-r0?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:apk/alpine/scanelf@1.3.9-r1?arch=x86_64&distro=3.24.1", + "dependsOn": [ + "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:apk/alpine/sqlite-libs@3.53.4-r0?arch=x86_64&distro=3.24.1", + "dependsOn": [ + "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:apk/alpine/ssl_client@1.37.0-r31?arch=x86_64&distro=3.24.1", + "dependsOn": [ + "pkg:apk/alpine/libcrypto3@3.5.8-r0?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/libssl3@3.5.8-r0?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:apk/alpine/tzdata@2026c-r0?arch=x86_64&distro=3.24.1", + "dependsOn": [] + }, + { + "ref": "pkg:apk/alpine/xz-libs@5.8.3-r0?arch=x86_64&distro=3.24.1", + "dependsOn": [ + "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:apk/alpine/zlib@1.3.2-r0?arch=x86_64&distro=3.24.1", + "dependsOn": [ + "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:pypi/cffi@2.1.1", + "dependsOn": [] + }, + { + "ref": "pkg:pypi/cryptography@50.0.1", + "dependsOn": [] + }, + { + "ref": "pkg:pypi/informed-decision@0.2.0", + "dependsOn": [] + }, + { + "ref": "pkg:pypi/pycparser@3.0", + "dependsOn": [] + }, + { + "ref": "pkg:pypi/pyjwt@2.15.1", + "dependsOn": [] + }, + { + "ref": "pkg:pypi/waitress@3.0.2", + "dependsOn": [] + } + ], + "vulnerabilities": [ + { + "id": "CVE-2026-85091", + "source": { + "name": "alpine", + "url": "https://secdb.alpinelinux.org/" + }, + "ratings": [ + { + "source": { + "name": "ubuntu" + }, + "severity": "medium" + } + ], + "cwes": [ + 787 + ], + "description": "zlib versions 1.3.1.2 through 1.3.2 contain a heap buffer overflow vulnerability in the gz_vacate() function when processing non-blocking gzwrite() operations with stale external buffer pointers. Attackers can trigger the overflow by calling gzprintf() or gzvprintf() after a write stall, causing an unchecked memmove() to write beyond the internal input buffer boundary.", + "recommendation": "Upgrade zlib to version 1.3.2-r1", + "advisories": [ + { + "url": "https://avd.aquasec.com/nvd/cve-2026-85091" + }, + { + "url": "https://gist.github.com/thesmartshadow/e0b9481792afb7c31e86fee1ff084490" + }, + { + "url": "https://github.com/madler/zlib" + }, + { + "url": "https://github.com/madler/zlib/blob/v1.3.2/gzwrite.c#L393" + }, + { + "url": "https://www.cve.org/CVERecord?id=CVE-2026-85091" + }, + { + "url": "https://www.vulncheck.com/advisories/zlib-1.3.1.2-through-1.3.2-heap-buffer-overflow-via-gz-vacate" + } + ], + "published": "2026-09-03T13:06:20+00:00", + "updated": "2026-09-09T20:41:07+00:00", + "affects": [ + { + "ref": "pkg:apk/alpine/zlib@1.3.2-r0?arch=x86_64&distro=3.24.1", + "versions": [ + { + "version": "1.3.2-r0", + "status": "affected" + } + ] + } + ] + } + ] +} diff --git a/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/base-trivy-full.json b/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/base-trivy-full.json new file mode 100644 index 0000000..3c4ff89 --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/base-trivy-full.json @@ -0,0 +1,2387 @@ +{ + "SchemaVersion": 2, + "Trivy": { + "Version": "0.74.0" + }, + "ReportID": "01a129db-cdaf-7437-981b-0d63c6d47346", + "CreatedAt": "2026-10-11T07:27:13.327278878Z", + "ArtifactID": "sha256:f34de21379c4f50ea0361ca1d8296c8e72f989499ad288016b81204997ae4779", + "ArtifactName": "/artifact/base-image.tar", + "ArtifactType": "container_image", + "Metadata": { + "Size": 88258048, + "OS": { + "Family": "alpine", + "Name": "3.24.1" + }, + "ImageID": "sha256:f34de21379c4f50ea0361ca1d8296c8e72f989499ad288016b81204997ae4779", + "DiffIDs": [ + "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c", + "sha256:3ca4be2c6e9ac0223715355253725381000486c2b45bfcb22cf571b6a85a12dd", + "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366", + "sha256:4098ad033525263f92a8a9c51865596025d47018e078c0b1f7d9cd5663fc1ffe", + "sha256:f9b4a8a412a0c07a489e46fb5db41f9d0dc84d4ec38a4e2c6ab9531f44e0d9f1", + "sha256:648451a0dda84ad04681e32b5ecc7cd5d3a4f0ad84f783e9598d72bc69620d5c", + "sha256:361430a1113969743b99e237b20f023d5497493bcf96fb91af99ac0a0dbc4a59", + "sha256:cfc5939674d67f60b4411c24dfcde5622b712eeb7376cd0941a2751da80a6b02", + "sha256:21ff9188cb29ca95fe9be11355f70ab5586e8499e33b52a253d953fb3b75aea3" + ], + "ImageConfig": { + "architecture": "amd64", + "created": "2026-10-11T01:21:04.787527697Z", + "docker_version": "27.5.1", + "history": [ + { + "created": "2026-06-16T00:01:29.967161902Z", + "created_by": "ADD alpine-minirootfs-3.24.1-x86_64.tar.gz / # buildkit", + "comment": "buildkit.dockerfile.v0" + }, + { + "created": "2026-06-16T00:01:29.967161902Z", + "created_by": "CMD [\"/bin/sh\"]", + "comment": "buildkit.dockerfile.v0", + "empty_layer": true + }, + { + "created": "2026-09-01T00:05:24.224544843Z", + "created_by": "ENV PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", + "comment": "buildkit.dockerfile.v0", + "empty_layer": true + }, + { + "created": "2026-09-01T00:05:24.224544843Z", + "created_by": "ENV LANG=C.UTF-8", + "comment": "buildkit.dockerfile.v0", + "empty_layer": true + }, + { + "created": "2026-09-01T00:05:24.224544843Z", + "created_by": "RUN /bin/sh -c set -eux; \tapk add --no-cache \t\tca-certificates \t\ttzdata \t; # buildkit", + "comment": "buildkit.dockerfile.v0" + }, + { + "created": "2026-09-01T00:05:24.224544843Z", + "created_by": "ENV GPG_KEY=7169605F62C751356D054A26A821E680E5FA6305", + "comment": "buildkit.dockerfile.v0", + "empty_layer": true + }, + { + "created": "2026-09-01T00:05:24.224544843Z", + "created_by": "ENV PYTHON_VERSION=3.12.14", + "comment": "buildkit.dockerfile.v0", + "empty_layer": true + }, + { + "created": "2026-09-01T00:05:24.224544843Z", + "created_by": "ENV PYTHON_SHA256=5c8462af5790baf43a321a1559dbe0db06d1be4300fb85fb53c40060668e548a", + "comment": "buildkit.dockerfile.v0", + "empty_layer": true + }, + { + "created": "2026-09-01T00:10:30.672225972Z", + "created_by": "RUN /bin/sh -c set -eux; \t\tapk add --no-cache --virtual .build-deps \t\tbluez-dev \t\tbzip2-dev \t\tdpkg-dev dpkg \t\tfindutils \t\tg++ \t\tgcc \t\tgdbm-dev \t\tgnupg \t\tlibc-dev \t\tlibffi-dev \t\tlibnsl-dev \t\tlibtirpc-dev \t\tlinux-headers \t\tmake \t\tncurses-dev \t\topenssl-dev \t\tpax-utils \t\treadline-dev \t\tsqlite-dev \t\ttar \t\ttcl-dev \t\ttk \t\ttk-dev \t\tutil-linux-dev \t\txz \t\txz-dev \t\tzlib-dev \t; \t\twget -O python.tar.xz \"https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz\"; \techo \"$PYTHON_SHA256 *python.tar.xz\" | sha256sum -c -; \twget -O python.tar.xz.asc \"https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz.asc\"; \tGNUPGHOME=\"$(mktemp -d)\"; export GNUPGHOME; \tgpg --batch --keyserver hkps://keys.openpgp.org --recv-keys \"$GPG_KEY\"; \tgpg --batch --verify python.tar.xz.asc python.tar.xz; \tgpgconf --kill all; \trm -rf \"$GNUPGHOME\" python.tar.xz.asc; \tmkdir -p /usr/src/python; \ttar --extract --directory /usr/src/python --strip-components=1 --file python.tar.xz; \trm python.tar.xz; \t\tcd /usr/src/python; \tgnuArch=\"$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)\"; \t./configure \t\t--build=\"$gnuArch\" \t\t--enable-loadable-sqlite-extensions \t\t--enable-option-checking=fatal \t\t--enable-shared \t\t$(test \"${gnuArch%%-*}\" != 'riscv64' \u0026\u0026 echo '--with-lto') \t\t--with-ensurepip \t; \tnproc=\"$(nproc)\"; \tEXTRA_CFLAGS=\"-DTHREAD_STACK_SIZE=0x100000\"; \tLDFLAGS=\"${LDFLAGS:-} -Wl,--strip-all\"; \tarch=\"$(apk --print-arch)\"; \tcase \"$arch\" in \t\tx86_64|aarch64) \t\t\tEXTRA_CFLAGS=\"${EXTRA_CFLAGS:-} -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer\"; \t\t\t;; \t\tx86) \t\t\t;; \t\t*) \t\t\tEXTRA_CFLAGS=\"${EXTRA_CFLAGS:-} -fno-omit-frame-pointer\"; \t\t\t;; \tesac; \tmake -j \"$nproc\" \t\t\"EXTRA_CFLAGS=${EXTRA_CFLAGS:-}\" \t\t\"LDFLAGS=${LDFLAGS:-}\" \t; \trm python; \tmake -j \"$nproc\" \t\t\"EXTRA_CFLAGS=${EXTRA_CFLAGS:-}\" \t\t\"LDFLAGS=${LDFLAGS:-} -Wl,-rpath='\\$\\$ORIGIN/../lib'\" \t\tpython \t; \tmake install; \t\tcd /; \trm -rf /usr/src/python; \t\tfind /usr/local -depth \t\t\\( \t\t\t\\( -type d -a \\( -name test -o -name tests -o -name idle_test \\) \\) \t\t\t-o \\( -type f -a \\( -name '*.pyc' -o -name '*.pyo' -o -name 'libpython*.a' \\) \\) \t\t\\) -exec rm -rf '{}' + \t; \t\tfind /usr/local -type f -executable -not \\( -name '*tkinter*' \\) -exec scanelf --needed --nobanner --format '%n#p' '{}' ';' \t\t| tr ',' '\\n' \t\t| sort -u \t\t| awk 'system(\"[ -e /usr/local/lib/\" $1 \" ]\") == 0 { next } { print \"so:\" $1 }' \t\t| xargs -rt apk add --no-network --virtual .python-rundeps \t; \tapk del --no-network .build-deps; \t\texport PYTHONDONTWRITEBYTECODE=1; \tpython3 --version; \tpip3 --version # buildkit", + "comment": "buildkit.dockerfile.v0" + }, + { + "created": "2026-09-01T00:10:30.782726003Z", + "created_by": "RUN /bin/sh -c set -eux; \tfor src in idle3 pip3 pydoc3 python3 python3-config; do \t\tdst=\"$(echo \"$src\" | tr -d 3)\"; \t\t[ -s \"/usr/local/bin/$src\" ]; \t\t[ ! -e \"/usr/local/bin/$dst\" ]; \t\tln -svT \"$src\" \"/usr/local/bin/$dst\"; \tdone # buildkit", + "comment": "buildkit.dockerfile.v0" + }, + { + "created": "2026-09-01T00:10:30.782726003Z", + "created_by": "CMD [\"python3\"]", + "comment": "buildkit.dockerfile.v0", + "empty_layer": true + }, + { + "created": "2026-09-11T00:49:47.962156876+02:00", + "created_by": "ENV PYTHONDONTWRITEBYTECODE=1 PYTHONUNBUFFERED=1 PATH=/opt/venv/bin:/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", + "comment": "buildkit.dockerfile.v0", + "empty_layer": true + }, + { + "created": "2026-09-11T00:49:47.962156876+02:00", + "created_by": "RUN /bin/sh -c apk add --no-cache 'libuuid\u003e=2.42.3-r1' \u0026\u0026 addgroup -S -g 10001 informed \u0026\u0026 adduser -S -u 10001 -G informed -H informed # buildkit", + "comment": "buildkit.dockerfile.v0" + }, + { + "created": "2026-10-05T01:03:55.351944978+02:00", + "created_by": "COPY /opt/venv /opt/venv # buildkit", + "comment": "buildkit.dockerfile.v0" + }, + { + "created": "2026-10-05T01:03:56.462092072+02:00", + "created_by": "RUN /bin/sh -c rm -rf /usr/local/bin/pip* /usr/local/lib/python3.12/site-packages/pip* /usr/local/lib/python3.12/site-packages/setuptools* /usr/local/lib/python3.12/site-packages/pkg_resources /opt/venv/bin/pip* /opt/venv/lib/python3.12/site-packages/pip* /opt/venv/lib/python3.12/site-packages/setuptools* /opt/venv/lib/python3.12/site-packages/pkg_resources # buildkit", + "comment": "buildkit.dockerfile.v0" + }, + { + "created": "2026-10-05T01:03:56.675216821+02:00", + "created_by": "WORKDIR /app", + "comment": "buildkit.dockerfile.v0" + }, + { + "created": "2026-10-05T01:03:56.675216821+02:00", + "created_by": "USER 10001:10001", + "comment": "buildkit.dockerfile.v0", + "empty_layer": true + }, + { + "created": "2026-10-05T01:03:56.675216821+02:00", + "created_by": "EXPOSE [8080/tcp 8081/tcp]", + "comment": "buildkit.dockerfile.v0", + "empty_layer": true + }, + { + "created": "2026-10-05T01:03:56.675216821+02:00", + "created_by": "ENTRYPOINT [\"informed-decision-container\"]", + "comment": "buildkit.dockerfile.v0", + "empty_layer": true + }, + { + "created": "2026-10-11T01:15:11.991443676Z", + "created_by": "/bin/sh -c #(nop) ARG SOURCE_REVISION", + "empty_layer": true + }, + { + "created": "2026-10-11T01:21:04.716126392Z", + "created_by": "/bin/sh -c #(nop) LABEL org.opencontainers.image.revision=3e4bcb26f8eeaa8c64345c565477b5ac8ccbb168 org.opencontainers.image.base.digest=sha256:7f5c6cb29c9f70a026bfe30e72934274ddc69261676cf6d476f81dd32812d173 social.coulomb.source.policy.sha256=9d7c1be4cb6199d14ef0aaead5f85951f45b0ccbd7c800a7fde922a253566b62 social.coulomb.release.scope=INFD-WP-0009-T04/purpose-overlay-v1", + "empty_layer": true + }, + { + "created": "2026-10-11T01:21:04.787527697Z", + "created_by": "/bin/sh -c #(nop) COPY file:2be9cb36e7253e15733673359cda8caa22986b6888822a008c1b360d909994e0 in /opt/venv/lib/python3.12/site-packages/informed_decision/policy.py " + } + ], + "os": "linux", + "rootfs": { + "type": "layers", + "diff_ids": [ + "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c", + "sha256:3ca4be2c6e9ac0223715355253725381000486c2b45bfcb22cf571b6a85a12dd", + "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366", + "sha256:4098ad033525263f92a8a9c51865596025d47018e078c0b1f7d9cd5663fc1ffe", + "sha256:f9b4a8a412a0c07a489e46fb5db41f9d0dc84d4ec38a4e2c6ab9531f44e0d9f1", + "sha256:648451a0dda84ad04681e32b5ecc7cd5d3a4f0ad84f783e9598d72bc69620d5c", + "sha256:361430a1113969743b99e237b20f023d5497493bcf96fb91af99ac0a0dbc4a59", + "sha256:cfc5939674d67f60b4411c24dfcde5622b712eeb7376cd0941a2751da80a6b02", + "sha256:21ff9188cb29ca95fe9be11355f70ab5586e8499e33b52a253d953fb3b75aea3" + ] + }, + "config": { + "Entrypoint": [ + "informed-decision-container" + ], + "Env": [ + "PATH=/opt/venv/bin:/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", + "LANG=C.UTF-8", + "GPG_KEY=7169605F62C751356D054A26A821E680E5FA6305", + "PYTHON_VERSION=3.12.14", + "PYTHON_SHA256=5c8462af5790baf43a321a1559dbe0db06d1be4300fb85fb53c40060668e548a", + "PYTHONDONTWRITEBYTECODE=1", + "PYTHONUNBUFFERED=1" + ], + "Image": "sha256:90f1574f9eda35fa6cb972961beb27a7cb904c36560e381930b0e14065c23883", + "Labels": { + "org.opencontainers.image.base.digest": "sha256:7f5c6cb29c9f70a026bfe30e72934274ddc69261676cf6d476f81dd32812d173", + "org.opencontainers.image.revision": "3e4bcb26f8eeaa8c64345c565477b5ac8ccbb168", + "social.coulomb.release.scope": "INFD-WP-0009-T04/purpose-overlay-v1", + "social.coulomb.source.policy.sha256": "9d7c1be4cb6199d14ef0aaead5f85951f45b0ccbd7c800a7fde922a253566b62" + }, + "User": "10001:10001", + "WorkingDir": "/app", + "ExposedPorts": { + "8080/tcp": {}, + "8081/tcp": {} + } + } + }, + "Layers": [ + { + "Size": 8697856, + "Digest": "sha256:55afa1ecc21d2bb5e5045f32dafee56272ffd89860bac26f6c32123439af26a4", + "DiffID": "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c" + }, + { + "Size": 1538048, + "Digest": "sha256:47393b668ce535d06e8967917d424c177e2ecccae83856d48b2e99164f8cc6cb", + "DiffID": "sha256:3ca4be2c6e9ac0223715355253725381000486c2b45bfcb22cf571b6a85a12dd" + }, + { + "Size": 47150592, + "Digest": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235", + "DiffID": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + { + "Size": 5120, + "Digest": "sha256:ed62c91ccd94e36a928e96d704cfcf20861302590245cc12aa89a15a5d6be29b", + "DiffID": "sha256:4098ad033525263f92a8a9c51865596025d47018e078c0b1f7d9cd5663fc1ffe" + }, + { + "Size": 131584, + "Digest": "sha256:f0fe3e08ab046c0c5e29d34ee73bc8c7e03398eb891e4498e0a67088a5ea3e86", + "DiffID": "sha256:f9b4a8a412a0c07a489e46fb5db41f9d0dc84d4ec38a4e2c6ab9531f44e0d9f1" + }, + { + "Size": 30705664, + "Digest": "sha256:82ff17b555d91096dd328eb1e829daaeba9a48d7757143d0b97c35a721f6fb87", + "DiffID": "sha256:648451a0dda84ad04681e32b5ecc7cd5d3a4f0ad84f783e9598d72bc69620d5c" + }, + { + "Size": 12288, + "Digest": "sha256:16a3dba6b720d3059eab918cd3596f94145ac9cf4d456f925a21f0f72522863f", + "DiffID": "sha256:361430a1113969743b99e237b20f023d5497493bcf96fb91af99ac0a0dbc4a59" + }, + { + "Size": 1536, + "Digest": "sha256:e73dd464fbff5607cc62a1b2b66b0eefe737dfad4db8e7b58a48cda7c12d94d3", + "DiffID": "sha256:cfc5939674d67f60b4411c24dfcde5622b712eeb7376cd0941a2751da80a6b02" + }, + { + "Size": 15360, + "Digest": "sha256:cfee29c2f8119d2a39714ecbe5095a2dc1c986054f2e1fe0a6565163242417e3", + "DiffID": "sha256:21ff9188cb29ca95fe9be11355f70ab5586e8499e33b52a253d953fb3b75aea3" + } + ] + }, + "Results": [ + { + "Target": "/artifact/base-image.tar (alpine 3.24.1)", + "Class": "os-pkgs", + "Type": "alpine", + "Packages": [ + { + "ID": ".python-rundeps@20260901.001029", + "Name": ".python-rundeps", + "Identifier": { + "PURL": "pkg:apk/alpine/.python-rundeps@20260901.001029?arch=noarch\u0026distro=3.24.1", + "UID": "4e26c99fecac1e97" + }, + "Version": "20260901.001029", + "Arch": "noarch", + "DependsOn": [ + "gdbm@1.26-r0", + "libbz2@1.0.8-r6", + "libcrypto3@3.5.8-r0", + "libffi@3.5.2-r1", + "libncursesw@6.6_p20260516-r0", + "libnsl@2.0.1-r2", + "libpanelw@6.6_p20260516-r0", + "libssl3@3.5.8-r0", + "libtirpc@1.3.5-r1", + "libuuid@2.42.3-r1", + "musl@1.2.6-r2", + "readline@8.3.3-r1", + "sqlite-libs@3.53.4-r0", + "xz-libs@5.8.3-r0", + "zlib@1.3.2-r0" + ], + "Layer": { + "Digest": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235", + "DiffID": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + "Digest": "sha1:51d0c1e7d88a414345799f0309185c625013ef32", + "AnalyzedBy": "apk" + }, + { + "ID": "alpine-baselayout@3.7.2-r1", + "Name": "alpine-baselayout", + "Identifier": { + "PURL": "pkg:apk/alpine/alpine-baselayout@3.7.2-r1?arch=x86_64\u0026distro=3.24.1", + "UID": "1b9c543300f8073e" + }, + "Version": "3.7.2-r1", + "Arch": "x86_64", + "SrcName": "alpine-baselayout", + "SrcVersion": "3.7.2-r1", + "Licenses": [ + "GPL-2.0-only" + ], + "Maintainer": "Natanael Copa \u003cncopa@alpinelinux.org\u003e", + "DependsOn": [ + "alpine-baselayout-data@3.7.2-r1", + "busybox-binsh@1.37.0-r31" + ], + "Layer": { + "Digest": "sha256:55afa1ecc21d2bb5e5045f32dafee56272ffd89860bac26f6c32123439af26a4", + "DiffID": "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c" + }, + "Digest": "sha1:f0fcfdc2f4da058af6473bc45c4eab62916225b2", + "InstalledFiles": [ + "etc/motd", + "etc/crontabs/root", + "etc/modprobe.d/aliases.conf", + "etc/modprobe.d/blacklist.conf", + "etc/modprobe.d/i386.conf", + "etc/profile.d/20locale.sh", + "etc/profile.d/README", + "etc/profile.d/color_prompt.sh.disabled", + "usr/lib/sysctl.d/00-alpine.conf", + "var/lock", + "var/run", + "var/spool/mail", + "var/spool/cron/crontabs" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "alpine-baselayout-data@3.7.2-r1", + "Name": "alpine-baselayout-data", + "Identifier": { + "PURL": "pkg:apk/alpine/alpine-baselayout-data@3.7.2-r1?arch=x86_64\u0026distro=3.24.1", + "UID": "fcc3cd90122d8aa7" + }, + "Version": "3.7.2-r1", + "Arch": "x86_64", + "SrcName": "alpine-baselayout", + "SrcVersion": "3.7.2-r1", + "Licenses": [ + "GPL-2.0-only" + ], + "Maintainer": "Natanael Copa \u003cncopa@alpinelinux.org\u003e", + "Layer": { + "Digest": "sha256:55afa1ecc21d2bb5e5045f32dafee56272ffd89860bac26f6c32123439af26a4", + "DiffID": "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c" + }, + "Digest": "sha1:c6f9bded17d844b6f1b0bb5766d2c35c0d5c8508", + "InstalledFiles": [ + "etc/fstab", + "etc/group", + "etc/hostname", + "etc/hosts", + "etc/inittab", + "etc/modules", + "etc/mtab", + "etc/nsswitch.conf", + "etc/passwd", + "etc/profile", + "etc/protocols", + "etc/services", + "etc/shadow", + "etc/shells", + "etc/sysctl.conf" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "alpine-keys@2.6-r0", + "Name": "alpine-keys", + "Identifier": { + "PURL": "pkg:apk/alpine/alpine-keys@2.6-r0?arch=x86_64\u0026distro=3.24.1", + "UID": "cb1f6c8fa74713e0" + }, + "Version": "2.6-r0", + "Arch": "x86_64", + "SrcName": "alpine-keys", + "SrcVersion": "2.6-r0", + "Licenses": [ + "MIT" + ], + "Maintainer": "Natanael Copa \u003cncopa@alpinelinux.org\u003e", + "Layer": { + "Digest": "sha256:55afa1ecc21d2bb5e5045f32dafee56272ffd89860bac26f6c32123439af26a4", + "DiffID": "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c" + }, + "Digest": "sha1:d8d6b80e53c059a77e4915da78ba964f3ffea240", + "InstalledFiles": [ + "etc/apk/keys/alpine-devel@lists.alpinelinux.org-4a6a0840.rsa.pub", + "etc/apk/keys/alpine-devel@lists.alpinelinux.org-5261cecb.rsa.pub", + "etc/apk/keys/alpine-devel@lists.alpinelinux.org-6165ee59.rsa.pub", + "usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-4a6a0840.rsa.pub", + "usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-5243ef4b.rsa.pub", + "usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-524d27bb.rsa.pub", + "usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-5261cecb.rsa.pub", + "usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-58199dcc.rsa.pub", + "usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-58cbb476.rsa.pub", + "usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-58e4f17d.rsa.pub", + "usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-5e69ca50.rsa.pub", + "usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-60ac2099.rsa.pub", + "usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-6165ee59.rsa.pub", + "usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-61666e3f.rsa.pub", + "usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-616a9724.rsa.pub", + "usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-616abc23.rsa.pub", + "usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-616ac3bc.rsa.pub", + "usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-616adfeb.rsa.pub", + "usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-616ae350.rsa.pub", + "usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-616db30d.rsa.pub", + "usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-66ba20fe.rsa.pub", + "usr/share/apk/keys/aarch64/alpine-devel@lists.alpinelinux.org-58199dcc.rsa.pub", + "usr/share/apk/keys/aarch64/alpine-devel@lists.alpinelinux.org-616ae350.rsa.pub", + "usr/share/apk/keys/armhf/alpine-devel@lists.alpinelinux.org-524d27bb.rsa.pub", + "usr/share/apk/keys/armhf/alpine-devel@lists.alpinelinux.org-616a9724.rsa.pub", + "usr/share/apk/keys/armv7/alpine-devel@lists.alpinelinux.org-524d27bb.rsa.pub", + "usr/share/apk/keys/armv7/alpine-devel@lists.alpinelinux.org-616adfeb.rsa.pub", + "usr/share/apk/keys/loongarch64/alpine-devel@lists.alpinelinux.org-66ba20fe.rsa.pub", + "usr/share/apk/keys/mips64/alpine-devel@lists.alpinelinux.org-5e69ca50.rsa.pub", + "usr/share/apk/keys/ppc64le/alpine-devel@lists.alpinelinux.org-58cbb476.rsa.pub", + "usr/share/apk/keys/ppc64le/alpine-devel@lists.alpinelinux.org-616abc23.rsa.pub", + "usr/share/apk/keys/riscv64/alpine-devel@lists.alpinelinux.org-60ac2099.rsa.pub", + "usr/share/apk/keys/riscv64/alpine-devel@lists.alpinelinux.org-616db30d.rsa.pub", + "usr/share/apk/keys/s390x/alpine-devel@lists.alpinelinux.org-58e4f17d.rsa.pub", + "usr/share/apk/keys/s390x/alpine-devel@lists.alpinelinux.org-616ac3bc.rsa.pub", + "usr/share/apk/keys/x86/alpine-devel@lists.alpinelinux.org-4a6a0840.rsa.pub", + "usr/share/apk/keys/x86/alpine-devel@lists.alpinelinux.org-5243ef4b.rsa.pub", + "usr/share/apk/keys/x86/alpine-devel@lists.alpinelinux.org-61666e3f.rsa.pub", + "usr/share/apk/keys/x86_64/alpine-devel@lists.alpinelinux.org-4a6a0840.rsa.pub", + "usr/share/apk/keys/x86_64/alpine-devel@lists.alpinelinux.org-5261cecb.rsa.pub", + "usr/share/apk/keys/x86_64/alpine-devel@lists.alpinelinux.org-6165ee59.rsa.pub" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "alpine-release@3.24.1-r0", + "Name": "alpine-release", + "Identifier": { + "PURL": "pkg:apk/alpine/alpine-release@3.24.1-r0?arch=x86_64\u0026distro=3.24.1", + "UID": "6cfad6f36e1f31aa" + }, + "Version": "3.24.1-r0", + "Arch": "x86_64", + "SrcName": "alpine-base", + "SrcVersion": "3.24.1-r0", + "Licenses": [ + "MIT" + ], + "Maintainer": "Natanael Copa \u003cncopa@alpinelinux.org\u003e", + "DependsOn": [ + "alpine-keys@2.6-r0" + ], + "Layer": { + "Digest": "sha256:55afa1ecc21d2bb5e5045f32dafee56272ffd89860bac26f6c32123439af26a4", + "DiffID": "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c" + }, + "Digest": "sha1:bc6912a25cdc7733e0035ed509eceaa4026946e3", + "InstalledFiles": [ + "etc/alpine-release", + "etc/issue", + "etc/os-release", + "etc/secfixes.d/alpine", + "usr/lib/os-release" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "apk-tools@3.0.6-r0", + "Name": "apk-tools", + "Identifier": { + "PURL": "pkg:apk/alpine/apk-tools@3.0.6-r0?arch=x86_64\u0026distro=3.24.1", + "UID": "cb2633c883b17a04" + }, + "Version": "3.0.6-r0", + "Arch": "x86_64", + "SrcName": "apk-tools", + "SrcVersion": "3.0.6-r0", + "Licenses": [ + "GPL-2.0-only" + ], + "Maintainer": "Natanael Copa \u003cncopa@alpinelinux.org\u003e", + "DependsOn": [ + "ca-certificates-bundle@20260611-r0", + "libapk@3.0.6-r0", + "libcrypto3@3.5.8-r0", + "musl@1.2.6-r2", + "zlib@1.3.2-r0" + ], + "Layer": { + "Digest": "sha256:55afa1ecc21d2bb5e5045f32dafee56272ffd89860bac26f6c32123439af26a4", + "DiffID": "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c" + }, + "Digest": "sha1:043333589798a1f52e09ae63f026c6c8fa676d34", + "InstalledFiles": [ + "sbin/apk" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "busybox@1.37.0-r31", + "Name": "busybox", + "Identifier": { + "PURL": "pkg:apk/alpine/busybox@1.37.0-r31?arch=x86_64\u0026distro=3.24.1", + "UID": "771020c43c8440bf" + }, + "Version": "1.37.0-r31", + "Arch": "x86_64", + "SrcName": "busybox", + "SrcVersion": "1.37.0-r31", + "Licenses": [ + "GPL-2.0-only" + ], + "Maintainer": "Sören Tempel \u003csoeren+alpine@soeren-tempel.net\u003e", + "DependsOn": [ + "musl@1.2.6-r2" + ], + "Layer": { + "Digest": "sha256:55afa1ecc21d2bb5e5045f32dafee56272ffd89860bac26f6c32123439af26a4", + "DiffID": "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c" + }, + "Digest": "sha1:b5405ebc02f7dd8be95b6265c54b243d5456ab8f", + "InstalledFiles": [ + "bin/busybox", + "etc/securetty", + "etc/busybox-paths.d/busybox", + "etc/logrotate.d/acpid", + "etc/network/if-up.d/dad", + "etc/udhcpc/udhcpc.conf", + "usr/share/udhcpc/default.script" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "busybox-binsh@1.37.0-r31", + "Name": "busybox-binsh", + "Identifier": { + "PURL": "pkg:apk/alpine/busybox-binsh@1.37.0-r31?arch=x86_64\u0026distro=3.24.1", + "UID": "1ec8a3d5d2b63297" + }, + "Version": "1.37.0-r31", + "Arch": "x86_64", + "SrcName": "busybox", + "SrcVersion": "1.37.0-r31", + "Licenses": [ + "GPL-2.0-only" + ], + "Maintainer": "Sören Tempel \u003csoeren+alpine@soeren-tempel.net\u003e", + "DependsOn": [ + "busybox@1.37.0-r31" + ], + "Layer": { + "Digest": "sha256:55afa1ecc21d2bb5e5045f32dafee56272ffd89860bac26f6c32123439af26a4", + "DiffID": "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c" + }, + "Digest": "sha1:5cbd14acc6f1804c5bac6c77dc2c492f010b0fc7", + "InstalledFiles": [ + "bin/sh" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "ca-certificates@20260611-r0", + "Name": "ca-certificates", + "Identifier": { + "PURL": "pkg:apk/alpine/ca-certificates@20260611-r0?arch=x86_64\u0026distro=3.24.1", + "UID": "2a3c316ee83c6198" + }, + "Version": "20260611-r0", + "Arch": "x86_64", + "SrcName": "ca-certificates", + "SrcVersion": "20260611-r0", + "Licenses": [ + "MPL-2.0", + "MIT" + ], + "Maintainer": "Natanael Copa \u003cncopa@alpinelinux.org\u003e", + "DependsOn": [ + "busybox-binsh@1.37.0-r31", + "libcrypto3@3.5.8-r0", + "musl@1.2.6-r2" + ], + "Layer": { + "Digest": "sha256:47393b668ce535d06e8967917d424c177e2ecccae83856d48b2e99164f8cc6cb", + "DiffID": "sha256:3ca4be2c6e9ac0223715355253725381000486c2b45bfcb22cf571b6a85a12dd" + }, + "Digest": "sha1:8f2a04abeb54b331e2970a0a0dffb7bd6bdde567", + "InstalledFiles": [ + "etc/ca-certificates.conf", + "etc/apk/protected_paths.d/ca-certificates.list", + "etc/ca-certificates/update.d/certhash", + "usr/bin/c_rehash", + "usr/sbin/update-ca-certificates", + "usr/share/ca-certificates/mozilla/ACCVRAIZ1.crt", + "usr/share/ca-certificates/mozilla/AC_RAIZ_FNMT-RCM.crt", + "usr/share/ca-certificates/mozilla/AC_RAIZ_FNMT-RCM_SERVIDORES_SEGUROS.crt", + "usr/share/ca-certificates/mozilla/ANF_Secure_Server_Root_CA.crt", + "usr/share/ca-certificates/mozilla/Actalis_Authentication_Root_CA.crt", + "usr/share/ca-certificates/mozilla/Amazon_Root_CA_1.crt", + "usr/share/ca-certificates/mozilla/Amazon_Root_CA_2.crt", + "usr/share/ca-certificates/mozilla/Amazon_Root_CA_3.crt", + "usr/share/ca-certificates/mozilla/Amazon_Root_CA_4.crt", + "usr/share/ca-certificates/mozilla/Atos_TrustedRoot_2011.crt", + "usr/share/ca-certificates/mozilla/Atos_TrustedRoot_Root_CA_ECC_TLS_2021.crt", + "usr/share/ca-certificates/mozilla/Atos_TrustedRoot_Root_CA_RSA_TLS_2021.crt", + "usr/share/ca-certificates/mozilla/Autoridad_de_Certificacion_Firmaprofesional_CIF_A62634068.crt", + "usr/share/ca-certificates/mozilla/BJCA_Global_Root_CA1.crt", + "usr/share/ca-certificates/mozilla/BJCA_Global_Root_CA2.crt", + "usr/share/ca-certificates/mozilla/Buypass_Class_2_Root_CA.crt", + "usr/share/ca-certificates/mozilla/Buypass_Class_3_Root_CA.crt", + "usr/share/ca-certificates/mozilla/CA_Disig_Root_R2.crt", + "usr/share/ca-certificates/mozilla/CFCA_EV_ROOT.crt", + "usr/share/ca-certificates/mozilla/COMODO_ECC_Certification_Authority.crt", + "usr/share/ca-certificates/mozilla/COMODO_RSA_Certification_Authority.crt", + "usr/share/ca-certificates/mozilla/Certainly_Root_E1.crt", + "usr/share/ca-certificates/mozilla/Certainly_Root_R1.crt", + "usr/share/ca-certificates/mozilla/Certigna_Root_CA.crt", + "usr/share/ca-certificates/mozilla/Certum_EC-384_CA.crt", + "usr/share/ca-certificates/mozilla/Certum_Trusted_Network_CA.crt", + "usr/share/ca-certificates/mozilla/Certum_Trusted_Network_CA_2.crt", + "usr/share/ca-certificates/mozilla/Certum_Trusted_Root_CA.crt", + "usr/share/ca-certificates/mozilla/D-TRUST_BR_Root_CA_1_2020.crt", + "usr/share/ca-certificates/mozilla/D-TRUST_BR_Root_CA_2_2023.crt", + "usr/share/ca-certificates/mozilla/D-TRUST_EV_Root_CA_1_2020.crt", + "usr/share/ca-certificates/mozilla/D-TRUST_EV_Root_CA_2_2023.crt", + "usr/share/ca-certificates/mozilla/D-TRUST_Root_Class_3_CA_2_2009.crt", + "usr/share/ca-certificates/mozilla/D-TRUST_Root_Class_3_CA_2_EV_2009.crt", + "usr/share/ca-certificates/mozilla/DigiCert_Assured_ID_Root_G2.crt", + "usr/share/ca-certificates/mozilla/DigiCert_Assured_ID_Root_G3.crt", + "usr/share/ca-certificates/mozilla/DigiCert_Global_Root_G2.crt", + "usr/share/ca-certificates/mozilla/DigiCert_Global_Root_G3.crt", + "usr/share/ca-certificates/mozilla/DigiCert_TLS_ECC_P384_Root_G5.crt", + "usr/share/ca-certificates/mozilla/DigiCert_TLS_RSA4096_Root_G5.crt", + "usr/share/ca-certificates/mozilla/DigiCert_Trusted_Root_G4.crt", + "usr/share/ca-certificates/mozilla/GDCA_TrustAUTH_R5_ROOT.crt", + "usr/share/ca-certificates/mozilla/GTS_Root_R1.crt", + "usr/share/ca-certificates/mozilla/GTS_Root_R3.crt", + "usr/share/ca-certificates/mozilla/GTS_Root_R4.crt", + "usr/share/ca-certificates/mozilla/GlobalSign_ECC_Root_CA_-_R4.crt", + "usr/share/ca-certificates/mozilla/GlobalSign_ECC_Root_CA_-_R5.crt", + "usr/share/ca-certificates/mozilla/GlobalSign_Root_CA_-_R3.crt", + "usr/share/ca-certificates/mozilla/GlobalSign_Root_CA_-_R6.crt", + "usr/share/ca-certificates/mozilla/GlobalSign_Root_E46.crt", + "usr/share/ca-certificates/mozilla/GlobalSign_Root_R46.crt", + "usr/share/ca-certificates/mozilla/Go_Daddy_Root_Certificate_Authority_-_G2.crt", + "usr/share/ca-certificates/mozilla/HARICA_TLS_ECC_Root_CA_2021.crt", + "usr/share/ca-certificates/mozilla/HARICA_TLS_RSA_Root_CA_2021.crt", + "usr/share/ca-certificates/mozilla/Hellenic_Academic_and_Research_Institutions_ECC_RootCA_2015.crt", + "usr/share/ca-certificates/mozilla/Hellenic_Academic_and_Research_Institutions_RootCA_2015.crt", + "usr/share/ca-certificates/mozilla/HiPKI_Root_CA_-_G1.crt", + "usr/share/ca-certificates/mozilla/Hongkong_Post_Root_CA_3.crt", + "usr/share/ca-certificates/mozilla/ISRG_Root_X1.crt", + "usr/share/ca-certificates/mozilla/ISRG_Root_X2.crt", + "usr/share/ca-certificates/mozilla/IdenTrust_Commercial_Root_CA_1.crt", + "usr/share/ca-certificates/mozilla/IdenTrust_Public_Sector_Root_CA_1.crt", + "usr/share/ca-certificates/mozilla/Izenpe.com.crt", + "usr/share/ca-certificates/mozilla/Microsec_e-Szigno_Root_CA_2009.crt", + "usr/share/ca-certificates/mozilla/Microsoft_ECC_Root_Certificate_Authority_2017.crt", + "usr/share/ca-certificates/mozilla/Microsoft_RSA_Root_Certificate_Authority_2017.crt", + "usr/share/ca-certificates/mozilla/NAVER_Global_Root_Certification_Authority.crt", + "usr/share/ca-certificates/mozilla/NetLock_Arany_=Class_Gold=_Főtanúsítvány.crt", + "usr/share/ca-certificates/mozilla/OISTE_Server_Root_ECC_G1.crt", + "usr/share/ca-certificates/mozilla/OISTE_Server_Root_RSA_G1.crt", + "usr/share/ca-certificates/mozilla/OISTE_WISeKey_Global_Root_GB_CA.crt", + "usr/share/ca-certificates/mozilla/OISTE_WISeKey_Global_Root_GC_CA.crt", + "usr/share/ca-certificates/mozilla/QuoVadis_Root_CA_1_G3.crt", + "usr/share/ca-certificates/mozilla/QuoVadis_Root_CA_2_G3.crt", + "usr/share/ca-certificates/mozilla/QuoVadis_Root_CA_3_G3.crt", + "usr/share/ca-certificates/mozilla/SSL.com_EV_Root_Certification_Authority_ECC.crt", + "usr/share/ca-certificates/mozilla/SSL.com_EV_Root_Certification_Authority_RSA_R2.crt", + "usr/share/ca-certificates/mozilla/SSL.com_Root_Certification_Authority_ECC.crt", + "usr/share/ca-certificates/mozilla/SSL.com_Root_Certification_Authority_RSA.crt", + "usr/share/ca-certificates/mozilla/SSL.com_TLS_ECC_Root_CA_2022.crt", + "usr/share/ca-certificates/mozilla/SSL.com_TLS_RSA_Root_CA_2022.crt", + "usr/share/ca-certificates/mozilla/SZAFIR_ROOT_CA2.crt", + "usr/share/ca-certificates/mozilla/Sectigo_Public_Server_Authentication_Root_E46.crt", + "usr/share/ca-certificates/mozilla/Sectigo_Public_Server_Authentication_Root_R46.crt", + "usr/share/ca-certificates/mozilla/SecureSign_Root_CA14.crt", + "usr/share/ca-certificates/mozilla/SecureSign_Root_CA15.crt", + "usr/share/ca-certificates/mozilla/Security_Communication_ECC_RootCA1.crt", + "usr/share/ca-certificates/mozilla/Security_Communication_RootCA2.crt", + "usr/share/ca-certificates/mozilla/Starfield_Root_Certificate_Authority_-_G2.crt", + "usr/share/ca-certificates/mozilla/Starfield_Services_Root_Certificate_Authority_-_G2.crt", + "usr/share/ca-certificates/mozilla/SwissSign_RSA_TLS_Root_CA_2022_-_1.crt", + "usr/share/ca-certificates/mozilla/T-TeleSec_GlobalRoot_Class_2.crt", + "usr/share/ca-certificates/mozilla/T-TeleSec_GlobalRoot_Class_3.crt", + "usr/share/ca-certificates/mozilla/TUBITAK_Kamu_SM_SSL_Kok_Sertifikasi_-_Surum_1.crt", + "usr/share/ca-certificates/mozilla/TWCA_CYBER_Root_CA.crt", + "usr/share/ca-certificates/mozilla/TWCA_Global_Root_CA.crt", + "usr/share/ca-certificates/mozilla/TWCA_Root_Certification_Authority.crt", + "usr/share/ca-certificates/mozilla/Telekom_Security_TLS_ECC_Root_2020.crt", + "usr/share/ca-certificates/mozilla/Telekom_Security_TLS_RSA_Root_2023.crt", + "usr/share/ca-certificates/mozilla/Telia_Root_CA_v2.crt", + "usr/share/ca-certificates/mozilla/TrustAsia_Global_Root_CA_G3.crt", + "usr/share/ca-certificates/mozilla/TrustAsia_Global_Root_CA_G4.crt", + "usr/share/ca-certificates/mozilla/TrustAsia_TLS_ECC_Root_CA.crt", + "usr/share/ca-certificates/mozilla/TrustAsia_TLS_RSA_Root_CA.crt", + "usr/share/ca-certificates/mozilla/TunTrust_Root_CA.crt", + "usr/share/ca-certificates/mozilla/UCA_Extended_Validation_Root.crt", + "usr/share/ca-certificates/mozilla/UCA_Global_G2_Root.crt", + "usr/share/ca-certificates/mozilla/USERTrust_ECC_Certification_Authority.crt", + "usr/share/ca-certificates/mozilla/USERTrust_RSA_Certification_Authority.crt", + "usr/share/ca-certificates/mozilla/certSIGN_Root_CA_G2.crt", + "usr/share/ca-certificates/mozilla/e-Szigno_Root_CA_2017.crt", + "usr/share/ca-certificates/mozilla/e-Szigno_TLS_Root_CA_2023.crt", + "usr/share/ca-certificates/mozilla/ePKI_Root_Certification_Authority.crt", + "usr/share/ca-certificates/mozilla/emSign_ECC_Root_CA_-_C3.crt", + "usr/share/ca-certificates/mozilla/emSign_ECC_Root_CA_-_G3.crt", + "usr/share/ca-certificates/mozilla/emSign_Root_CA_-_C1.crt", + "usr/share/ca-certificates/mozilla/emSign_Root_CA_-_G1.crt", + "usr/share/ca-certificates/mozilla/vTrus_ECC_Root_CA.crt", + "usr/share/ca-certificates/mozilla/vTrus_Root_CA.crt" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "ca-certificates-bundle@20260611-r0", + "Name": "ca-certificates-bundle", + "Identifier": { + "PURL": "pkg:apk/alpine/ca-certificates-bundle@20260611-r0?arch=x86_64\u0026distro=3.24.1", + "UID": "20337c2ea28bef28" + }, + "Version": "20260611-r0", + "Arch": "x86_64", + "SrcName": "ca-certificates", + "SrcVersion": "20260611-r0", + "Licenses": [ + "MPL-2.0", + "MIT" + ], + "Maintainer": "Natanael Copa \u003cncopa@alpinelinux.org\u003e", + "Layer": { + "Digest": "sha256:55afa1ecc21d2bb5e5045f32dafee56272ffd89860bac26f6c32123439af26a4", + "DiffID": "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c" + }, + "Digest": "sha1:c9534a03750bdfae341f10969016090fc11febbd", + "InstalledFiles": [ + "etc/ssl/cert.pem", + "etc/ssl/certs/ca-certificates.crt", + "etc/ssl1.1/cert.pem", + "etc/ssl1.1/certs" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "gdbm@1.26-r0", + "Name": "gdbm", + "Identifier": { + "PURL": "pkg:apk/alpine/gdbm@1.26-r0?arch=x86_64\u0026distro=3.24.1", + "UID": "5eb1a3f86262ca77" + }, + "Version": "1.26-r0", + "Arch": "x86_64", + "SrcName": "gdbm", + "SrcVersion": "1.26-r0", + "Licenses": [ + "GPL-3.0-or-later" + ], + "Maintainer": "Natanael Copa \u003cncopa@alpinelinux.org\u003e", + "DependsOn": [ + "musl@1.2.6-r2" + ], + "Layer": { + "Digest": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235", + "DiffID": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + "Digest": "sha1:619493d8124fe49a8ee1d8f7a1372cf7e3977337", + "InstalledFiles": [ + "usr/lib/libgdbm.so.6", + "usr/lib/libgdbm.so.6.0.0", + "usr/lib/libgdbm_compat.so.4", + "usr/lib/libgdbm_compat.so.4.0.0" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "keyutils-libs@1.6.3-r4", + "Name": "keyutils-libs", + "Identifier": { + "PURL": "pkg:apk/alpine/keyutils-libs@1.6.3-r4?arch=x86_64\u0026distro=3.24.1", + "UID": "a1a29120eb342032" + }, + "Version": "1.6.3-r4", + "Arch": "x86_64", + "SrcName": "keyutils", + "SrcVersion": "1.6.3-r4", + "Licenses": [ + "GPL-2.0-or-later", + "LGPL-2.0-or-later" + ], + "Maintainer": "Natanael Copa \u003cncopa@alpinelinux.org\u003e", + "DependsOn": [ + "musl@1.2.6-r2" + ], + "Layer": { + "Digest": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235", + "DiffID": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + "Digest": "sha1:b7331c96f077fc3522ee4361a441d1097204cd90", + "InstalledFiles": [ + "usr/lib/libkeyutils.so.1", + "usr/lib/libkeyutils.so.1.10" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "krb5-conf@1.0-r2", + "Name": "krb5-conf", + "Identifier": { + "PURL": "pkg:apk/alpine/krb5-conf@1.0-r2?arch=x86_64\u0026distro=3.24.1", + "UID": "e7cf94ba8b6dbc33" + }, + "Version": "1.0-r2", + "Arch": "x86_64", + "SrcName": "krb5-conf", + "SrcVersion": "1.0-r2", + "Licenses": [ + "MIT" + ], + "Maintainer": "Natanael Copa \u003cncopa@alpinelinux.org\u003e", + "Layer": { + "Digest": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235", + "DiffID": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + "Digest": "sha1:40a11e0690a59e110367b62a80661024e9942a2d", + "InstalledFiles": [ + "etc/krb5.conf" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "krb5-libs@1.22.2-r1", + "Name": "krb5-libs", + "Identifier": { + "PURL": "pkg:apk/alpine/krb5-libs@1.22.2-r1?arch=x86_64\u0026distro=3.24.1", + "UID": "958f8b4a4f087dac" + }, + "Version": "1.22.2-r1", + "Arch": "x86_64", + "SrcName": "krb5", + "SrcVersion": "1.22.2-r1", + "Licenses": [ + "MIT" + ], + "Maintainer": "Natanael Copa \u003cncopa@alpinelinux.org\u003e", + "DependsOn": [ + "keyutils-libs@1.6.3-r4", + "krb5-conf@1.0-r2", + "libcom_err@1.47.4-r0", + "libcrypto3@3.5.8-r0", + "libssl3@3.5.8-r0", + "libverto@0.3.2-r2", + "musl@1.2.6-r2" + ], + "Layer": { + "Digest": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235", + "DiffID": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + "Digest": "sha1:ef02346e21b817ff379e4601e5b1fc9760e5e31a", + "InstalledFiles": [ + "usr/lib/libgssapi_krb5.so.2", + "usr/lib/libgssapi_krb5.so.2.2", + "usr/lib/libgssrpc.so.4", + "usr/lib/libgssrpc.so.4.2", + "usr/lib/libk5crypto.so.3", + "usr/lib/libk5crypto.so.3.1", + "usr/lib/libkadm5clnt_mit.so.12", + "usr/lib/libkadm5clnt_mit.so.12.0", + "usr/lib/libkadm5srv_mit.so.12", + "usr/lib/libkadm5srv_mit.so.12.0", + "usr/lib/libkdb5.so.10", + "usr/lib/libkdb5.so.10.0", + "usr/lib/libkrad.so.0", + "usr/lib/libkrad.so.0.0", + "usr/lib/libkrb5.so.3", + "usr/lib/libkrb5.so.3.3", + "usr/lib/libkrb5support.so.0", + "usr/lib/libkrb5support.so.0.1", + "usr/lib/krb5/plugins/kdb/db2.so", + "usr/lib/krb5/plugins/preauth/otp.so", + "usr/lib/krb5/plugins/preauth/spake.so", + "usr/lib/krb5/plugins/preauth/test.so", + "usr/lib/krb5/plugins/tls/k5tls.so" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "libapk@3.0.6-r0", + "Name": "libapk", + "Identifier": { + "PURL": "pkg:apk/alpine/libapk@3.0.6-r0?arch=x86_64\u0026distro=3.24.1", + "UID": "a35b8b9b3219513a" + }, + "Version": "3.0.6-r0", + "Arch": "x86_64", + "SrcName": "apk-tools", + "SrcVersion": "3.0.6-r0", + "Licenses": [ + "GPL-2.0-only" + ], + "Maintainer": "Natanael Copa \u003cncopa@alpinelinux.org\u003e", + "DependsOn": [ + "libcrypto3@3.5.8-r0", + "libssl3@3.5.8-r0", + "musl@1.2.6-r2", + "zlib@1.3.2-r0" + ], + "Layer": { + "Digest": "sha256:55afa1ecc21d2bb5e5045f32dafee56272ffd89860bac26f6c32123439af26a4", + "DiffID": "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c" + }, + "Digest": "sha1:523a8f58104589f74f743d501c81bf6517155378", + "InstalledFiles": [ + "usr/lib/libapk.so.3.0.0" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "libbz2@1.0.8-r6", + "Name": "libbz2", + "Identifier": { + "PURL": "pkg:apk/alpine/libbz2@1.0.8-r6?arch=x86_64\u0026distro=3.24.1", + "UID": "48e17539404e2d56" + }, + "Version": "1.0.8-r6", + "Arch": "x86_64", + "SrcName": "bzip2", + "SrcVersion": "1.0.8-r6", + "Licenses": [ + "bzip-2-1.0.6" + ], + "Maintainer": "Natanael Copa \u003cncopa@alpinelinux.org\u003e", + "DependsOn": [ + "musl@1.2.6-r2" + ], + "Layer": { + "Digest": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235", + "DiffID": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + "Digest": "sha1:08566ba5c7af97c25474be8b24e8b48f0116b67d", + "InstalledFiles": [ + "usr/lib/libbz2.so.1", + "usr/lib/libbz2.so.1.0.8" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "libcom_err@1.47.4-r0", + "Name": "libcom_err", + "Identifier": { + "PURL": "pkg:apk/alpine/libcom_err@1.47.4-r0?arch=x86_64\u0026distro=3.24.1", + "UID": "3fc35a3f66d192af" + }, + "Version": "1.47.4-r0", + "Arch": "x86_64", + "SrcName": "e2fsprogs", + "SrcVersion": "1.47.4-r0", + "Licenses": [ + "GPL-2.0-or-later", + "LGPL-2.0-or-later", + "BSD-3-Clause", + "MIT" + ], + "Maintainer": "Natanael Copa \u003cncopa@alpinelinux.org\u003e", + "DependsOn": [ + "musl@1.2.6-r2" + ], + "Layer": { + "Digest": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235", + "DiffID": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + "Digest": "sha1:4b9fb5899ea0b1c0cfbb2a2c5952704437d4ecef", + "InstalledFiles": [ + "usr/lib/libcom_err.so.2", + "usr/lib/libcom_err.so.2.1" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "libcrypto3@3.5.8-r0", + "Name": "libcrypto3", + "Identifier": { + "PURL": "pkg:apk/alpine/libcrypto3@3.5.8-r0?arch=x86_64\u0026distro=3.24.1", + "UID": "4299bba2ba9c96aa" + }, + "Version": "3.5.8-r0", + "Arch": "x86_64", + "SrcName": "openssl", + "SrcVersion": "3.5.8-r0", + "Licenses": [ + "Apache-2.0" + ], + "Maintainer": "Natanael Copa \u003cncopa@alpinelinux.org\u003e", + "DependsOn": [ + "musl@1.2.6-r2" + ], + "Layer": { + "Digest": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235", + "DiffID": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + "Digest": "sha1:1b3b9fc0c136f4936932bcb2ec21499f0ae5dfd3", + "InstalledFiles": [ + "etc/ssl/ct_log_list.cnf", + "etc/ssl/ct_log_list.cnf.dist", + "etc/ssl/openssl.cnf", + "etc/ssl/openssl.cnf.dist", + "usr/lib/libcrypto.so.3", + "usr/lib/engines-3/afalg.so", + "usr/lib/engines-3/capi.so", + "usr/lib/engines-3/loader_attic.so", + "usr/lib/engines-3/padlock.so", + "usr/lib/ossl-modules/legacy.so" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "libffi@3.5.2-r1", + "Name": "libffi", + "Identifier": { + "PURL": "pkg:apk/alpine/libffi@3.5.2-r1?arch=x86_64\u0026distro=3.24.1", + "UID": "d3eaa921287b1ccd" + }, + "Version": "3.5.2-r1", + "Arch": "x86_64", + "SrcName": "libffi", + "SrcVersion": "3.5.2-r1", + "Licenses": [ + "MIT" + ], + "Maintainer": "Natanael Copa \u003cncopa@alpinelinux.org\u003e", + "DependsOn": [ + "musl@1.2.6-r2" + ], + "Layer": { + "Digest": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235", + "DiffID": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + "Digest": "sha1:2f7b261f7fcecc4eebd8b330e7f6fb80713bfe3a", + "InstalledFiles": [ + "usr/lib/libffi.so.8", + "usr/lib/libffi.so.8.2.0" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "libintl@1.0-r0", + "Name": "libintl", + "Identifier": { + "PURL": "pkg:apk/alpine/libintl@1.0-r0?arch=x86_64\u0026distro=3.24.1", + "UID": "25c18808d8fc87e0" + }, + "Version": "1.0-r0", + "Arch": "x86_64", + "SrcName": "gettext", + "SrcVersion": "1.0-r0", + "Licenses": [ + "LGPL-2.1-or-later" + ], + "Maintainer": "Carlo Landmeter \u003cclandmeter@alpinelinux.org\u003e", + "DependsOn": [ + "musl@1.2.6-r2" + ], + "Layer": { + "Digest": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235", + "DiffID": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + "Digest": "sha1:282d6642ccac87237e43a864159d73cf5abe7550", + "InstalledFiles": [ + "usr/lib/libintl.so.8", + "usr/lib/libintl.so.8.4.6" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "libncursesw@6.6_p20260516-r0", + "Name": "libncursesw", + "Identifier": { + "PURL": "pkg:apk/alpine/libncursesw@6.6_p20260516-r0?arch=x86_64\u0026distro=3.24.1", + "UID": "e8939f45e2191bcc" + }, + "Version": "6.6_p20260516-r0", + "Arch": "x86_64", + "SrcName": "ncurses", + "SrcVersion": "6.6_p20260516-r0", + "Licenses": [ + "X-11" + ], + "Maintainer": "Milan P. Stanić \u003cmps@arvanta.net\u003e", + "DependsOn": [ + "musl@1.2.6-r2", + "ncurses-terminfo-base@6.6_p20260516-r0" + ], + "Layer": { + "Digest": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235", + "DiffID": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + "Digest": "sha1:9f318e6e324d6827274829194cf6ac6afbaded12", + "InstalledFiles": [ + "usr/lib/libncursesw.so.6", + "usr/lib/libncursesw.so.6.6" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "libnsl@2.0.1-r2", + "Name": "libnsl", + "Identifier": { + "PURL": "pkg:apk/alpine/libnsl@2.0.1-r2?arch=x86_64\u0026distro=3.24.1", + "UID": "3d893c60d41da67b" + }, + "Version": "2.0.1-r2", + "Arch": "x86_64", + "SrcName": "libnsl", + "SrcVersion": "2.0.1-r2", + "Licenses": [ + "LGPL-2.0-or-later" + ], + "DependsOn": [ + "libintl@1.0-r0", + "libtirpc@1.3.5-r1", + "musl@1.2.6-r2" + ], + "Layer": { + "Digest": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235", + "DiffID": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + "Digest": "sha1:5194adbf26560b52be318481a7af294ab05fd795", + "InstalledFiles": [ + "usr/lib/libnsl.so.3", + "usr/lib/libnsl.so.3.0.0" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "libpanelw@6.6_p20260516-r0", + "Name": "libpanelw", + "Identifier": { + "PURL": "pkg:apk/alpine/libpanelw@6.6_p20260516-r0?arch=x86_64\u0026distro=3.24.1", + "UID": "ef1ad9bb256b373" + }, + "Version": "6.6_p20260516-r0", + "Arch": "x86_64", + "SrcName": "ncurses", + "SrcVersion": "6.6_p20260516-r0", + "Licenses": [ + "X-11" + ], + "Maintainer": "Milan P. Stanić \u003cmps@arvanta.net\u003e", + "DependsOn": [ + "libncursesw@6.6_p20260516-r0", + "musl@1.2.6-r2", + "ncurses-terminfo-base@6.6_p20260516-r0" + ], + "Layer": { + "Digest": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235", + "DiffID": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + "Digest": "sha1:149bdc434232ed11fc5bb975ba519a07154a6f56", + "InstalledFiles": [ + "usr/lib/libpanelw.so.6", + "usr/lib/libpanelw.so.6.6" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "libssl3@3.5.8-r0", + "Name": "libssl3", + "Identifier": { + "PURL": "pkg:apk/alpine/libssl3@3.5.8-r0?arch=x86_64\u0026distro=3.24.1", + "UID": "f290ab59b88b1c4a" + }, + "Version": "3.5.8-r0", + "Arch": "x86_64", + "SrcName": "openssl", + "SrcVersion": "3.5.8-r0", + "Licenses": [ + "Apache-2.0" + ], + "Maintainer": "Natanael Copa \u003cncopa@alpinelinux.org\u003e", + "DependsOn": [ + "libcrypto3@3.5.8-r0", + "musl@1.2.6-r2" + ], + "Layer": { + "Digest": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235", + "DiffID": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + "Digest": "sha1:5f9b1e55d821953d2e2b1db322dad70a3b5041ea", + "InstalledFiles": [ + "usr/lib/libssl.so.3" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "libtirpc@1.3.5-r1", + "Name": "libtirpc", + "Identifier": { + "PURL": "pkg:apk/alpine/libtirpc@1.3.5-r1?arch=x86_64\u0026distro=3.24.1", + "UID": "471c8d955ca03be5" + }, + "Version": "1.3.5-r1", + "Arch": "x86_64", + "SrcName": "libtirpc", + "SrcVersion": "1.3.5-r1", + "Licenses": [ + "BSD-3-Clause" + ], + "Maintainer": "Natanael Copa \u003cncopa@alpinelinux.org\u003e", + "DependsOn": [ + "krb5-libs@1.22.2-r1", + "libtirpc-conf@1.3.5-r1", + "musl@1.2.6-r2" + ], + "Layer": { + "Digest": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235", + "DiffID": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + "Digest": "sha1:c32865bd86a8b8829d152279cabbc5ac6d430eb2", + "InstalledFiles": [ + "usr/lib/libtirpc.so.3", + "usr/lib/libtirpc.so.3.0.0" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "libtirpc-conf@1.3.5-r1", + "Name": "libtirpc-conf", + "Identifier": { + "PURL": "pkg:apk/alpine/libtirpc-conf@1.3.5-r1?arch=x86_64\u0026distro=3.24.1", + "UID": "3437392c14aad33f" + }, + "Version": "1.3.5-r1", + "Arch": "x86_64", + "SrcName": "libtirpc", + "SrcVersion": "1.3.5-r1", + "Licenses": [ + "BSD-3-Clause" + ], + "Maintainer": "Natanael Copa \u003cncopa@alpinelinux.org\u003e", + "Layer": { + "Digest": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235", + "DiffID": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + "Digest": "sha1:0c17d9988dc986c90e22f79778df047eca9973ff", + "InstalledFiles": [ + "etc/bindresvport.blacklist", + "etc/netconfig" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "libuuid@2.42.3-r1", + "Name": "libuuid", + "Identifier": { + "PURL": "pkg:apk/alpine/libuuid@2.42.3-r1?arch=x86_64\u0026distro=3.24.1", + "UID": "c444e9cdd1bdda40" + }, + "Version": "2.42.3-r1", + "Arch": "x86_64", + "SrcName": "util-linux", + "SrcVersion": "2.42.3-r1", + "Licenses": [ + "BSD-3-Clause" + ], + "Maintainer": "Natanael Copa \u003cncopa@alpinelinux.org\u003e", + "DependsOn": [ + "musl@1.2.6-r2" + ], + "Layer": { + "Digest": "sha256:f0fe3e08ab046c0c5e29d34ee73bc8c7e03398eb891e4498e0a67088a5ea3e86", + "DiffID": "sha256:f9b4a8a412a0c07a489e46fb5db41f9d0dc84d4ec38a4e2c6ab9531f44e0d9f1" + }, + "Digest": "sha1:8f041ef637ad75f381cc0c034f2afbbb0303264e", + "InstalledFiles": [ + "usr/lib/libuuid.so.1", + "usr/lib/libuuid.so.1.3.0" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "libverto@0.3.2-r2", + "Name": "libverto", + "Identifier": { + "PURL": "pkg:apk/alpine/libverto@0.3.2-r2?arch=x86_64\u0026distro=3.24.1", + "UID": "9df4321a283a6cf6" + }, + "Version": "0.3.2-r2", + "Arch": "x86_64", + "SrcName": "libverto", + "SrcVersion": "0.3.2-r2", + "Licenses": [ + "MIT" + ], + "Maintainer": "Francesco Colista \u003cfcolista@alpinelinux.org\u003e", + "DependsOn": [ + "musl@1.2.6-r2" + ], + "Layer": { + "Digest": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235", + "DiffID": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + "Digest": "sha1:73233059338142e4ac6d8fb8bb0074e93da75dc1", + "InstalledFiles": [ + "usr/lib/libverto.so.1", + "usr/lib/libverto.so.1.0.0" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "musl@1.2.6-r2", + "Name": "musl", + "Identifier": { + "PURL": "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64\u0026distro=3.24.1", + "UID": "1f8cb44befe503d4" + }, + "Version": "1.2.6-r2", + "Arch": "x86_64", + "SrcName": "musl", + "SrcVersion": "1.2.6-r2", + "Licenses": [ + "MIT" + ], + "Maintainer": "Natanael Copa \u003cncopa@alpinelinux.org\u003e", + "Layer": { + "Digest": "sha256:55afa1ecc21d2bb5e5045f32dafee56272ffd89860bac26f6c32123439af26a4", + "DiffID": "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c" + }, + "Digest": "sha1:0f7e5827e4e1a73631beda27b78431a8ba240e05", + "InstalledFiles": [ + "lib/ld-musl-x86_64.so.1", + "lib/libc.musl-x86_64.so.1" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "musl-utils@1.2.6-r2", + "Name": "musl-utils", + "Identifier": { + "PURL": "pkg:apk/alpine/musl-utils@1.2.6-r2?arch=x86_64\u0026distro=3.24.1", + "UID": "4497482ec1d943e1" + }, + "Version": "1.2.6-r2", + "Arch": "x86_64", + "SrcName": "musl", + "SrcVersion": "1.2.6-r2", + "Licenses": [ + "MIT", + "BSD-2-Clause", + "GPL-2.0-or-later" + ], + "Maintainer": "Natanael Copa \u003cncopa@alpinelinux.org\u003e", + "DependsOn": [ + "musl@1.2.6-r2", + "scanelf@1.3.9-r1" + ], + "Layer": { + "Digest": "sha256:55afa1ecc21d2bb5e5045f32dafee56272ffd89860bac26f6c32123439af26a4", + "DiffID": "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c" + }, + "Digest": "sha1:75ada3c48d63ec5d87c42fdf934a3fdd11298dc5", + "InstalledFiles": [ + "sbin/ldconfig", + "usr/bin/getconf", + "usr/bin/getent", + "usr/bin/iconv", + "usr/bin/ldd" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "ncurses-terminfo-base@6.6_p20260516-r0", + "Name": "ncurses-terminfo-base", + "Identifier": { + "PURL": "pkg:apk/alpine/ncurses-terminfo-base@6.6_p20260516-r0?arch=x86_64\u0026distro=3.24.1", + "UID": "e7fac5c6a6e9ae8" + }, + "Version": "6.6_p20260516-r0", + "Arch": "x86_64", + "SrcName": "ncurses", + "SrcVersion": "6.6_p20260516-r0", + "Licenses": [ + "X-11" + ], + "Maintainer": "Milan P. Stanić \u003cmps@arvanta.net\u003e", + "Layer": { + "Digest": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235", + "DiffID": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + "Digest": "sha1:9d551d828e9c8ee52c5801c1d6046828ebf15752", + "InstalledFiles": [ + "etc/terminfo/a/alacritty", + "etc/terminfo/a/ansi", + "etc/terminfo/d/dumb", + "etc/terminfo/g/gnome", + "etc/terminfo/g/gnome-256color", + "etc/terminfo/k/konsole", + "etc/terminfo/k/konsole-256color", + "etc/terminfo/k/konsole-linux", + "etc/terminfo/l/linux", + "etc/terminfo/p/putty", + "etc/terminfo/p/putty-256color", + "etc/terminfo/r/rxvt", + "etc/terminfo/r/rxvt-256color", + "etc/terminfo/s/screen", + "etc/terminfo/s/screen-256color", + "etc/terminfo/s/st-0.6", + "etc/terminfo/s/st-0.7", + "etc/terminfo/s/st-0.8", + "etc/terminfo/s/st-0.8.5", + "etc/terminfo/s/st-16color", + "etc/terminfo/s/st-256color", + "etc/terminfo/s/st-direct", + "etc/terminfo/s/sun", + "etc/terminfo/t/terminator", + "etc/terminfo/t/terminology", + "etc/terminfo/t/terminology-0.6.1", + "etc/terminfo/t/terminology-1.0.0", + "etc/terminfo/t/terminology-1.8.1", + "etc/terminfo/t/tmux", + "etc/terminfo/t/tmux-256color", + "etc/terminfo/v/vt100", + "etc/terminfo/v/vt102", + "etc/terminfo/v/vt200", + "etc/terminfo/v/vt220", + "etc/terminfo/v/vt52", + "etc/terminfo/v/vte", + "etc/terminfo/v/vte-256color", + "etc/terminfo/x/xterm", + "etc/terminfo/x/xterm-256color", + "etc/terminfo/x/xterm-color", + "etc/terminfo/x/xterm-xfree86" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "readline@8.3.3-r1", + "Name": "readline", + "Identifier": { + "PURL": "pkg:apk/alpine/readline@8.3.3-r1?arch=x86_64\u0026distro=3.24.1", + "UID": "f50058781c93e1f2" + }, + "Version": "8.3.3-r1", + "Arch": "x86_64", + "SrcName": "readline", + "SrcVersion": "8.3.3-r1", + "Licenses": [ + "GPL-3.0-or-later" + ], + "Maintainer": "qaqland \u003cqaq@qaq.land\u003e", + "DependsOn": [ + "libncursesw@6.6_p20260516-r0", + "musl@1.2.6-r2" + ], + "Layer": { + "Digest": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235", + "DiffID": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + "Digest": "sha1:945b16e378bc00e44d89d4de8124bba7647fdf4d", + "InstalledFiles": [ + "etc/inputrc", + "usr/lib/libreadline.so.8", + "usr/lib/libreadline.so.8.3" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "scanelf@1.3.9-r1", + "Name": "scanelf", + "Identifier": { + "PURL": "pkg:apk/alpine/scanelf@1.3.9-r1?arch=x86_64\u0026distro=3.24.1", + "UID": "936394657a1626fb" + }, + "Version": "1.3.9-r1", + "Arch": "x86_64", + "SrcName": "pax-utils", + "SrcVersion": "1.3.9-r1", + "Licenses": [ + "GPL-2.0-only" + ], + "Maintainer": "Natanael Copa \u003cncopa@alpinelinux.org\u003e", + "DependsOn": [ + "musl@1.2.6-r2" + ], + "Layer": { + "Digest": "sha256:55afa1ecc21d2bb5e5045f32dafee56272ffd89860bac26f6c32123439af26a4", + "DiffID": "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c" + }, + "Digest": "sha1:013f903d0ba219673aebbdd04f74bb5ed82b01f0", + "InstalledFiles": [ + "usr/bin/scanelf" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "sqlite-libs@3.53.4-r0", + "Name": "sqlite-libs", + "Identifier": { + "PURL": "pkg:apk/alpine/sqlite-libs@3.53.4-r0?arch=x86_64\u0026distro=3.24.1", + "UID": "8b10aee2ccc192de" + }, + "Version": "3.53.4-r0", + "Arch": "x86_64", + "SrcName": "sqlite", + "SrcVersion": "3.53.4-r0", + "Licenses": [ + "blessing" + ], + "Maintainer": "Jingyun Hua \u003chuajingyun@loongson.cn\u003e", + "DependsOn": [ + "musl@1.2.6-r2" + ], + "Layer": { + "Digest": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235", + "DiffID": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + "Digest": "sha1:f7630ceb37c232b6609861aeab6cdb9cd120e6fa", + "InstalledFiles": [ + "usr/lib/libsqlite3.so.0", + "usr/lib/libsqlite3.so.3.53.4" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "ssl_client@1.37.0-r31", + "Name": "ssl_client", + "Identifier": { + "PURL": "pkg:apk/alpine/ssl_client@1.37.0-r31?arch=x86_64\u0026distro=3.24.1", + "UID": "d42e31f15a4ce47a" + }, + "Version": "1.37.0-r31", + "Arch": "x86_64", + "SrcName": "busybox", + "SrcVersion": "1.37.0-r31", + "Licenses": [ + "GPL-2.0-only" + ], + "Maintainer": "Sören Tempel \u003csoeren+alpine@soeren-tempel.net\u003e", + "DependsOn": [ + "libcrypto3@3.5.8-r0", + "libssl3@3.5.8-r0", + "musl@1.2.6-r2" + ], + "Layer": { + "Digest": "sha256:55afa1ecc21d2bb5e5045f32dafee56272ffd89860bac26f6c32123439af26a4", + "DiffID": "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c" + }, + "Digest": "sha1:c220f4a5125a313af733e98def94132bb1e9d40d", + "InstalledFiles": [ + "usr/bin/ssl_client" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "tzdata@2026c-r0", + "Name": "tzdata", + "Identifier": { + "PURL": "pkg:apk/alpine/tzdata@2026c-r0?arch=x86_64\u0026distro=3.24.1", + "UID": "52c6b50eff629f9d" + }, + "Version": "2026c-r0", + "Arch": "x86_64", + "SrcName": "tzdata", + "SrcVersion": "2026c-r0", + "Licenses": [ + "Public-Domain" + ], + "Maintainer": "Natanael Copa \u003cncopa@alpinelinux.org\u003e", + "Layer": { + "Digest": "sha256:47393b668ce535d06e8967917d424c177e2ecccae83856d48b2e99164f8cc6cb", + "DiffID": "sha256:3ca4be2c6e9ac0223715355253725381000486c2b45bfcb22cf571b6a85a12dd" + }, + "Digest": "sha1:61f7544ecd8dd63eac23fe3e645702fda92ef02a", + "InstalledFiles": [ + "usr/share/zoneinfo/CET", + "usr/share/zoneinfo/CST6CDT", + "usr/share/zoneinfo/Cuba", + "usr/share/zoneinfo/EET", + "usr/share/zoneinfo/EST", + "usr/share/zoneinfo/EST5EDT", + "usr/share/zoneinfo/Egypt", + "usr/share/zoneinfo/Eire", + "usr/share/zoneinfo/Factory", + "usr/share/zoneinfo/GB", + "usr/share/zoneinfo/GB-Eire", + "usr/share/zoneinfo/GMT", + "usr/share/zoneinfo/GMT+0", + "usr/share/zoneinfo/GMT-0", + "usr/share/zoneinfo/GMT0", + "usr/share/zoneinfo/Greenwich", + "usr/share/zoneinfo/HST", + "usr/share/zoneinfo/Hongkong", + "usr/share/zoneinfo/Iceland", + "usr/share/zoneinfo/Iran", + "usr/share/zoneinfo/Israel", + "usr/share/zoneinfo/Jamaica", + "usr/share/zoneinfo/Japan", + "usr/share/zoneinfo/Kwajalein", + "usr/share/zoneinfo/Libya", + "usr/share/zoneinfo/MET", + "usr/share/zoneinfo/MST", + "usr/share/zoneinfo/MST7MDT", + "usr/share/zoneinfo/NZ", + "usr/share/zoneinfo/NZ-CHAT", + "usr/share/zoneinfo/Navajo", + "usr/share/zoneinfo/PRC", + "usr/share/zoneinfo/PST8PDT", + "usr/share/zoneinfo/Poland", + "usr/share/zoneinfo/Portugal", + "usr/share/zoneinfo/ROC", + "usr/share/zoneinfo/ROK", + "usr/share/zoneinfo/Singapore", + "usr/share/zoneinfo/Turkey", + "usr/share/zoneinfo/UCT", + "usr/share/zoneinfo/UTC", + "usr/share/zoneinfo/Universal", + "usr/share/zoneinfo/W-SU", + "usr/share/zoneinfo/WET", + "usr/share/zoneinfo/Zulu", + "usr/share/zoneinfo/iso3166.tab", + "usr/share/zoneinfo/leap-seconds.list", + "usr/share/zoneinfo/posixrules", + "usr/share/zoneinfo/zone.tab", + "usr/share/zoneinfo/zone1970.tab", + "usr/share/zoneinfo/Africa/Abidjan", + "usr/share/zoneinfo/Africa/Accra", + "usr/share/zoneinfo/Africa/Addis_Ababa", + "usr/share/zoneinfo/Africa/Algiers", + "usr/share/zoneinfo/Africa/Asmara", + "usr/share/zoneinfo/Africa/Asmera", + "usr/share/zoneinfo/Africa/Bamako", + "usr/share/zoneinfo/Africa/Bangui", + "usr/share/zoneinfo/Africa/Banjul", + "usr/share/zoneinfo/Africa/Bissau", + "usr/share/zoneinfo/Africa/Blantyre", + "usr/share/zoneinfo/Africa/Brazzaville", + "usr/share/zoneinfo/Africa/Bujumbura", + "usr/share/zoneinfo/Africa/Cairo", + "usr/share/zoneinfo/Africa/Casablanca", + "usr/share/zoneinfo/Africa/Ceuta", + "usr/share/zoneinfo/Africa/Conakry", + "usr/share/zoneinfo/Africa/Dakar", + "usr/share/zoneinfo/Africa/Dar_es_Salaam", + "usr/share/zoneinfo/Africa/Djibouti", + "usr/share/zoneinfo/Africa/Douala", + "usr/share/zoneinfo/Africa/El_Aaiun", + "usr/share/zoneinfo/Africa/Freetown", + "usr/share/zoneinfo/Africa/Gaborone", + "usr/share/zoneinfo/Africa/Harare", + "usr/share/zoneinfo/Africa/Johannesburg", + "usr/share/zoneinfo/Africa/Juba", + "usr/share/zoneinfo/Africa/Kampala", + "usr/share/zoneinfo/Africa/Khartoum", + "usr/share/zoneinfo/Africa/Kigali", + "usr/share/zoneinfo/Africa/Kinshasa", + "usr/share/zoneinfo/Africa/Lagos", + "usr/share/zoneinfo/Africa/Libreville", + "usr/share/zoneinfo/Africa/Lome", + "usr/share/zoneinfo/Africa/Luanda", + "usr/share/zoneinfo/Africa/Lubumbashi", + "usr/share/zoneinfo/Africa/Lusaka", + "usr/share/zoneinfo/Africa/Malabo", + "usr/share/zoneinfo/Africa/Maputo", + "usr/share/zoneinfo/Africa/Maseru", + "usr/share/zoneinfo/Africa/Mbabane", + "usr/share/zoneinfo/Africa/Mogadishu", + "usr/share/zoneinfo/Africa/Monrovia", + "usr/share/zoneinfo/Africa/Nairobi", + "usr/share/zoneinfo/Africa/Ndjamena", + "usr/share/zoneinfo/Africa/Niamey", + "usr/share/zoneinfo/Africa/Nouakchott", + "usr/share/zoneinfo/Africa/Ouagadougou", + "usr/share/zoneinfo/Africa/Porto-Novo", + "usr/share/zoneinfo/Africa/Sao_Tome", + "usr/share/zoneinfo/Africa/Timbuktu", + "usr/share/zoneinfo/Africa/Tripoli", + "usr/share/zoneinfo/Africa/Tunis", + "usr/share/zoneinfo/Africa/Windhoek", + "usr/share/zoneinfo/America/Adak", + "usr/share/zoneinfo/America/Anchorage", + "usr/share/zoneinfo/America/Anguilla", + "usr/share/zoneinfo/America/Antigua", + "usr/share/zoneinfo/America/Araguaina", + "usr/share/zoneinfo/America/Aruba", + "usr/share/zoneinfo/America/Asuncion", + "usr/share/zoneinfo/America/Atikokan", + "usr/share/zoneinfo/America/Atka", + "usr/share/zoneinfo/America/Bahia", + "usr/share/zoneinfo/America/Bahia_Banderas", + "usr/share/zoneinfo/America/Barbados", + "usr/share/zoneinfo/America/Belem", + "usr/share/zoneinfo/America/Belize", + "usr/share/zoneinfo/America/Blanc-Sablon", + "usr/share/zoneinfo/America/Boa_Vista", + "usr/share/zoneinfo/America/Bogota", + "usr/share/zoneinfo/America/Boise", + "usr/share/zoneinfo/America/Buenos_Aires", + "usr/share/zoneinfo/America/Cambridge_Bay", + "usr/share/zoneinfo/America/Campo_Grande", + "usr/share/zoneinfo/America/Cancun", + "usr/share/zoneinfo/America/Caracas", + "usr/share/zoneinfo/America/Catamarca", + "usr/share/zoneinfo/America/Cayenne", + "usr/share/zoneinfo/America/Cayman", + "usr/share/zoneinfo/America/Chicago", + "usr/share/zoneinfo/America/Chihuahua", + "usr/share/zoneinfo/America/Ciudad_Juarez", + "usr/share/zoneinfo/America/Coral_Harbour", + "usr/share/zoneinfo/America/Cordoba", + "usr/share/zoneinfo/America/Costa_Rica", + "usr/share/zoneinfo/America/Coyhaique", + "usr/share/zoneinfo/America/Creston", + "usr/share/zoneinfo/America/Cuiaba", + "usr/share/zoneinfo/America/Curacao", + "usr/share/zoneinfo/America/Danmarkshavn", + "usr/share/zoneinfo/America/Dawson", + "usr/share/zoneinfo/America/Dawson_Creek", + "usr/share/zoneinfo/America/Denver", + "usr/share/zoneinfo/America/Detroit", + "usr/share/zoneinfo/America/Dominica", + "usr/share/zoneinfo/America/Edmonton", + "usr/share/zoneinfo/America/Eirunepe", + "usr/share/zoneinfo/America/El_Salvador", + "usr/share/zoneinfo/America/Ensenada", + "usr/share/zoneinfo/America/Fort_Nelson", + "usr/share/zoneinfo/America/Fort_Wayne", + "usr/share/zoneinfo/America/Fortaleza", + "usr/share/zoneinfo/America/Glace_Bay", + "usr/share/zoneinfo/America/Godthab", + "usr/share/zoneinfo/America/Goose_Bay", + "usr/share/zoneinfo/America/Grand_Turk", + "usr/share/zoneinfo/America/Grenada", + "usr/share/zoneinfo/America/Guadeloupe", + "usr/share/zoneinfo/America/Guatemala", + "usr/share/zoneinfo/America/Guayaquil", + "usr/share/zoneinfo/America/Guyana", + "usr/share/zoneinfo/America/Halifax", + "usr/share/zoneinfo/America/Havana", + "usr/share/zoneinfo/America/Hermosillo", + "usr/share/zoneinfo/America/Indianapolis", + "usr/share/zoneinfo/America/Inuvik", + "usr/share/zoneinfo/America/Iqaluit", + "usr/share/zoneinfo/America/Jamaica", + "usr/share/zoneinfo/America/Jujuy", + "usr/share/zoneinfo/America/Juneau", + "usr/share/zoneinfo/America/Knox_IN", + "usr/share/zoneinfo/America/Kralendijk", + "usr/share/zoneinfo/America/La_Paz", + "usr/share/zoneinfo/America/Lima", + "usr/share/zoneinfo/America/Los_Angeles", + "usr/share/zoneinfo/America/Louisville", + "usr/share/zoneinfo/America/Lower_Princes", + "usr/share/zoneinfo/America/Maceio", + "usr/share/zoneinfo/America/Managua", + "usr/share/zoneinfo/America/Manaus", + "usr/share/zoneinfo/America/Marigot", + "usr/share/zoneinfo/America/Martinique", + "usr/share/zoneinfo/America/Matamoros", + "usr/share/zoneinfo/America/Mazatlan", + "usr/share/zoneinfo/America/Mendoza", + "usr/share/zoneinfo/America/Menominee", + "usr/share/zoneinfo/America/Merida", + "usr/share/zoneinfo/America/Metlakatla", + "usr/share/zoneinfo/America/Mexico_City", + "usr/share/zoneinfo/America/Miquelon", + "usr/share/zoneinfo/America/Moncton", + "usr/share/zoneinfo/America/Monterrey", + "usr/share/zoneinfo/America/Montevideo", + "usr/share/zoneinfo/America/Montreal", + "usr/share/zoneinfo/America/Montserrat", + "usr/share/zoneinfo/America/Nassau", + "usr/share/zoneinfo/America/New_York", + "usr/share/zoneinfo/America/Nipigon", + "usr/share/zoneinfo/America/Nome", + "usr/share/zoneinfo/America/Noronha", + "usr/share/zoneinfo/America/Nuuk", + "usr/share/zoneinfo/America/Ojinaga", + "usr/share/zoneinfo/America/Panama", + "usr/share/zoneinfo/America/Pangnirtung", + "usr/share/zoneinfo/America/Paramaribo", + "usr/share/zoneinfo/America/Phoenix", + "usr/share/zoneinfo/America/Port-au-Prince", + "usr/share/zoneinfo/America/Port_of_Spain", + "usr/share/zoneinfo/America/Porto_Acre", + "usr/share/zoneinfo/America/Porto_Velho", + "usr/share/zoneinfo/America/Puerto_Rico", + "usr/share/zoneinfo/America/Punta_Arenas", + "usr/share/zoneinfo/America/Rainy_River", + "usr/share/zoneinfo/America/Rankin_Inlet", + "usr/share/zoneinfo/America/Recife", + "usr/share/zoneinfo/America/Regina", + "usr/share/zoneinfo/America/Resolute", + "usr/share/zoneinfo/America/Rio_Branco", + "usr/share/zoneinfo/America/Rosario", + "usr/share/zoneinfo/America/Santa_Isabel", + "usr/share/zoneinfo/America/Santarem", + "usr/share/zoneinfo/America/Santiago", + "usr/share/zoneinfo/America/Santo_Domingo", + "usr/share/zoneinfo/America/Sao_Paulo", + "usr/share/zoneinfo/America/Scoresbysund", + "usr/share/zoneinfo/America/Shiprock", + "usr/share/zoneinfo/America/Sitka", + "usr/share/zoneinfo/America/St_Barthelemy", + "usr/share/zoneinfo/America/St_Johns", + "usr/share/zoneinfo/America/St_Kitts", + "usr/share/zoneinfo/America/St_Lucia", + "usr/share/zoneinfo/America/St_Thomas", + "usr/share/zoneinfo/America/St_Vincent", + "usr/share/zoneinfo/America/Swift_Current", + "usr/share/zoneinfo/America/Tegucigalpa", + "usr/share/zoneinfo/America/Thule", + "usr/share/zoneinfo/America/Thunder_Bay", + "usr/share/zoneinfo/America/Tijuana", + "usr/share/zoneinfo/America/Toronto", + "usr/share/zoneinfo/America/Tortola", + "usr/share/zoneinfo/America/Vancouver", + "usr/share/zoneinfo/America/Virgin", + "usr/share/zoneinfo/America/Whitehorse", + "usr/share/zoneinfo/America/Winnipeg", + "usr/share/zoneinfo/America/Yakutat", + "usr/share/zoneinfo/America/Yellowknife", + "usr/share/zoneinfo/America/Argentina/Buenos_Aires", + "usr/share/zoneinfo/America/Argentina/Catamarca", + "usr/share/zoneinfo/America/Argentina/ComodRivadavia", + "usr/share/zoneinfo/America/Argentina/Cordoba", + "usr/share/zoneinfo/America/Argentina/Jujuy", + "usr/share/zoneinfo/America/Argentina/La_Rioja", + "usr/share/zoneinfo/America/Argentina/Mendoza", + "usr/share/zoneinfo/America/Argentina/Rio_Gallegos", + "usr/share/zoneinfo/America/Argentina/Salta", + "usr/share/zoneinfo/America/Argentina/San_Juan", + "usr/share/zoneinfo/America/Argentina/San_Luis", + "usr/share/zoneinfo/America/Argentina/Tucuman", + "usr/share/zoneinfo/America/Argentina/Ushuaia", + "usr/share/zoneinfo/America/Indiana/Indianapolis", + "usr/share/zoneinfo/America/Indiana/Knox", + "usr/share/zoneinfo/America/Indiana/Marengo", + "usr/share/zoneinfo/America/Indiana/Petersburg", + "usr/share/zoneinfo/America/Indiana/Tell_City", + "usr/share/zoneinfo/America/Indiana/Vevay", + "usr/share/zoneinfo/America/Indiana/Vincennes", + "usr/share/zoneinfo/America/Indiana/Winamac", + "usr/share/zoneinfo/America/Kentucky/Louisville", + "usr/share/zoneinfo/America/Kentucky/Monticello", + "usr/share/zoneinfo/America/North_Dakota/Beulah", + "usr/share/zoneinfo/America/North_Dakota/Center", + "usr/share/zoneinfo/America/North_Dakota/New_Salem", + "usr/share/zoneinfo/Antarctica/Casey", + "usr/share/zoneinfo/Antarctica/Davis", + "usr/share/zoneinfo/Antarctica/DumontDUrville", + "usr/share/zoneinfo/Antarctica/Macquarie", + "usr/share/zoneinfo/Antarctica/Mawson", + "usr/share/zoneinfo/Antarctica/McMurdo", + "usr/share/zoneinfo/Antarctica/Palmer", + "usr/share/zoneinfo/Antarctica/Rothera", + "usr/share/zoneinfo/Antarctica/South_Pole", + "usr/share/zoneinfo/Antarctica/Syowa", + "usr/share/zoneinfo/Antarctica/Troll", + "usr/share/zoneinfo/Antarctica/Vostok", + "usr/share/zoneinfo/Arctic/Longyearbyen", + "usr/share/zoneinfo/Asia/Aden", + "usr/share/zoneinfo/Asia/Almaty", + "usr/share/zoneinfo/Asia/Amman", + "usr/share/zoneinfo/Asia/Anadyr", + "usr/share/zoneinfo/Asia/Aqtau", + "usr/share/zoneinfo/Asia/Aqtobe", + "usr/share/zoneinfo/Asia/Ashgabat", + "usr/share/zoneinfo/Asia/Ashkhabad", + "usr/share/zoneinfo/Asia/Atyrau", + "usr/share/zoneinfo/Asia/Baghdad", + "usr/share/zoneinfo/Asia/Bahrain", + "usr/share/zoneinfo/Asia/Baku", + "usr/share/zoneinfo/Asia/Bangkok", + "usr/share/zoneinfo/Asia/Barnaul", + "usr/share/zoneinfo/Asia/Beirut", + "usr/share/zoneinfo/Asia/Bishkek", + "usr/share/zoneinfo/Asia/Brunei", + "usr/share/zoneinfo/Asia/Calcutta", + "usr/share/zoneinfo/Asia/Chita", + "usr/share/zoneinfo/Asia/Choibalsan", + "usr/share/zoneinfo/Asia/Chongqing", + "usr/share/zoneinfo/Asia/Chungking", + "usr/share/zoneinfo/Asia/Colombo", + "usr/share/zoneinfo/Asia/Dacca", + "usr/share/zoneinfo/Asia/Damascus", + "usr/share/zoneinfo/Asia/Dhaka", + "usr/share/zoneinfo/Asia/Dili", + "usr/share/zoneinfo/Asia/Dubai", + "usr/share/zoneinfo/Asia/Dushanbe", + "usr/share/zoneinfo/Asia/Famagusta", + "usr/share/zoneinfo/Asia/Gaza", + "usr/share/zoneinfo/Asia/Harbin", + "usr/share/zoneinfo/Asia/Hebron", + "usr/share/zoneinfo/Asia/Ho_Chi_Minh", + "usr/share/zoneinfo/Asia/Hong_Kong", + "usr/share/zoneinfo/Asia/Hovd", + "usr/share/zoneinfo/Asia/Irkutsk", + "usr/share/zoneinfo/Asia/Istanbul", + "usr/share/zoneinfo/Asia/Jakarta", + "usr/share/zoneinfo/Asia/Jayapura", + "usr/share/zoneinfo/Asia/Jerusalem", + "usr/share/zoneinfo/Asia/Kabul", + "usr/share/zoneinfo/Asia/Kamchatka", + "usr/share/zoneinfo/Asia/Karachi", + "usr/share/zoneinfo/Asia/Kashgar", + "usr/share/zoneinfo/Asia/Kathmandu", + "usr/share/zoneinfo/Asia/Katmandu", + "usr/share/zoneinfo/Asia/Khandyga", + "usr/share/zoneinfo/Asia/Kolkata", + "usr/share/zoneinfo/Asia/Krasnoyarsk", + "usr/share/zoneinfo/Asia/Kuala_Lumpur", + "usr/share/zoneinfo/Asia/Kuching", + "usr/share/zoneinfo/Asia/Kuwait", + "usr/share/zoneinfo/Asia/Macao", + "usr/share/zoneinfo/Asia/Macau", + "usr/share/zoneinfo/Asia/Magadan", + "usr/share/zoneinfo/Asia/Makassar", + "usr/share/zoneinfo/Asia/Manila", + "usr/share/zoneinfo/Asia/Muscat", + "usr/share/zoneinfo/Asia/Nicosia", + "usr/share/zoneinfo/Asia/Novokuznetsk", + "usr/share/zoneinfo/Asia/Novosibirsk", + "usr/share/zoneinfo/Asia/Omsk", + "usr/share/zoneinfo/Asia/Oral", + "usr/share/zoneinfo/Asia/Phnom_Penh", + "usr/share/zoneinfo/Asia/Pontianak", + "usr/share/zoneinfo/Asia/Pyongyang", + "usr/share/zoneinfo/Asia/Qatar", + "usr/share/zoneinfo/Asia/Qostanay", + "usr/share/zoneinfo/Asia/Qyzylorda", + "usr/share/zoneinfo/Asia/Rangoon", + "usr/share/zoneinfo/Asia/Riyadh", + "usr/share/zoneinfo/Asia/Saigon", + "usr/share/zoneinfo/Asia/Sakhalin", + "usr/share/zoneinfo/Asia/Samarkand", + "usr/share/zoneinfo/Asia/Seoul", + "usr/share/zoneinfo/Asia/Shanghai", + "usr/share/zoneinfo/Asia/Singapore", + "usr/share/zoneinfo/Asia/Srednekolymsk", + "usr/share/zoneinfo/Asia/Taipei", + "usr/share/zoneinfo/Asia/Tashkent", + "usr/share/zoneinfo/Asia/Tbilisi", + "usr/share/zoneinfo/Asia/Tehran", + "usr/share/zoneinfo/Asia/Tel_Aviv", + "usr/share/zoneinfo/Asia/Thimbu", + "usr/share/zoneinfo/Asia/Thimphu", + "usr/share/zoneinfo/Asia/Tokyo", + "usr/share/zoneinfo/Asia/Tomsk", + "usr/share/zoneinfo/Asia/Ujung_Pandang", + "usr/share/zoneinfo/Asia/Ulaanbaatar", + "usr/share/zoneinfo/Asia/Ulan_Bator", + "usr/share/zoneinfo/Asia/Urumqi", + "usr/share/zoneinfo/Asia/Ust-Nera", + "usr/share/zoneinfo/Asia/Vientiane", + "usr/share/zoneinfo/Asia/Vladivostok", + "usr/share/zoneinfo/Asia/Yakutsk", + "usr/share/zoneinfo/Asia/Yangon", + "usr/share/zoneinfo/Asia/Yekaterinburg", + "usr/share/zoneinfo/Asia/Yerevan", + "usr/share/zoneinfo/Atlantic/Azores", + "usr/share/zoneinfo/Atlantic/Bermuda", + "usr/share/zoneinfo/Atlantic/Canary", + "usr/share/zoneinfo/Atlantic/Cape_Verde", + "usr/share/zoneinfo/Atlantic/Faeroe", + "usr/share/zoneinfo/Atlantic/Faroe", + "usr/share/zoneinfo/Atlantic/Jan_Mayen", + "usr/share/zoneinfo/Atlantic/Madeira", + "usr/share/zoneinfo/Atlantic/Reykjavik", + "usr/share/zoneinfo/Atlantic/South_Georgia", + "usr/share/zoneinfo/Atlantic/St_Helena", + "usr/share/zoneinfo/Atlantic/Stanley", + "usr/share/zoneinfo/Australia/ACT", + "usr/share/zoneinfo/Australia/Adelaide", + "usr/share/zoneinfo/Australia/Brisbane", + "usr/share/zoneinfo/Australia/Broken_Hill", + "usr/share/zoneinfo/Australia/Canberra", + "usr/share/zoneinfo/Australia/Currie", + "usr/share/zoneinfo/Australia/Darwin", + "usr/share/zoneinfo/Australia/Eucla", + "usr/share/zoneinfo/Australia/Hobart", + "usr/share/zoneinfo/Australia/LHI", + "usr/share/zoneinfo/Australia/Lindeman", + "usr/share/zoneinfo/Australia/Lord_Howe", + "usr/share/zoneinfo/Australia/Melbourne", + "usr/share/zoneinfo/Australia/NSW", + "usr/share/zoneinfo/Australia/North", + "usr/share/zoneinfo/Australia/Perth", + "usr/share/zoneinfo/Australia/Queensland", + "usr/share/zoneinfo/Australia/South", + "usr/share/zoneinfo/Australia/Sydney", + "usr/share/zoneinfo/Australia/Tasmania", + "usr/share/zoneinfo/Australia/Victoria", + "usr/share/zoneinfo/Australia/West", + "usr/share/zoneinfo/Australia/Yancowinna", + "usr/share/zoneinfo/Brazil/Acre", + "usr/share/zoneinfo/Brazil/DeNoronha", + "usr/share/zoneinfo/Brazil/East", + "usr/share/zoneinfo/Brazil/West", + "usr/share/zoneinfo/Canada/Atlantic", + "usr/share/zoneinfo/Canada/Central", + "usr/share/zoneinfo/Canada/Eastern", + "usr/share/zoneinfo/Canada/Mountain", + "usr/share/zoneinfo/Canada/Newfoundland", + "usr/share/zoneinfo/Canada/Pacific", + "usr/share/zoneinfo/Canada/Saskatchewan", + "usr/share/zoneinfo/Canada/Yukon", + "usr/share/zoneinfo/Chile/Continental", + "usr/share/zoneinfo/Chile/EasterIsland", + "usr/share/zoneinfo/Etc/GMT", + "usr/share/zoneinfo/Etc/GMT+0", + "usr/share/zoneinfo/Etc/GMT+1", + "usr/share/zoneinfo/Etc/GMT+10", + "usr/share/zoneinfo/Etc/GMT+11", + "usr/share/zoneinfo/Etc/GMT+12", + "usr/share/zoneinfo/Etc/GMT+2", + "usr/share/zoneinfo/Etc/GMT+3", + "usr/share/zoneinfo/Etc/GMT+4", + "usr/share/zoneinfo/Etc/GMT+5", + "usr/share/zoneinfo/Etc/GMT+6", + "usr/share/zoneinfo/Etc/GMT+7", + "usr/share/zoneinfo/Etc/GMT+8", + "usr/share/zoneinfo/Etc/GMT+9", + "usr/share/zoneinfo/Etc/GMT-0", + "usr/share/zoneinfo/Etc/GMT-1", + "usr/share/zoneinfo/Etc/GMT-10", + "usr/share/zoneinfo/Etc/GMT-11", + "usr/share/zoneinfo/Etc/GMT-12", + "usr/share/zoneinfo/Etc/GMT-13", + "usr/share/zoneinfo/Etc/GMT-14", + "usr/share/zoneinfo/Etc/GMT-2", + "usr/share/zoneinfo/Etc/GMT-3", + "usr/share/zoneinfo/Etc/GMT-4", + "usr/share/zoneinfo/Etc/GMT-5", + "usr/share/zoneinfo/Etc/GMT-6", + "usr/share/zoneinfo/Etc/GMT-7", + "usr/share/zoneinfo/Etc/GMT-8", + "usr/share/zoneinfo/Etc/GMT-9", + "usr/share/zoneinfo/Etc/GMT0", + "usr/share/zoneinfo/Etc/Greenwich", + "usr/share/zoneinfo/Etc/UCT", + "usr/share/zoneinfo/Etc/UTC", + "usr/share/zoneinfo/Etc/Universal", + "usr/share/zoneinfo/Etc/Zulu", + "usr/share/zoneinfo/Europe/Amsterdam", + "usr/share/zoneinfo/Europe/Andorra", + "usr/share/zoneinfo/Europe/Astrakhan", + "usr/share/zoneinfo/Europe/Athens", + "usr/share/zoneinfo/Europe/Belfast", + "usr/share/zoneinfo/Europe/Belgrade", + "usr/share/zoneinfo/Europe/Berlin", + "usr/share/zoneinfo/Europe/Bratislava", + "usr/share/zoneinfo/Europe/Brussels", + "usr/share/zoneinfo/Europe/Bucharest", + "usr/share/zoneinfo/Europe/Budapest", + "usr/share/zoneinfo/Europe/Busingen", + "usr/share/zoneinfo/Europe/Chisinau", + "usr/share/zoneinfo/Europe/Copenhagen", + "usr/share/zoneinfo/Europe/Dublin", + "usr/share/zoneinfo/Europe/Gibraltar", + "usr/share/zoneinfo/Europe/Guernsey", + "usr/share/zoneinfo/Europe/Helsinki", + "usr/share/zoneinfo/Europe/Isle_of_Man", + "usr/share/zoneinfo/Europe/Istanbul", + "usr/share/zoneinfo/Europe/Jersey", + "usr/share/zoneinfo/Europe/Kaliningrad", + "usr/share/zoneinfo/Europe/Kiev", + "usr/share/zoneinfo/Europe/Kirov", + "usr/share/zoneinfo/Europe/Kyiv", + "usr/share/zoneinfo/Europe/Lisbon", + "usr/share/zoneinfo/Europe/Ljubljana", + "usr/share/zoneinfo/Europe/London", + "usr/share/zoneinfo/Europe/Luxembourg", + "usr/share/zoneinfo/Europe/Madrid", + "usr/share/zoneinfo/Europe/Malta", + "usr/share/zoneinfo/Europe/Mariehamn", + "usr/share/zoneinfo/Europe/Minsk", + "usr/share/zoneinfo/Europe/Monaco", + "usr/share/zoneinfo/Europe/Moscow", + "usr/share/zoneinfo/Europe/Nicosia", + "usr/share/zoneinfo/Europe/Oslo", + "usr/share/zoneinfo/Europe/Paris", + "usr/share/zoneinfo/Europe/Podgorica", + "usr/share/zoneinfo/Europe/Prague", + "usr/share/zoneinfo/Europe/Riga", + "usr/share/zoneinfo/Europe/Rome", + "usr/share/zoneinfo/Europe/Samara", + "usr/share/zoneinfo/Europe/San_Marino", + "usr/share/zoneinfo/Europe/Sarajevo", + "usr/share/zoneinfo/Europe/Saratov", + "usr/share/zoneinfo/Europe/Simferopol", + "usr/share/zoneinfo/Europe/Skopje", + "usr/share/zoneinfo/Europe/Sofia", + "usr/share/zoneinfo/Europe/Stockholm", + "usr/share/zoneinfo/Europe/Tallinn", + "usr/share/zoneinfo/Europe/Tirane", + "usr/share/zoneinfo/Europe/Tiraspol", + "usr/share/zoneinfo/Europe/Ulyanovsk", + "usr/share/zoneinfo/Europe/Uzhgorod", + "usr/share/zoneinfo/Europe/Vaduz", + "usr/share/zoneinfo/Europe/Vatican", + "usr/share/zoneinfo/Europe/Vienna", + "usr/share/zoneinfo/Europe/Vilnius", + "usr/share/zoneinfo/Europe/Volgograd", + "usr/share/zoneinfo/Europe/Warsaw", + "usr/share/zoneinfo/Europe/Zagreb", + "usr/share/zoneinfo/Europe/Zaporozhye", + "usr/share/zoneinfo/Europe/Zurich", + "usr/share/zoneinfo/Indian/Antananarivo", + "usr/share/zoneinfo/Indian/Chagos", + "usr/share/zoneinfo/Indian/Christmas", + "usr/share/zoneinfo/Indian/Cocos", + "usr/share/zoneinfo/Indian/Comoro", + "usr/share/zoneinfo/Indian/Kerguelen", + "usr/share/zoneinfo/Indian/Mahe", + "usr/share/zoneinfo/Indian/Maldives", + "usr/share/zoneinfo/Indian/Mauritius", + "usr/share/zoneinfo/Indian/Mayotte", + "usr/share/zoneinfo/Indian/Reunion", + "usr/share/zoneinfo/Mexico/BajaNorte", + "usr/share/zoneinfo/Mexico/BajaSur", + "usr/share/zoneinfo/Mexico/General", + "usr/share/zoneinfo/Pacific/Apia", + "usr/share/zoneinfo/Pacific/Auckland", + "usr/share/zoneinfo/Pacific/Bougainville", + "usr/share/zoneinfo/Pacific/Chatham", + "usr/share/zoneinfo/Pacific/Chuuk", + "usr/share/zoneinfo/Pacific/Easter", + "usr/share/zoneinfo/Pacific/Efate", + "usr/share/zoneinfo/Pacific/Enderbury", + "usr/share/zoneinfo/Pacific/Fakaofo", + "usr/share/zoneinfo/Pacific/Fiji", + "usr/share/zoneinfo/Pacific/Funafuti", + "usr/share/zoneinfo/Pacific/Galapagos", + "usr/share/zoneinfo/Pacific/Gambier", + "usr/share/zoneinfo/Pacific/Guadalcanal", + "usr/share/zoneinfo/Pacific/Guam", + "usr/share/zoneinfo/Pacific/Honolulu", + "usr/share/zoneinfo/Pacific/Johnston", + "usr/share/zoneinfo/Pacific/Kanton", + "usr/share/zoneinfo/Pacific/Kiritimati", + "usr/share/zoneinfo/Pacific/Kosrae", + "usr/share/zoneinfo/Pacific/Kwajalein", + "usr/share/zoneinfo/Pacific/Majuro", + "usr/share/zoneinfo/Pacific/Marquesas", + "usr/share/zoneinfo/Pacific/Midway", + "usr/share/zoneinfo/Pacific/Nauru", + "usr/share/zoneinfo/Pacific/Niue", + "usr/share/zoneinfo/Pacific/Norfolk", + "usr/share/zoneinfo/Pacific/Noumea", + "usr/share/zoneinfo/Pacific/Pago_Pago", + "usr/share/zoneinfo/Pacific/Palau", + "usr/share/zoneinfo/Pacific/Pitcairn", + "usr/share/zoneinfo/Pacific/Pohnpei", + "usr/share/zoneinfo/Pacific/Ponape", + "usr/share/zoneinfo/Pacific/Port_Moresby", + "usr/share/zoneinfo/Pacific/Rarotonga", + "usr/share/zoneinfo/Pacific/Saipan", + "usr/share/zoneinfo/Pacific/Samoa", + "usr/share/zoneinfo/Pacific/Tahiti", + "usr/share/zoneinfo/Pacific/Tarawa", + "usr/share/zoneinfo/Pacific/Tongatapu", + "usr/share/zoneinfo/Pacific/Truk", + "usr/share/zoneinfo/Pacific/Wake", + "usr/share/zoneinfo/Pacific/Wallis", + "usr/share/zoneinfo/Pacific/Yap", + "usr/share/zoneinfo/US/Alaska", + "usr/share/zoneinfo/US/Aleutian", + "usr/share/zoneinfo/US/Arizona", + "usr/share/zoneinfo/US/Central", + "usr/share/zoneinfo/US/East-Indiana", + "usr/share/zoneinfo/US/Eastern", + "usr/share/zoneinfo/US/Hawaii", + "usr/share/zoneinfo/US/Indiana-Starke", + "usr/share/zoneinfo/US/Michigan", + "usr/share/zoneinfo/US/Mountain", + "usr/share/zoneinfo/US/Pacific", + "usr/share/zoneinfo/US/Samoa" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "xz-libs@5.8.3-r0", + "Name": "xz-libs", + "Identifier": { + "PURL": "pkg:apk/alpine/xz-libs@5.8.3-r0?arch=x86_64\u0026distro=3.24.1", + "UID": "1ae658a5f132a091" + }, + "Version": "5.8.3-r0", + "Arch": "x86_64", + "SrcName": "xz", + "SrcVersion": "5.8.3-r0", + "Licenses": [ + "GPL-2.0-or-later", + "0BSD", + "Public-Domain", + "LGPL-2.1-or-later" + ], + "Maintainer": "Natanael Copa \u003cncopa@alpinelinux.org\u003e", + "DependsOn": [ + "musl@1.2.6-r2" + ], + "Layer": { + "Digest": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235", + "DiffID": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + "Digest": "sha1:4c92c5be0c5bef404e93c880eba9037a9b147347", + "InstalledFiles": [ + "usr/lib/liblzma.so.5", + "usr/lib/liblzma.so.5.8.3" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "zlib@1.3.2-r0", + "Name": "zlib", + "Identifier": { + "PURL": "pkg:apk/alpine/zlib@1.3.2-r0?arch=x86_64\u0026distro=3.24.1", + "UID": "e37054a2982d6c16" + }, + "Version": "1.3.2-r0", + "Arch": "x86_64", + "SrcName": "zlib", + "SrcVersion": "1.3.2-r0", + "Licenses": [ + "Zlib" + ], + "Maintainer": "Natanael Copa \u003cncopa@alpinelinux.org\u003e", + "DependsOn": [ + "musl@1.2.6-r2" + ], + "Layer": { + "Digest": "sha256:55afa1ecc21d2bb5e5045f32dafee56272ffd89860bac26f6c32123439af26a4", + "DiffID": "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c" + }, + "Digest": "sha1:dd4c3d102acaef2a71a1495951d55fabc8680613", + "InstalledFiles": [ + "usr/lib/libz.so.1", + "usr/lib/libz.so.1.3.2" + ], + "AnalyzedBy": "apk" + } + ], + "Vulnerabilities": [ + { + "VulnerabilityID": "CVE-2026-85091", + "PkgID": "zlib@1.3.2-r0", + "PkgName": "zlib", + "PkgIdentifier": { + "PURL": "pkg:apk/alpine/zlib@1.3.2-r0?arch=x86_64\u0026distro=3.24.1", + "UID": "e37054a2982d6c16" + }, + "InstalledVersion": "1.3.2-r0", + "FixedVersion": "1.3.2-r1", + "Status": "fixed", + "Layer": { + "Digest": "sha256:55afa1ecc21d2bb5e5045f32dafee56272ffd89860bac26f6c32123439af26a4", + "DiffID": "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c" + }, + "PrimaryURL": "https://avd.aquasec.com/nvd/cve-2026-85091", + "DataSource": { + "ID": "alpine", + "Name": "Alpine Secdb", + "URL": "https://secdb.alpinelinux.org/" + }, + "Fingerprint": "sha256:ceeda859a20a0899c3ebfc8ed22f7f9935b25d2fac00d05c203ecc67a4118973", + "Title": "zlib versions 1.3.1.2 through 1.3.2 contain a heap buffer overflow vul ...", + "Description": "zlib versions 1.3.1.2 through 1.3.2 contain a heap buffer overflow vulnerability in the gz_vacate() function when processing non-blocking gzwrite() operations with stale external buffer pointers. Attackers can trigger the overflow by calling gzprintf() or gzvprintf() after a write stall, causing an unchecked memmove() to write beyond the internal input buffer boundary.", + "Severity": "MEDIUM", + "CweIDs": [ + "CWE-787" + ], + "VendorSeverity": { + "ubuntu": 2 + }, + "References": [ + "https://gist.github.com/thesmartshadow/e0b9481792afb7c31e86fee1ff084490", + "https://github.com/madler/zlib", + "https://github.com/madler/zlib/blob/v1.3.2/gzwrite.c#L393", + "https://www.cve.org/CVERecord?id=CVE-2026-85091", + "https://www.vulncheck.com/advisories/zlib-1.3.1.2-through-1.3.2-heap-buffer-overflow-via-gz-vacate" + ], + "PublishedDate": "2026-09-03T13:06:20.573Z", + "LastModifiedDate": "2026-09-09T20:41:07.123Z" + } + ] + }, + { + "Target": "Python", + "Class": "lang-pkgs", + "Type": "python-pkg", + "Packages": [ + { + "Name": "PyJWT", + "Identifier": { + "PURL": "pkg:pypi/pyjwt@2.15.1", + "UID": "d3f5f9a421b8abc9" + }, + "Version": "2.15.1", + "Licenses": [ + "MIT" + ], + "Layer": { + "Digest": "sha256:82ff17b555d91096dd328eb1e829daaeba9a48d7757143d0b97c35a721f6fb87", + "DiffID": "sha256:648451a0dda84ad04681e32b5ecc7cd5d3a4f0ad84f783e9598d72bc69620d5c" + }, + "FilePath": "opt/venv/lib/python3.12/site-packages/pyjwt-2.15.1.dist-info/METADATA", + "AnalyzedBy": "python-pkg" + }, + { + "Name": "cffi", + "Identifier": { + "PURL": "pkg:pypi/cffi@2.1.1", + "UID": "21042e2f37e33c05" + }, + "Version": "2.1.1", + "Licenses": [ + "MIT-0" + ], + "Layer": { + "Digest": "sha256:82ff17b555d91096dd328eb1e829daaeba9a48d7757143d0b97c35a721f6fb87", + "DiffID": "sha256:648451a0dda84ad04681e32b5ecc7cd5d3a4f0ad84f783e9598d72bc69620d5c" + }, + "FilePath": "opt/venv/lib/python3.12/site-packages/cffi-2.1.1.dist-info/METADATA", + "AnalyzedBy": "python-pkg" + }, + { + "Name": "cryptography", + "Identifier": { + "PURL": "pkg:pypi/cryptography@50.0.1", + "UID": "dcb3df6383fe2a60" + }, + "Version": "50.0.1", + "Licenses": [ + "Apache-2.0 OR BSD-3-Clause" + ], + "Layer": { + "Digest": "sha256:82ff17b555d91096dd328eb1e829daaeba9a48d7757143d0b97c35a721f6fb87", + "DiffID": "sha256:648451a0dda84ad04681e32b5ecc7cd5d3a4f0ad84f783e9598d72bc69620d5c" + }, + "FilePath": "opt/venv/lib/python3.12/site-packages/cryptography-50.0.1.dist-info/METADATA", + "AnalyzedBy": "python-pkg" + }, + { + "Name": "informed-decision", + "Identifier": { + "PURL": "pkg:pypi/informed-decision@0.2.0", + "UID": "7989f2afae8ff568" + }, + "Version": "0.2.0", + "Layer": { + "Digest": "sha256:82ff17b555d91096dd328eb1e829daaeba9a48d7757143d0b97c35a721f6fb87", + "DiffID": "sha256:648451a0dda84ad04681e32b5ecc7cd5d3a4f0ad84f783e9598d72bc69620d5c" + }, + "FilePath": "opt/venv/lib/python3.12/site-packages/informed_decision-0.2.0.dist-info/METADATA", + "AnalyzedBy": "python-pkg" + }, + { + "Name": "pycparser", + "Identifier": { + "PURL": "pkg:pypi/pycparser@3.0", + "UID": "e5a4d03f15a695ff" + }, + "Version": "3.0", + "Licenses": [ + "BSD-3-Clause" + ], + "Layer": { + "Digest": "sha256:82ff17b555d91096dd328eb1e829daaeba9a48d7757143d0b97c35a721f6fb87", + "DiffID": "sha256:648451a0dda84ad04681e32b5ecc7cd5d3a4f0ad84f783e9598d72bc69620d5c" + }, + "FilePath": "opt/venv/lib/python3.12/site-packages/pycparser-3.0.dist-info/METADATA", + "AnalyzedBy": "python-pkg" + }, + { + "Name": "waitress", + "Identifier": { + "PURL": "pkg:pypi/waitress@3.0.2", + "UID": "806e218e1c1e85f" + }, + "Version": "3.0.2", + "Licenses": [ + "ZPL-2.1" + ], + "Layer": { + "Digest": "sha256:82ff17b555d91096dd328eb1e829daaeba9a48d7757143d0b97c35a721f6fb87", + "DiffID": "sha256:648451a0dda84ad04681e32b5ecc7cd5d3a4f0ad84f783e9598d72bc69620d5c" + }, + "FilePath": "opt/venv/lib/python3.12/site-packages/waitress-3.0.2.dist-info/METADATA", + "AnalyzedBy": "python-pkg" + } + ] + } + ] +} diff --git a/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/candidate-image-inspect.json b/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/candidate-image-inspect.json new file mode 100644 index 0000000..eb0297e --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/candidate-image-inspect.json @@ -0,0 +1 @@ +{"Id":"sha256:78bfdcc00a62367ae6190f6569a02b18abf9a943f760e4ac8fb946703348af31","RepoTags":["informed-decision:zlib-r1-local-20261011"],"RepoDigests":["informed-decision@sha256:78bfdcc00a62367ae6190f6569a02b18abf9a943f760e4ac8fb946703348af31"],"Created":"2026-10-11T09:29:32.511197114+02:00","Config":{"User":"10001:10001","ExposedPorts":{"8080/tcp":{},"8081/tcp":{}},"Env":["PATH=/opt/venv/bin:/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin","LANG=C.UTF-8","GPG_KEY=7169605F62C751356D054A26A821E680E5FA6305","PYTHON_VERSION=3.12.14","PYTHON_SHA256=5c8462af5790baf43a321a1559dbe0db06d1be4300fb85fb53c40060668e548a","PYTHONDONTWRITEBYTECODE=1","PYTHONUNBUFFERED=1"],"Entrypoint":["informed-decision-container"],"WorkingDir":"/app","Labels":{"org.opencontainers.image.base.digest":"sha256:763c36402c8be7cc4c1bd1a61623d1aff9116d52241877425b45a7018cc0883a","org.opencontainers.image.revision":"uncommitted-T05-local-preparation","social.coulomb.release.scope":"INFD-WP-0009-T05/zlib-85091-r1","social.coulomb.source.context.sha256":"c554e62a84af340cba15d469a4568f6d0c40923e580b08ed7565e22702b1207d","social.coulomb.source.policy.sha256":"9d7c1be4cb6199d14ef0aaead5f85951f45b0ccbd7c800a7fde922a253566b62"}},"Architecture":"amd64","Os":"linux","Size":31557919,"RootFS":{"Type":"layers","Layers":["sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c","sha256:3ca4be2c6e9ac0223715355253725381000486c2b45bfcb22cf571b6a85a12dd","sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366","sha256:4098ad033525263f92a8a9c51865596025d47018e078c0b1f7d9cd5663fc1ffe","sha256:f9b4a8a412a0c07a489e46fb5db41f9d0dc84d4ec38a4e2c6ab9531f44e0d9f1","sha256:648451a0dda84ad04681e32b5ecc7cd5d3a4f0ad84f783e9598d72bc69620d5c","sha256:361430a1113969743b99e237b20f023d5497493bcf96fb91af99ac0a0dbc4a59","sha256:cfc5939674d67f60b4411c24dfcde5622b712eeb7376cd0941a2751da80a6b02","sha256:21ff9188cb29ca95fe9be11355f70ab5586e8499e33b52a253d953fb3b75aea3","sha256:7d2d2d36795c42e5fe8826af00b9751f2d8c328005571c0ca46c1d8c06bd3007","sha256:264cd36fa61846dbe59ce642a36e8d738c415368e666ed0b6c680dc856e1202e"]},"Metadata":{"LastTagTime":"2026-10-11T07:29:32.766526483Z"},"Descriptor":{"mediaType":"application/vnd.oci.image.manifest.v1+json","digest":"sha256:78bfdcc00a62367ae6190f6569a02b18abf9a943f760e4ac8fb946703348af31","size":2752}} diff --git a/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/candidate-runtime.json b/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/candidate-runtime.json new file mode 100644 index 0000000..f194470 --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/candidate-runtime.json @@ -0,0 +1 @@ +{"uid": 10001, "gid": 10001, "policy_sha256": "9d7c1be4cb6199d14ef0aaead5f85951f45b0ccbd7c800a7fde922a253566b62", "policy_mode": "0o644", "policy_uid": 0, "app_file_sha256": {"__init__.py": "0ffebe048ba583e7b623f60e8f449950dc5fd49afce2398381fa143eee834e19", "__main__.py": "3ba1467fa2d47fcf0bd032e8694904450775adf763a6e6f9e4888cc3ce3ed92b", "approval_client.py": "56c201dda358cb4bef11a15da141bb68562cdde9e37b4a880bf1e9257ae82cb6", "approval_http.py": "dfaac1faed80a068aa78a8c87b80db99b8887a8fc3767eebc9d6261a98f1e334", "audit.py": "06da36a8f3451b4abc7a46da2df66d5939524c170658b879499b2a47a1b10cd3", "canonicalize.py": "517bbc6b81cc839636b97863ebdefd38aa375d10f4915feb9bf21867f992f765", "container.py": "5f40d2321ee3f52673238011116e741e7b2ac17e28119f100fbcc490db208fbc", "disposition.py": "5ddd19c2444f8e6c9bb090d04045cf1227a34554e000f07b3f677325bf8089f8", "evidence.py": "169ed59ac53ef534a6db835ba371a92177c0ffb000b04203507242e2159ebc21", "http_transport.py": "eda90098f8bf2e5a47d819bf6ae0b0d1dcaf9a87aad3cb61503d060be666339a", "hub_writeback.py": "98b9caa8096c2c3eb8ecfe33900a0ace98453e7608f504fd08a64f50156519a3", "intake.py": "a733b4b608b9ea90b2c8293901aa14388a0bf0d3719f121038bfdcc1faca2038", "intake_approval.py": "52f8b3643e4c5c6f56f2ef1fd9c7747da2165f8f88122e93b3f3ee3ecae48c73", "intake_delivery.py": "4771520cc96325d93bc3f8e08005c3d714a5597582cb1adccc0b0fa73dac0b0d", "intake_hub.py": "c3daddce31791a6e82f7b07406ef4d75bccba5a278fab01dab378a06abceabc8", "intake_service.py": "99ea285a725c58b7571e2a69ceb558f16bbcca4ec391607a0cc2d0459de3b318", "lifecycle.py": "e25f865828e541b2889cd6c9afe0ce7ca4441bf35155304cc7de7c86c44b28e8", "lifecycle_commands.py": "783ec451dd7ef33dc0cfd72c1633ea5208dfd463afeaa0b68d279f156a9b0828", "lifecycle_http.py": "d4b95421d54663f041a10b4f42ac9c013493fa7a770223ab45877b451a7a7c7d", "lifecycle_review.py": "b6d69be6c56f3e2f411501083e199195190df6c740a01b07e82a476268ca3629", "lifecycle_service.py": "2dde9280214e68e5e7a7b48d703886947c2a46139ada86e8ff2283a9d4b55a70", "lifecycle_ui.py": "448e9169607c487e362d4d0d1730aec33987b6dcf12c49dfff7de3aaaab7ae03", "memo.py": "697058863a4e6de2c143a2433eaaf5e15e5e7375dc5459af6911b146567e8b5d", "oidc.py": "6b24dac9537a12141a361c4577feaf42f6c197d8d87da16ca47a08daf6916915", "policy.py": "9d7c1be4cb6199d14ef0aaead5f85951f45b0ccbd7c800a7fde922a253566b62", "presentation.py": "54375ccd8358fac41de220bccadbee09f8b7c8ebbeeafaafd381a7456331da50", "provenance.py": "de02c6bf162865ba9619d74cfd68dd0a5d7f81e6c9e427f67f848cb2c2214f83", "records.py": "82f696151895c51b168144a3078d05764da3499b96917c465629ce0836fa8e33", "requester.py": "66de1af80a5fb2442c1e4407148b581de24b671b5f76c9d2a0458d38e27833a8", "review.py": "d4a085b0ee3e65a9976b9b656ec87a8c735be8d74cfdc9bb55feeb90917c688e", "runtime.py": "535940eed76c5f21ec4c379796fbfddfd85fc309aad0de4d64afda06cdc2d3c5", "stance.py": "62b96b76eba4ec277344172f10f6233e979dda4d079f972d9a55c4e5aed96c3c", "store.py": "9c14b10becb99da19349073e9aa691c25a205df4a2c4d932f37d64f13e8d3b41", "ui.py": "ff0671dc7be4d08ab8f0d38504f70afd355ad3a8a6293620c75864ca56a53ec9", "web.py": "bd08a6b0ea0e418ea1e31e46edab6b7478de9779b823af4f5d72fd1346197e42", "workload.py": "b86cebf5e7a8182b24bb7f9fdbd6f0e17b578d690d9f06c541e713d7d995c5e8"}, "apk_packages": {".python-rundeps": "20260901.001029", "alpine-baselayout": "3.7.2-r1", "alpine-baselayout-data": "3.7.2-r1", "alpine-keys": "2.6-r0", "alpine-release": "3.24.1-r0", "apk-tools": "3.0.6-r0", "busybox": "1.37.0-r31", "busybox-binsh": "1.37.0-r31", "ca-certificates": "20260611-r0", "ca-certificates-bundle": "20260611-r0", "gdbm": "1.26-r0", "keyutils-libs": "1.6.3-r4", "krb5-conf": "1.0-r2", "krb5-libs": "1.22.2-r1", "libapk": "3.0.6-r0", "libbz2": "1.0.8-r6", "libcom_err": "1.47.4-r0", "libcrypto3": "3.5.8-r0", "libffi": "3.5.2-r1", "libintl": "1.0-r0", "libncursesw": "6.6_p20260516-r0", "libnsl": "2.0.1-r2", "libpanelw": "6.6_p20260516-r0", "libssl3": "3.5.8-r0", "libtirpc": "1.3.5-r1", "libtirpc-conf": "1.3.5-r1", "libuuid": "2.42.3-r1", "libverto": "0.3.2-r2", "musl": "1.2.6-r2", "musl-utils": "1.2.6-r2", "ncurses-terminfo-base": "6.6_p20260516-r0", "readline": "8.3.3-r1", "scanelf": "1.3.9-r1", "sqlite-libs": "3.53.4-r0", "ssl_client": "1.37.0-r31", "tzdata": "2026c-r0", "xz-libs": "5.8.3-r0", "zlib": "1.3.2-r1"}, "apk_world_sha256": "61a659443a49627ba7114faa13a4870a2ede26b314064829ced169412be7002e", "apk_keys_sha256": {"alpine-devel@lists.alpinelinux.org-4a6a0840.rsa.pub": "9c102bcc376af1498d549b77bdbfa815ae86faa1d2d82f040e616b18ef2df2d4", "alpine-devel@lists.alpinelinux.org-5261cecb.rsa.pub": "12f899e55a7691225603d6fb3324940fc51cd7f133e7ead788663c2b7eecb00c", "alpine-devel@lists.alpinelinux.org-6165ee59.rsa.pub": "207e4696d3c05f7cb05966aee557307151f1f00217af4143c1bcaf33b8df733f"}, "python_dependencies": {"informed-decision": "0.2.0", "PyJWT": "2.15.1", "cryptography": "50.0.1", "cffi": "2.1.1", "pycparser": "3.0", "waitress": "3.0.2"}, "zlib_runtime_version": "1.3.2", "zlib_compile_version": "1.3.2", "libz_sha256": "ecc8b9dfc45eb7fa29b410ffaca6257873890de53b80fe91735737b49067c5f2", "compression_vectors_pass": 4, "malformed_zlib_refusals": 3, "crypto_jwt_waitress_smoke": true, "openssl": "OpenSSL 3.5.8 25 Aug 2026", "network_accessed": false, "database_opened": false, "provider_or_customer_data_used": false} diff --git a/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/context-source.json b/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/context-source.json new file mode 100644 index 0000000..14db792 --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/context-source.json @@ -0,0 +1,9 @@ +{ + "files": { + ".dockerignore": "ce3fa53cfe2c963c7fec4f2333a8af84a40740f144605a5aea795bcd6ac9eb8a", + "Containerfile": "5e4d9b39e37fed95d729503deb0e9c414ae63d2779b02306beaadc94675d4f15", + "zlib-1.3.2-r1.apk": "63aeea03c15a2f9018f81805cfc8aa926bdf5cd68921f22149c2fbb5d0ee9f47", + "APKINDEX.tar.gz": "24fc2ccb08f3125429a38b31bd6c76a7b394c6236df0975760dc8259e50dfbd5" + }, + "context_sha256": "c554e62a84af340cba15d469a4568f6d0c40923e580b08ed7565e22702b1207d" +} diff --git a/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/download-receipt.json b/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/download-receipt.json new file mode 100644 index 0000000..a3da11e --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/download-receipt.json @@ -0,0 +1,12 @@ +{ + "zlib-1.3.2-r1.apk": { + "url": "https://dl-cdn.alpinelinux.org/alpine/v3.24/main/x86_64/zlib-1.3.2-r1.apk", + "sha256": "63aeea03c15a2f9018f81805cfc8aa926bdf5cd68921f22149c2fbb5d0ee9f47", + "bytes": 56210 + }, + "APKINDEX.tar.gz": { + "url": "https://dl-cdn.alpinelinux.org/alpine/v3.24/main/x86_64/APKINDEX.tar.gz", + "sha256": "24fc2ccb08f3125429a38b31bd6c76a7b394c6236df0975760dc8259e50dfbd5", + "bytes": 528370 + } +} diff --git a/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/local-candidate-verification.json b/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/local-candidate-verification.json new file mode 100644 index 0000000..a32a636 --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/local-candidate-verification.json @@ -0,0 +1,102 @@ +{ + "task_id": "INFD-WP-0009-T05", + "risk_record": "INFD-RISK-20261011-ZLIB-85091", + "state": "local-source-candidate-verified-unpublished-unapproved", + "base_image": "forgejo.coulomb.social/coulomb/informed-decision@sha256:763c36402c8be7cc4c1bd1a61623d1aff9116d52241877425b45a7018cc0883a", + "candidate_docker_daemon_image_id": "sha256:78bfdcc00a62367ae6190f6569a02b18abf9a943f760e4ac8fb946703348af31", + "candidate_saved_oci_config_digest": "sha256:625d066416e901eaa2db5e18b96c37559b25dd91bdc3afb3d1ff5e916c7a8a3f", + "candidate_registry_digest": null, + "source_revision": "uncommitted-T05-local-preparation", + "source_context_sha256": "c554e62a84af340cba15d469a4568f6d0c40923e580b08ed7565e22702b1207d", + "build_inputs": { + ".dockerignore": "ce3fa53cfe2c963c7fec4f2333a8af84a40740f144605a5aea795bcd6ac9eb8a", + "Containerfile": "5e4d9b39e37fed95d729503deb0e9c414ae63d2779b02306beaadc94675d4f15", + "zlib-1.3.2-r1.apk": "63aeea03c15a2f9018f81805cfc8aa926bdf5cd68921f22149c2fbb5d0ee9f47", + "APKINDEX.tar.gz": "24fc2ccb08f3125429a38b31bd6c76a7b394c6236df0975760dc8259e50dfbd5" + }, + "official_downloads": { + "zlib-1.3.2-r1.apk": { + "url": "https://dl-cdn.alpinelinux.org/alpine/v3.24/main/x86_64/zlib-1.3.2-r1.apk", + "sha256": "63aeea03c15a2f9018f81805cfc8aa926bdf5cd68921f22149c2fbb5d0ee9f47", + "bytes": 56210 + }, + "APKINDEX.tar.gz": { + "url": "https://dl-cdn.alpinelinux.org/alpine/v3.24/main/x86_64/APKINDEX.tar.gz", + "sha256": "24fc2ccb08f3125429a38b31bd6c76a7b394c6236df0975760dc8259e50dfbd5", + "bytes": 528370 + } + }, + "signature_verification": "Actual apk verify package+index returned OK against keys installed in exact763 base; no allow-untrusted", + "package_delta": { + "zlib": [ + "1.3.2-r0", + "1.3.2-r1" + ] + }, + "official_aports_commit": "0afa2da0e8c8051c6f8f64a7a388e5a259904245", + "final_files_changed": [ + "lib/apk/db/installed", + "usr/lib/libz.so.1.3.2" + ], + "base_layers_preserved": 9, + "effective_runtime_configuration_unchanged": true, + "raw_config_serialization_unchanged": false, + "serialization_caveat": "Legacy base explicitly serialized empty/false/null defaults; candidate Docker-save config omits equivalent known defaults. Exact closed default normalization only; runtime fields unchanged.", + "app_files_unchanged": 36, + "policy_sha256": "9d7c1be4cb6199d14ef0aaead5f85951f45b0ccbd7c800a7fde922a253566b62", + "installed_purpose_variants_pass": 10, + "purpose_transport_synthetic": true, + "native_provider_test": false, + "compression_vectors_pass": 4, + "malformed_zlib_refusals": 3, + "crypto_jwt_waitress_smoke": true, + "source_negative_tests": 4, + "source_negative_mutations": 8, + "full_sbom_package_count": 44, + "baseline_full_scan_findings": { + "MEDIUM": 1, + "id": "CVE-2026-85091" + }, + "candidate_full_scan_allseverity_findings": 0, + "scanner": "aquasec/trivy@sha256:62b1e65e8869bc4b4c6aa4fa2b21595256c7c2f6018a9d9ad61caf87187c1969 v0.74", + "scanner_db_metadata": { + "Version": 2, + "NextUpdate": "2026-10-11T18:59:50.889010572Z", + "UpdatedAt": "2026-10-10T18:59:50.889010923Z", + "DownloadedAt": "2026-10-10T23:32:32.380033131Z" + }, + "scanner_db_sha256": "03cacb40452ceb74afdfca072cb82f79ee884dfac006ef24a4dfdad133b0f917", + "scan_caveat": "Alpine3.24 absent EOL list warning; actual OS detector ran38OS+6Python. Zero findings is this DB snapshot, not unknown-future vulnerability assurance or estate risk grade.", + "suppression_or_severity_filter": false, + "evidence_file_sha256": { + "artifact-comparison.json": "8d84bfb20cc6c64c85b4b6fcb76d7e1113ebbfcadcd4d5c54ffb4121d73e4dfa", + "base-runtime.json": "20aabb9f4846ab4fa6e28e0763d153188da151ee32293366a51b0fdf872a4d24", + "base-sbom.cdx.json": "bb40bcd500ec91ad16affe116e74357ab4090827dd930e2186dc99988403bc50", + "base-trivy-full.json": "1b683afb558fedcc20b921599eca536551296afecbc81ce062c359f1b26cfac6", + "candidate-image-inspect.json": "56466225f35cdf23c5540c0cc37c77424755ca42794e81f2c99ccf13840c34de", + "candidate-runtime.json": "d58e60bdc69458fe42af8248e02acd924b3b605c828877352a7d9a3953e90124", + "context-source.json": "cccf41cf766a037f31f9ab29ae57f6b34c00e0237c94a8a0ce61c9c78fd06828", + "download-receipt.json": "847fce8466807e88a54ea5e374c2ac49ffa25e208697e71e94d83a5cc185b40d", + "official-zlib-index-entry.txt": "63b6831755f33c4fe7c8d7dd49cf2a60251edfcd45e4555f2731941939cb8d0a", + "official-zlib-package-info.txt": "395e0ee97996853c6cf03f17dfe25b57d109b0432c6faabb585d78e6ac6f534a", + "sbom.cdx.json": "287a61e1aaf78b58c014726e9bcc1ddc2c46949ac0ee74d53fccae3007eac1bb", + "trivy-full.json": "fd37bc2d502a9f017f673486f0f960433fc0fc12dcd745e5ed8074e9c3b600d9", + "verify_local_artifacts.py": "6706f62937a742a9c5cc00c42d6261d67d4f1e675b868e67db70dc0b5be03afa" + }, + "local_saved_image_tar_sha256": "0142526048de5662b4afc1ff7b82b5bf4554642ff811e29f364082e5de9be075", + "local_saved_image_tar_owner_attachment": false, + "build_resource_bound": "legacy builder --network none,256MiB/oneCPU; runtime128MiB/oneCPU; scanner1GiB/oneCPU", + "native_runtime_or_database_or_customer_data_or_credentials_accessed": false, + "native_backup_or_rollout": false, + "owner_source_edits_or_push": false, + "registry_publication_executed": false, + "founder_release_approval": false, + "workflow_yaml_and_bash_syntax": "passed, exact SHA/fixedowner context and admittedexistingregistry capability; CIactualbuild not executed", + "local_refinements_retained": [ + "Initial build --cpus flag unavailable in buildx; switched to explicit existinglegacy builder boundedquota", + "APK preupgrade=false argument refused; corrected no-preupgrade flag", + "Filesystem check found apk.log metadata delta; no-logfile confines finaldiff to twofiles", + "One intermediate local build context accidentally included public scan cache/export artifacts1.529GB; corrected separate4file context and .dockerignore(finaltransfer589.8kB); no secrets/native data involved", + "Read-only cache copy tried inaccessible priorfanal; isolated DB-only copy exactSHA03cacb... used; no ownership/permission loosening" + ] +} diff --git a/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/official-zlib-index-entry.txt b/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/official-zlib-index-entry.txt new file mode 100644 index 0000000..5cc6c46 --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/official-zlib-index-entry.txt @@ -0,0 +1,15 @@ +C:Q1T1JcjMIE+EuLTKQNs744mVjwVsY= +P:zlib +V:1.3.2-r1 +A:x86_64 +S:56210 +I:108376 +T:A compression/decompression Library +U:https://zlib.net/ +L:Zlib +o:zlib +m:Natanael Copa +t:1791318860 +c:0afa2da0e8c8051c6f8f64a7a388e5a259904245 +D:so:libc.musl-x86_64.so.1 +p:so:libz.so.1=1.3.2 diff --git a/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/official-zlib-package-info.txt b/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/official-zlib-package-info.txt new file mode 100644 index 0000000..35e8543 --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/official-zlib-package-info.txt @@ -0,0 +1,18 @@ +# Generated by abuild 3.17.0-r0 +# using fakeroot version 1.37.2 +pkgname = zlib +pkgver = 1.3.2-r1 +pkgdesc = A compression/decompression Library +url = https://zlib.net/ +builddate = 1791318860 +packager = Buildozer +size = 108376 +arch = x86_64 +origin = zlib +commit = 0afa2da0e8c8051c6f8f64a7a388e5a259904245 +maintainer = Natanael Copa +license = Zlib +# automatically detected: +provides = so:libz.so.1=1.3.2 +depend = so:libc.musl-x86_64.so.1 +datahash = 9839ce70203b5f89b54614de122f9086f58d09ad01cb95b3ba85049655f47d3b diff --git a/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/proposal.json b/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/proposal.json new file mode 100644 index 0000000..3fc6402 --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/proposal.json @@ -0,0 +1,26 @@ +{ + "proposal_id": "INFD-WP-0009-T05/zlib-85091-r1", + "state": "prepared-local-candidate-unpublished-unapproved", + "task_id": "INFD-WP-0009-T05", + "risk_record": "INFD-RISK-20261011-ZLIB-85091", + "candidate_local_image_id": "sha256:78bfdcc00a62367ae6190f6569a02b18abf9a943f760e4ac8fb946703348af31", + "candidate_registry_digest": null, + "base_image": "forgejo.coulomb.social/coulomb/informed-decision@sha256:763c36402c8be7cc4c1bd1a61623d1aff9116d52241877425b45a7018cc0883a", + "source_context_sha256": "c554e62a84af340cba15d469a4568f6d0c40923e580b08ed7565e22702b1207d", + "scope": "Only zlib1.3.2-r0\u2192r1 from signedofficialAlpine3.24/x86_64main package; no broaderAlpine/Python/base/app refresh", + "scan": "Actualfull44package sameDB base1MED\u2192candidate0allseverity,no suppressions", + "native_effect": "None prepared/applied; laterpublishedregistryproof and distinct exactfounderDeployment-only release proposal required. Current763 image/schema5/config/policy9d/identity/PVC/credentials/nativec96T04outcome and protectedjournals untouched.", + "next_gates": [ + "Rootsourceapply/review/commit and normaladmittedownerCIcandidatepublication(no borrowedcredential/newgrant)", + "Exact CI/sourceSHA registrydescriptor/layer/config/signature/pkgreadback + actualpublishedfullscan/SBOM/sourcecontext proof", + "Scopednewimagecandidate sourcevalues onlyafteractualdigest, freshmetadata/admission/diff/UID/capacity/sealedconfig/storage checks and exactdistinctinformeddecisionfounderapproval", + "Actualinstalledr1/hash/runtimepurpose/reliability/fullscan verification beforeT05complete; same-schema rollbackto763 preservescurrentDB" + ], + "rollback": "Futureimage-onlyrollbacktoexact763, keepcurrentDB/schema5/config/records; no snapshotrestore/helper/journalrewrite", + "manual_review_due": "2026-10-18", + "automatic_controller": false, + "cost_estimate_EUR": 0, + "cost_caveat": "Existinglocal/CI compute and~0.6MiBpublicsourcecontext, image/scan artifacts andattendedengineering unpriced; no estateincidentloss/autonomygrant", + "maker_only": true, + "human_native_release_approval": false +} diff --git a/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/sbom.cdx.json b/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/sbom.cdx.json new file mode 100644 index 0000000..c37c6b8 --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/sbom.cdx.json @@ -0,0 +1,2517 @@ +{ + "$schema": "http://cyclonedx.org/schema/bom-1.7.schema.json", + "bomFormat": "CycloneDX", + "specVersion": "1.7", + "serialNumber": "urn:uuid:d5bad06c-fbb6-43dc-ad11-350bac137879", + "version": 1, + "metadata": { + "timestamp": "2026-10-11T07:31:28+00:00", + "tools": { + "components": [ + { + "type": "application", + "manufacturer": { + "name": "Aqua Security Software Ltd." + }, + "group": "aquasecurity", + "name": "trivy", + "version": "0.74.0" + } + ] + }, + "component": { + "bom-ref": "826fbc25-7bf3-47dc-8757-1977ae81aac7", + "type": "container", + "name": "/artifact/image.tar", + "properties": [ + { + "name": "aquasecurity:trivy:DiffID", + "value": "sha256:21ff9188cb29ca95fe9be11355f70ab5586e8499e33b52a253d953fb3b75aea3" + }, + { + "name": "aquasecurity:trivy:DiffID", + "value": "sha256:264cd36fa61846dbe59ce642a36e8d738c415368e666ed0b6c680dc856e1202e" + }, + { + "name": "aquasecurity:trivy:DiffID", + "value": "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c" + }, + { + "name": "aquasecurity:trivy:DiffID", + "value": "sha256:361430a1113969743b99e237b20f023d5497493bcf96fb91af99ac0a0dbc4a59" + }, + { + "name": "aquasecurity:trivy:DiffID", + "value": "sha256:3ca4be2c6e9ac0223715355253725381000486c2b45bfcb22cf571b6a85a12dd" + }, + { + "name": "aquasecurity:trivy:DiffID", + "value": "sha256:4098ad033525263f92a8a9c51865596025d47018e078c0b1f7d9cd5663fc1ffe" + }, + { + "name": "aquasecurity:trivy:DiffID", + "value": "sha256:648451a0dda84ad04681e32b5ecc7cd5d3a4f0ad84f783e9598d72bc69620d5c" + }, + { + "name": "aquasecurity:trivy:DiffID", + "value": "sha256:7d2d2d36795c42e5fe8826af00b9751f2d8c328005571c0ca46c1d8c06bd3007" + }, + { + "name": "aquasecurity:trivy:DiffID", + "value": "sha256:cfc5939674d67f60b4411c24dfcde5622b712eeb7376cd0941a2751da80a6b02" + }, + { + "name": "aquasecurity:trivy:DiffID", + "value": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + { + "name": "aquasecurity:trivy:DiffID", + "value": "sha256:f9b4a8a412a0c07a489e46fb5db41f9d0dc84d4ec38a4e2c6ab9531f44e0d9f1" + }, + { + "name": "aquasecurity:trivy:ImageID", + "value": "sha256:625d066416e901eaa2db5e18b96c37559b25dd91bdc3afb3d1ff5e916c7a8a3f" + }, + { + "name": "aquasecurity:trivy:Labels:org.opencontainers.image.base.digest", + "value": "sha256:763c36402c8be7cc4c1bd1a61623d1aff9116d52241877425b45a7018cc0883a" + }, + { + "name": "aquasecurity:trivy:Labels:org.opencontainers.image.revision", + "value": "uncommitted-T05-local-preparation" + }, + { + "name": "aquasecurity:trivy:Labels:social.coulomb.release.scope", + "value": "INFD-WP-0009-T05/zlib-85091-r1" + }, + { + "name": "aquasecurity:trivy:Labels:social.coulomb.source.context.sha256", + "value": "c554e62a84af340cba15d469a4568f6d0c40923e580b08ed7565e22702b1207d" + }, + { + "name": "aquasecurity:trivy:Labels:social.coulomb.source.policy.sha256", + "value": "9d7c1be4cb6199d14ef0aaead5f85951f45b0ccbd7c800a7fde922a253566b62" + }, + { + "name": "aquasecurity:trivy:Reference", + "value": "informed-decision:zlib-r1-local-20261011" + }, + { + "name": "aquasecurity:trivy:RepoTag", + "value": "informed-decision:zlib-r1-local-20261011" + }, + { + "name": "aquasecurity:trivy:SchemaVersion", + "value": "2" + }, + { + "name": "aquasecurity:trivy:Size", + "value": "89032192" + } + ] + } + }, + "components": [ + { + "bom-ref": "e38bd52f-08ed-4477-902a-c1cdf68a9c1b", + "type": "operating-system", + "name": "alpine", + "version": "3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:Class", + "value": "os-pkgs" + }, + { + "name": "aquasecurity:trivy:Type", + "value": "alpine" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/.python-rundeps@20260901.001029?arch=noarch&distro=3.24.1", + "type": "library", + "name": ".python-rundeps", + "version": "20260901.001029", + "hashes": [ + { + "alg": "SHA-1", + "content": "51d0c1e7d88a414345799f0309185c625013ef32" + } + ], + "purl": "pkg:apk/alpine/.python-rundeps@20260901.001029?arch=noarch&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": ".python-rundeps@20260901.001029" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/alpine-baselayout-data@3.7.2-r1?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Natanael Copa " + }, + "name": "alpine-baselayout-data", + "version": "3.7.2-r1", + "hashes": [ + { + "alg": "SHA-1", + "content": "c6f9bded17d844b6f1b0bb5766d2c35c0d5c8508" + } + ], + "licenses": [ + { + "license": { + "id": "GPL-2.0-only" + } + } + ], + "purl": "pkg:apk/alpine/alpine-baselayout-data@3.7.2-r1?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:55afa1ecc21d2bb5e5045f32dafee56272ffd89860bac26f6c32123439af26a4" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "alpine-baselayout-data@3.7.2-r1" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "alpine-baselayout" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "3.7.2-r1" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/alpine-baselayout@3.7.2-r1?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Natanael Copa " + }, + "name": "alpine-baselayout", + "version": "3.7.2-r1", + "hashes": [ + { + "alg": "SHA-1", + "content": "f0fcfdc2f4da058af6473bc45c4eab62916225b2" + } + ], + "licenses": [ + { + "license": { + "id": "GPL-2.0-only" + } + } + ], + "purl": "pkg:apk/alpine/alpine-baselayout@3.7.2-r1?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:55afa1ecc21d2bb5e5045f32dafee56272ffd89860bac26f6c32123439af26a4" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "alpine-baselayout@3.7.2-r1" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "alpine-baselayout" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "3.7.2-r1" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/alpine-keys@2.6-r0?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Natanael Copa " + }, + "name": "alpine-keys", + "version": "2.6-r0", + "hashes": [ + { + "alg": "SHA-1", + "content": "d8d6b80e53c059a77e4915da78ba964f3ffea240" + } + ], + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "purl": "pkg:apk/alpine/alpine-keys@2.6-r0?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:55afa1ecc21d2bb5e5045f32dafee56272ffd89860bac26f6c32123439af26a4" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "alpine-keys@2.6-r0" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "alpine-keys" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "2.6-r0" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/alpine-release@3.24.1-r0?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Natanael Copa " + }, + "name": "alpine-release", + "version": "3.24.1-r0", + "hashes": [ + { + "alg": "SHA-1", + "content": "bc6912a25cdc7733e0035ed509eceaa4026946e3" + } + ], + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "purl": "pkg:apk/alpine/alpine-release@3.24.1-r0?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:55afa1ecc21d2bb5e5045f32dafee56272ffd89860bac26f6c32123439af26a4" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "alpine-release@3.24.1-r0" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "alpine-base" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "3.24.1-r0" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/apk-tools@3.0.6-r0?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Natanael Copa " + }, + "name": "apk-tools", + "version": "3.0.6-r0", + "hashes": [ + { + "alg": "SHA-1", + "content": "043333589798a1f52e09ae63f026c6c8fa676d34" + } + ], + "licenses": [ + { + "license": { + "id": "GPL-2.0-only" + } + } + ], + "purl": "pkg:apk/alpine/apk-tools@3.0.6-r0?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:55afa1ecc21d2bb5e5045f32dafee56272ffd89860bac26f6c32123439af26a4" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "apk-tools@3.0.6-r0" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "apk-tools" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "3.0.6-r0" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/busybox-binsh@1.37.0-r31?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Sören Tempel " + }, + "name": "busybox-binsh", + "version": "1.37.0-r31", + "hashes": [ + { + "alg": "SHA-1", + "content": "5cbd14acc6f1804c5bac6c77dc2c492f010b0fc7" + } + ], + "licenses": [ + { + "license": { + "id": "GPL-2.0-only" + } + } + ], + "purl": "pkg:apk/alpine/busybox-binsh@1.37.0-r31?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:55afa1ecc21d2bb5e5045f32dafee56272ffd89860bac26f6c32123439af26a4" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "busybox-binsh@1.37.0-r31" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "busybox" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "1.37.0-r31" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/busybox@1.37.0-r31?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Sören Tempel " + }, + "name": "busybox", + "version": "1.37.0-r31", + "hashes": [ + { + "alg": "SHA-1", + "content": "b5405ebc02f7dd8be95b6265c54b243d5456ab8f" + } + ], + "licenses": [ + { + "license": { + "id": "GPL-2.0-only" + } + } + ], + "purl": "pkg:apk/alpine/busybox@1.37.0-r31?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:55afa1ecc21d2bb5e5045f32dafee56272ffd89860bac26f6c32123439af26a4" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "busybox@1.37.0-r31" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "busybox" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "1.37.0-r31" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/ca-certificates-bundle@20260611-r0?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Natanael Copa " + }, + "name": "ca-certificates-bundle", + "version": "20260611-r0", + "hashes": [ + { + "alg": "SHA-1", + "content": "c9534a03750bdfae341f10969016090fc11febbd" + } + ], + "licenses": [ + { + "license": { + "id": "MPL-2.0" + } + }, + { + "license": { + "id": "MIT" + } + } + ], + "purl": "pkg:apk/alpine/ca-certificates-bundle@20260611-r0?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:55afa1ecc21d2bb5e5045f32dafee56272ffd89860bac26f6c32123439af26a4" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "ca-certificates-bundle@20260611-r0" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "ca-certificates" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "20260611-r0" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/ca-certificates@20260611-r0?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Natanael Copa " + }, + "name": "ca-certificates", + "version": "20260611-r0", + "hashes": [ + { + "alg": "SHA-1", + "content": "8f2a04abeb54b331e2970a0a0dffb7bd6bdde567" + } + ], + "licenses": [ + { + "license": { + "id": "MPL-2.0" + } + }, + { + "license": { + "id": "MIT" + } + } + ], + "purl": "pkg:apk/alpine/ca-certificates@20260611-r0?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:3ca4be2c6e9ac0223715355253725381000486c2b45bfcb22cf571b6a85a12dd" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:47393b668ce535d06e8967917d424c177e2ecccae83856d48b2e99164f8cc6cb" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "ca-certificates@20260611-r0" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "ca-certificates" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "20260611-r0" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/gdbm@1.26-r0?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Natanael Copa " + }, + "name": "gdbm", + "version": "1.26-r0", + "hashes": [ + { + "alg": "SHA-1", + "content": "619493d8124fe49a8ee1d8f7a1372cf7e3977337" + } + ], + "licenses": [ + { + "license": { + "id": "GPL-3.0-or-later" + } + } + ], + "purl": "pkg:apk/alpine/gdbm@1.26-r0?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "gdbm@1.26-r0" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "gdbm" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "1.26-r0" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/keyutils-libs@1.6.3-r4?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Natanael Copa " + }, + "name": "keyutils-libs", + "version": "1.6.3-r4", + "hashes": [ + { + "alg": "SHA-1", + "content": "b7331c96f077fc3522ee4361a441d1097204cd90" + } + ], + "licenses": [ + { + "license": { + "id": "GPL-2.0-or-later" + } + }, + { + "license": { + "id": "LGPL-2.0-or-later" + } + } + ], + "purl": "pkg:apk/alpine/keyutils-libs@1.6.3-r4?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "keyutils-libs@1.6.3-r4" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "keyutils" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "1.6.3-r4" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/krb5-conf@1.0-r2?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Natanael Copa " + }, + "name": "krb5-conf", + "version": "1.0-r2", + "hashes": [ + { + "alg": "SHA-1", + "content": "40a11e0690a59e110367b62a80661024e9942a2d" + } + ], + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "purl": "pkg:apk/alpine/krb5-conf@1.0-r2?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "krb5-conf@1.0-r2" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "krb5-conf" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "1.0-r2" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/krb5-libs@1.22.2-r1?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Natanael Copa " + }, + "name": "krb5-libs", + "version": "1.22.2-r1", + "hashes": [ + { + "alg": "SHA-1", + "content": "ef02346e21b817ff379e4601e5b1fc9760e5e31a" + } + ], + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "purl": "pkg:apk/alpine/krb5-libs@1.22.2-r1?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "krb5-libs@1.22.2-r1" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "krb5" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "1.22.2-r1" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/libapk@3.0.6-r0?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Natanael Copa " + }, + "name": "libapk", + "version": "3.0.6-r0", + "hashes": [ + { + "alg": "SHA-1", + "content": "523a8f58104589f74f743d501c81bf6517155378" + } + ], + "licenses": [ + { + "license": { + "id": "GPL-2.0-only" + } + } + ], + "purl": "pkg:apk/alpine/libapk@3.0.6-r0?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:55afa1ecc21d2bb5e5045f32dafee56272ffd89860bac26f6c32123439af26a4" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "libapk@3.0.6-r0" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "apk-tools" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "3.0.6-r0" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/libbz2@1.0.8-r6?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Natanael Copa " + }, + "name": "libbz2", + "version": "1.0.8-r6", + "hashes": [ + { + "alg": "SHA-1", + "content": "08566ba5c7af97c25474be8b24e8b48f0116b67d" + } + ], + "licenses": [ + { + "license": { + "name": "bzip-2-1.0.6" + } + } + ], + "purl": "pkg:apk/alpine/libbz2@1.0.8-r6?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "libbz2@1.0.8-r6" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "bzip2" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "1.0.8-r6" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/libcom_err@1.47.4-r0?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Natanael Copa " + }, + "name": "libcom_err", + "version": "1.47.4-r0", + "hashes": [ + { + "alg": "SHA-1", + "content": "4b9fb5899ea0b1c0cfbb2a2c5952704437d4ecef" + } + ], + "licenses": [ + { + "license": { + "id": "GPL-2.0-or-later" + } + }, + { + "license": { + "id": "LGPL-2.0-or-later" + } + }, + { + "license": { + "id": "BSD-3-Clause" + } + }, + { + "license": { + "id": "MIT" + } + } + ], + "purl": "pkg:apk/alpine/libcom_err@1.47.4-r0?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "libcom_err@1.47.4-r0" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "e2fsprogs" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "1.47.4-r0" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/libcrypto3@3.5.8-r0?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Natanael Copa " + }, + "name": "libcrypto3", + "version": "3.5.8-r0", + "hashes": [ + { + "alg": "SHA-1", + "content": "1b3b9fc0c136f4936932bcb2ec21499f0ae5dfd3" + } + ], + "licenses": [ + { + "license": { + "id": "Apache-2.0" + } + } + ], + "purl": "pkg:apk/alpine/libcrypto3@3.5.8-r0?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "libcrypto3@3.5.8-r0" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "openssl" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "3.5.8-r0" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/libffi@3.5.2-r1?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Natanael Copa " + }, + "name": "libffi", + "version": "3.5.2-r1", + "hashes": [ + { + "alg": "SHA-1", + "content": "2f7b261f7fcecc4eebd8b330e7f6fb80713bfe3a" + } + ], + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "purl": "pkg:apk/alpine/libffi@3.5.2-r1?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "libffi@3.5.2-r1" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "libffi" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "3.5.2-r1" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/libintl@1.0-r0?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Carlo Landmeter " + }, + "name": "libintl", + "version": "1.0-r0", + "hashes": [ + { + "alg": "SHA-1", + "content": "282d6642ccac87237e43a864159d73cf5abe7550" + } + ], + "licenses": [ + { + "license": { + "id": "LGPL-2.1-or-later" + } + } + ], + "purl": "pkg:apk/alpine/libintl@1.0-r0?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "libintl@1.0-r0" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "gettext" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "1.0-r0" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/libncursesw@6.6_p20260516-r0?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Milan P. Stanić " + }, + "name": "libncursesw", + "version": "6.6_p20260516-r0", + "hashes": [ + { + "alg": "SHA-1", + "content": "9f318e6e324d6827274829194cf6ac6afbaded12" + } + ], + "licenses": [ + { + "license": { + "name": "X-11" + } + } + ], + "purl": "pkg:apk/alpine/libncursesw@6.6_p20260516-r0?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "libncursesw@6.6_p20260516-r0" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "ncurses" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "6.6_p20260516-r0" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/libnsl@2.0.1-r2?arch=x86_64&distro=3.24.1", + "type": "library", + "name": "libnsl", + "version": "2.0.1-r2", + "hashes": [ + { + "alg": "SHA-1", + "content": "5194adbf26560b52be318481a7af294ab05fd795" + } + ], + "licenses": [ + { + "license": { + "id": "LGPL-2.0-or-later" + } + } + ], + "purl": "pkg:apk/alpine/libnsl@2.0.1-r2?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "libnsl@2.0.1-r2" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "libnsl" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "2.0.1-r2" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/libpanelw@6.6_p20260516-r0?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Milan P. Stanić " + }, + "name": "libpanelw", + "version": "6.6_p20260516-r0", + "hashes": [ + { + "alg": "SHA-1", + "content": "149bdc434232ed11fc5bb975ba519a07154a6f56" + } + ], + "licenses": [ + { + "license": { + "name": "X-11" + } + } + ], + "purl": "pkg:apk/alpine/libpanelw@6.6_p20260516-r0?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "libpanelw@6.6_p20260516-r0" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "ncurses" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "6.6_p20260516-r0" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/libssl3@3.5.8-r0?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Natanael Copa " + }, + "name": "libssl3", + "version": "3.5.8-r0", + "hashes": [ + { + "alg": "SHA-1", + "content": "5f9b1e55d821953d2e2b1db322dad70a3b5041ea" + } + ], + "licenses": [ + { + "license": { + "id": "Apache-2.0" + } + } + ], + "purl": "pkg:apk/alpine/libssl3@3.5.8-r0?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "libssl3@3.5.8-r0" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "openssl" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "3.5.8-r0" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/libtirpc-conf@1.3.5-r1?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Natanael Copa " + }, + "name": "libtirpc-conf", + "version": "1.3.5-r1", + "hashes": [ + { + "alg": "SHA-1", + "content": "0c17d9988dc986c90e22f79778df047eca9973ff" + } + ], + "licenses": [ + { + "license": { + "id": "BSD-3-Clause" + } + } + ], + "purl": "pkg:apk/alpine/libtirpc-conf@1.3.5-r1?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "libtirpc-conf@1.3.5-r1" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "libtirpc" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "1.3.5-r1" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/libtirpc@1.3.5-r1?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Natanael Copa " + }, + "name": "libtirpc", + "version": "1.3.5-r1", + "hashes": [ + { + "alg": "SHA-1", + "content": "c32865bd86a8b8829d152279cabbc5ac6d430eb2" + } + ], + "licenses": [ + { + "license": { + "id": "BSD-3-Clause" + } + } + ], + "purl": "pkg:apk/alpine/libtirpc@1.3.5-r1?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "libtirpc@1.3.5-r1" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "libtirpc" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "1.3.5-r1" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/libuuid@2.42.3-r1?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Natanael Copa " + }, + "name": "libuuid", + "version": "2.42.3-r1", + "hashes": [ + { + "alg": "SHA-1", + "content": "8f041ef637ad75f381cc0c034f2afbbb0303264e" + } + ], + "licenses": [ + { + "license": { + "id": "BSD-3-Clause" + } + } + ], + "purl": "pkg:apk/alpine/libuuid@2.42.3-r1?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:f9b4a8a412a0c07a489e46fb5db41f9d0dc84d4ec38a4e2c6ab9531f44e0d9f1" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:f0fe3e08ab046c0c5e29d34ee73bc8c7e03398eb891e4498e0a67088a5ea3e86" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "libuuid@2.42.3-r1" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "util-linux" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "2.42.3-r1" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/libverto@0.3.2-r2?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Francesco Colista " + }, + "name": "libverto", + "version": "0.3.2-r2", + "hashes": [ + { + "alg": "SHA-1", + "content": "73233059338142e4ac6d8fb8bb0074e93da75dc1" + } + ], + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "purl": "pkg:apk/alpine/libverto@0.3.2-r2?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "libverto@0.3.2-r2" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "libverto" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "0.3.2-r2" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/musl-utils@1.2.6-r2?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Natanael Copa " + }, + "name": "musl-utils", + "version": "1.2.6-r2", + "hashes": [ + { + "alg": "SHA-1", + "content": "75ada3c48d63ec5d87c42fdf934a3fdd11298dc5" + } + ], + "licenses": [ + { + "license": { + "id": "MIT" + } + }, + { + "license": { + "id": "BSD-2-Clause" + } + }, + { + "license": { + "id": "GPL-2.0-or-later" + } + } + ], + "purl": "pkg:apk/alpine/musl-utils@1.2.6-r2?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:55afa1ecc21d2bb5e5045f32dafee56272ffd89860bac26f6c32123439af26a4" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "musl-utils@1.2.6-r2" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "musl" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "1.2.6-r2" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Natanael Copa " + }, + "name": "musl", + "version": "1.2.6-r2", + "hashes": [ + { + "alg": "SHA-1", + "content": "0f7e5827e4e1a73631beda27b78431a8ba240e05" + } + ], + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "purl": "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:55afa1ecc21d2bb5e5045f32dafee56272ffd89860bac26f6c32123439af26a4" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "musl@1.2.6-r2" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "musl" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "1.2.6-r2" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/ncurses-terminfo-base@6.6_p20260516-r0?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Milan P. Stanić " + }, + "name": "ncurses-terminfo-base", + "version": "6.6_p20260516-r0", + "hashes": [ + { + "alg": "SHA-1", + "content": "9d551d828e9c8ee52c5801c1d6046828ebf15752" + } + ], + "licenses": [ + { + "license": { + "name": "X-11" + } + } + ], + "purl": "pkg:apk/alpine/ncurses-terminfo-base@6.6_p20260516-r0?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "ncurses-terminfo-base@6.6_p20260516-r0" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "ncurses" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "6.6_p20260516-r0" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/readline@8.3.3-r1?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "qaqland " + }, + "name": "readline", + "version": "8.3.3-r1", + "hashes": [ + { + "alg": "SHA-1", + "content": "945b16e378bc00e44d89d4de8124bba7647fdf4d" + } + ], + "licenses": [ + { + "license": { + "id": "GPL-3.0-or-later" + } + } + ], + "purl": "pkg:apk/alpine/readline@8.3.3-r1?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "readline@8.3.3-r1" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "readline" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "8.3.3-r1" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/scanelf@1.3.9-r1?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Natanael Copa " + }, + "name": "scanelf", + "version": "1.3.9-r1", + "hashes": [ + { + "alg": "SHA-1", + "content": "013f903d0ba219673aebbdd04f74bb5ed82b01f0" + } + ], + "licenses": [ + { + "license": { + "id": "GPL-2.0-only" + } + } + ], + "purl": "pkg:apk/alpine/scanelf@1.3.9-r1?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:55afa1ecc21d2bb5e5045f32dafee56272ffd89860bac26f6c32123439af26a4" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "scanelf@1.3.9-r1" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "pax-utils" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "1.3.9-r1" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/sqlite-libs@3.53.4-r0?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Jingyun Hua " + }, + "name": "sqlite-libs", + "version": "3.53.4-r0", + "hashes": [ + { + "alg": "SHA-1", + "content": "f7630ceb37c232b6609861aeab6cdb9cd120e6fa" + } + ], + "licenses": [ + { + "license": { + "id": "blessing" + } + } + ], + "purl": "pkg:apk/alpine/sqlite-libs@3.53.4-r0?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "sqlite-libs@3.53.4-r0" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "sqlite" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "3.53.4-r0" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/ssl_client@1.37.0-r31?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Sören Tempel " + }, + "name": "ssl_client", + "version": "1.37.0-r31", + "hashes": [ + { + "alg": "SHA-1", + "content": "c220f4a5125a313af733e98def94132bb1e9d40d" + } + ], + "licenses": [ + { + "license": { + "id": "GPL-2.0-only" + } + } + ], + "purl": "pkg:apk/alpine/ssl_client@1.37.0-r31?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:55afa1ecc21d2bb5e5045f32dafee56272ffd89860bac26f6c32123439af26a4" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "ssl_client@1.37.0-r31" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "busybox" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "1.37.0-r31" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/tzdata@2026c-r0?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Natanael Copa " + }, + "name": "tzdata", + "version": "2026c-r0", + "hashes": [ + { + "alg": "SHA-1", + "content": "61f7544ecd8dd63eac23fe3e645702fda92ef02a" + } + ], + "licenses": [ + { + "license": { + "name": "Public-Domain" + } + } + ], + "purl": "pkg:apk/alpine/tzdata@2026c-r0?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:3ca4be2c6e9ac0223715355253725381000486c2b45bfcb22cf571b6a85a12dd" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:47393b668ce535d06e8967917d424c177e2ecccae83856d48b2e99164f8cc6cb" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "tzdata@2026c-r0" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "tzdata" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "2026c-r0" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/xz-libs@5.8.3-r0?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Natanael Copa " + }, + "name": "xz-libs", + "version": "5.8.3-r0", + "hashes": [ + { + "alg": "SHA-1", + "content": "4c92c5be0c5bef404e93c880eba9037a9b147347" + } + ], + "licenses": [ + { + "license": { + "id": "GPL-2.0-or-later" + } + }, + { + "license": { + "id": "0BSD" + } + }, + { + "license": { + "name": "Public-Domain" + } + }, + { + "license": { + "id": "LGPL-2.1-or-later" + } + } + ], + "purl": "pkg:apk/alpine/xz-libs@5.8.3-r0?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "xz-libs@5.8.3-r0" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "xz" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "5.8.3-r0" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/zlib@1.3.2-r1?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Natanael Copa " + }, + "name": "zlib", + "version": "1.3.2-r1", + "hashes": [ + { + "alg": "SHA-1", + "content": "4f525c8cc204f84b8b4ca40db3be389958f056c6" + } + ], + "licenses": [ + { + "license": { + "id": "Zlib" + } + } + ], + "purl": "pkg:apk/alpine/zlib@1.3.2-r1?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:264cd36fa61846dbe59ce642a36e8d738c415368e666ed0b6c680dc856e1202e" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:645872f9a17cb984e868cc31e749d9db7227a520a47e5d39cc5836f98eb2f731" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "zlib@1.3.2-r1" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "zlib" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "1.3.2-r1" + } + ] + }, + { + "bom-ref": "pkg:pypi/cffi@2.1.1", + "type": "library", + "name": "cffi", + "version": "2.1.1", + "licenses": [ + { + "license": { + "id": "MIT-0" + } + } + ], + "purl": "pkg:pypi/cffi@2.1.1", + "properties": [ + { + "name": "aquasecurity:trivy:FilePath", + "value": "opt/venv/lib/python3.12/site-packages/cffi-2.1.1.dist-info/METADATA" + }, + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:648451a0dda84ad04681e32b5ecc7cd5d3a4f0ad84f783e9598d72bc69620d5c" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:82ff17b555d91096dd328eb1e829daaeba9a48d7757143d0b97c35a721f6fb87" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "python-pkg" + } + ] + }, + { + "bom-ref": "pkg:pypi/cryptography@50.0.1", + "type": "library", + "name": "cryptography", + "version": "50.0.1", + "licenses": [ + { + "expression": "Apache-2.0 OR BSD-3-Clause" + } + ], + "purl": "pkg:pypi/cryptography@50.0.1", + "properties": [ + { + "name": "aquasecurity:trivy:FilePath", + "value": "opt/venv/lib/python3.12/site-packages/cryptography-50.0.1.dist-info/METADATA" + }, + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:648451a0dda84ad04681e32b5ecc7cd5d3a4f0ad84f783e9598d72bc69620d5c" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:82ff17b555d91096dd328eb1e829daaeba9a48d7757143d0b97c35a721f6fb87" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "python-pkg" + } + ] + }, + { + "bom-ref": "pkg:pypi/informed-decision@0.2.0", + "type": "library", + "name": "informed-decision", + "version": "0.2.0", + "purl": "pkg:pypi/informed-decision@0.2.0", + "properties": [ + { + "name": "aquasecurity:trivy:FilePath", + "value": "opt/venv/lib/python3.12/site-packages/informed_decision-0.2.0.dist-info/METADATA" + }, + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:648451a0dda84ad04681e32b5ecc7cd5d3a4f0ad84f783e9598d72bc69620d5c" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:82ff17b555d91096dd328eb1e829daaeba9a48d7757143d0b97c35a721f6fb87" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "python-pkg" + } + ] + }, + { + "bom-ref": "pkg:pypi/pycparser@3.0", + "type": "library", + "name": "pycparser", + "version": "3.0", + "licenses": [ + { + "license": { + "id": "BSD-3-Clause" + } + } + ], + "purl": "pkg:pypi/pycparser@3.0", + "properties": [ + { + "name": "aquasecurity:trivy:FilePath", + "value": "opt/venv/lib/python3.12/site-packages/pycparser-3.0.dist-info/METADATA" + }, + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:648451a0dda84ad04681e32b5ecc7cd5d3a4f0ad84f783e9598d72bc69620d5c" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:82ff17b555d91096dd328eb1e829daaeba9a48d7757143d0b97c35a721f6fb87" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "python-pkg" + } + ] + }, + { + "bom-ref": "pkg:pypi/pyjwt@2.15.1", + "type": "library", + "name": "PyJWT", + "version": "2.15.1", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "purl": "pkg:pypi/pyjwt@2.15.1", + "properties": [ + { + "name": "aquasecurity:trivy:FilePath", + "value": "opt/venv/lib/python3.12/site-packages/pyjwt-2.15.1.dist-info/METADATA" + }, + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:648451a0dda84ad04681e32b5ecc7cd5d3a4f0ad84f783e9598d72bc69620d5c" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:82ff17b555d91096dd328eb1e829daaeba9a48d7757143d0b97c35a721f6fb87" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "python-pkg" + } + ] + }, + { + "bom-ref": "pkg:pypi/waitress@3.0.2", + "type": "library", + "name": "waitress", + "version": "3.0.2", + "licenses": [ + { + "license": { + "id": "ZPL-2.1" + } + } + ], + "purl": "pkg:pypi/waitress@3.0.2", + "properties": [ + { + "name": "aquasecurity:trivy:FilePath", + "value": "opt/venv/lib/python3.12/site-packages/waitress-3.0.2.dist-info/METADATA" + }, + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:648451a0dda84ad04681e32b5ecc7cd5d3a4f0ad84f783e9598d72bc69620d5c" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:82ff17b555d91096dd328eb1e829daaeba9a48d7757143d0b97c35a721f6fb87" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "python-pkg" + } + ] + } + ], + "dependencies": [ + { + "ref": "826fbc25-7bf3-47dc-8757-1977ae81aac7", + "dependsOn": [ + "e38bd52f-08ed-4477-902a-c1cdf68a9c1b", + "pkg:pypi/cffi@2.1.1", + "pkg:pypi/cryptography@50.0.1", + "pkg:pypi/informed-decision@0.2.0", + "pkg:pypi/pycparser@3.0", + "pkg:pypi/pyjwt@2.15.1", + "pkg:pypi/waitress@3.0.2" + ] + }, + { + "ref": "e38bd52f-08ed-4477-902a-c1cdf68a9c1b", + "dependsOn": [ + "pkg:apk/alpine/.python-rundeps@20260901.001029?arch=noarch&distro=3.24.1", + "pkg:apk/alpine/alpine-baselayout@3.7.2-r1?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/alpine-release@3.24.1-r0?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/apk-tools@3.0.6-r0?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/ca-certificates@20260611-r0?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/musl-utils@1.2.6-r2?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/ssl_client@1.37.0-r31?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/tzdata@2026c-r0?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:apk/alpine/.python-rundeps@20260901.001029?arch=noarch&distro=3.24.1", + "dependsOn": [ + "pkg:apk/alpine/gdbm@1.26-r0?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/libbz2@1.0.8-r6?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/libcrypto3@3.5.8-r0?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/libffi@3.5.2-r1?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/libncursesw@6.6_p20260516-r0?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/libnsl@2.0.1-r2?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/libpanelw@6.6_p20260516-r0?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/libssl3@3.5.8-r0?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/libtirpc@1.3.5-r1?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/libuuid@2.42.3-r1?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/readline@8.3.3-r1?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/sqlite-libs@3.53.4-r0?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/xz-libs@5.8.3-r0?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/zlib@1.3.2-r1?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:apk/alpine/alpine-baselayout-data@3.7.2-r1?arch=x86_64&distro=3.24.1", + "dependsOn": [] + }, + { + "ref": "pkg:apk/alpine/alpine-baselayout@3.7.2-r1?arch=x86_64&distro=3.24.1", + "dependsOn": [ + "pkg:apk/alpine/alpine-baselayout-data@3.7.2-r1?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/busybox-binsh@1.37.0-r31?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:apk/alpine/alpine-keys@2.6-r0?arch=x86_64&distro=3.24.1", + "dependsOn": [] + }, + { + "ref": "pkg:apk/alpine/alpine-release@3.24.1-r0?arch=x86_64&distro=3.24.1", + "dependsOn": [ + "pkg:apk/alpine/alpine-keys@2.6-r0?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:apk/alpine/apk-tools@3.0.6-r0?arch=x86_64&distro=3.24.1", + "dependsOn": [ + "pkg:apk/alpine/ca-certificates-bundle@20260611-r0?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/libapk@3.0.6-r0?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/libcrypto3@3.5.8-r0?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/zlib@1.3.2-r1?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:apk/alpine/busybox-binsh@1.37.0-r31?arch=x86_64&distro=3.24.1", + "dependsOn": [ + "pkg:apk/alpine/busybox@1.37.0-r31?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:apk/alpine/busybox@1.37.0-r31?arch=x86_64&distro=3.24.1", + "dependsOn": [ + "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:apk/alpine/ca-certificates-bundle@20260611-r0?arch=x86_64&distro=3.24.1", + "dependsOn": [] + }, + { + "ref": "pkg:apk/alpine/ca-certificates@20260611-r0?arch=x86_64&distro=3.24.1", + "dependsOn": [ + "pkg:apk/alpine/busybox-binsh@1.37.0-r31?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/libcrypto3@3.5.8-r0?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:apk/alpine/gdbm@1.26-r0?arch=x86_64&distro=3.24.1", + "dependsOn": [ + "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:apk/alpine/keyutils-libs@1.6.3-r4?arch=x86_64&distro=3.24.1", + "dependsOn": [ + "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:apk/alpine/krb5-conf@1.0-r2?arch=x86_64&distro=3.24.1", + "dependsOn": [] + }, + { + "ref": "pkg:apk/alpine/krb5-libs@1.22.2-r1?arch=x86_64&distro=3.24.1", + "dependsOn": [ + "pkg:apk/alpine/keyutils-libs@1.6.3-r4?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/krb5-conf@1.0-r2?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/libcom_err@1.47.4-r0?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/libcrypto3@3.5.8-r0?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/libssl3@3.5.8-r0?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/libverto@0.3.2-r2?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:apk/alpine/libapk@3.0.6-r0?arch=x86_64&distro=3.24.1", + "dependsOn": [ + "pkg:apk/alpine/libcrypto3@3.5.8-r0?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/libssl3@3.5.8-r0?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/zlib@1.3.2-r1?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:apk/alpine/libbz2@1.0.8-r6?arch=x86_64&distro=3.24.1", + "dependsOn": [ + "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:apk/alpine/libcom_err@1.47.4-r0?arch=x86_64&distro=3.24.1", + "dependsOn": [ + "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:apk/alpine/libcrypto3@3.5.8-r0?arch=x86_64&distro=3.24.1", + "dependsOn": [ + "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:apk/alpine/libffi@3.5.2-r1?arch=x86_64&distro=3.24.1", + "dependsOn": [ + "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:apk/alpine/libintl@1.0-r0?arch=x86_64&distro=3.24.1", + "dependsOn": [ + "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:apk/alpine/libncursesw@6.6_p20260516-r0?arch=x86_64&distro=3.24.1", + "dependsOn": [ + "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/ncurses-terminfo-base@6.6_p20260516-r0?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:apk/alpine/libnsl@2.0.1-r2?arch=x86_64&distro=3.24.1", + "dependsOn": [ + "pkg:apk/alpine/libintl@1.0-r0?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/libtirpc@1.3.5-r1?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:apk/alpine/libpanelw@6.6_p20260516-r0?arch=x86_64&distro=3.24.1", + "dependsOn": [ + "pkg:apk/alpine/libncursesw@6.6_p20260516-r0?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/ncurses-terminfo-base@6.6_p20260516-r0?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:apk/alpine/libssl3@3.5.8-r0?arch=x86_64&distro=3.24.1", + "dependsOn": [ + "pkg:apk/alpine/libcrypto3@3.5.8-r0?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:apk/alpine/libtirpc-conf@1.3.5-r1?arch=x86_64&distro=3.24.1", + "dependsOn": [] + }, + { + "ref": "pkg:apk/alpine/libtirpc@1.3.5-r1?arch=x86_64&distro=3.24.1", + "dependsOn": [ + "pkg:apk/alpine/krb5-libs@1.22.2-r1?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/libtirpc-conf@1.3.5-r1?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:apk/alpine/libuuid@2.42.3-r1?arch=x86_64&distro=3.24.1", + "dependsOn": [ + "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:apk/alpine/libverto@0.3.2-r2?arch=x86_64&distro=3.24.1", + "dependsOn": [ + "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:apk/alpine/musl-utils@1.2.6-r2?arch=x86_64&distro=3.24.1", + "dependsOn": [ + "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/scanelf@1.3.9-r1?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1", + "dependsOn": [] + }, + { + "ref": "pkg:apk/alpine/ncurses-terminfo-base@6.6_p20260516-r0?arch=x86_64&distro=3.24.1", + "dependsOn": [] + }, + { + "ref": "pkg:apk/alpine/readline@8.3.3-r1?arch=x86_64&distro=3.24.1", + "dependsOn": [ + "pkg:apk/alpine/libncursesw@6.6_p20260516-r0?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:apk/alpine/scanelf@1.3.9-r1?arch=x86_64&distro=3.24.1", + "dependsOn": [ + "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:apk/alpine/sqlite-libs@3.53.4-r0?arch=x86_64&distro=3.24.1", + "dependsOn": [ + "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:apk/alpine/ssl_client@1.37.0-r31?arch=x86_64&distro=3.24.1", + "dependsOn": [ + "pkg:apk/alpine/libcrypto3@3.5.8-r0?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/libssl3@3.5.8-r0?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:apk/alpine/tzdata@2026c-r0?arch=x86_64&distro=3.24.1", + "dependsOn": [] + }, + { + "ref": "pkg:apk/alpine/xz-libs@5.8.3-r0?arch=x86_64&distro=3.24.1", + "dependsOn": [ + "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:apk/alpine/zlib@1.3.2-r1?arch=x86_64&distro=3.24.1", + "dependsOn": [ + "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:pypi/cffi@2.1.1", + "dependsOn": [] + }, + { + "ref": "pkg:pypi/cryptography@50.0.1", + "dependsOn": [] + }, + { + "ref": "pkg:pypi/informed-decision@0.2.0", + "dependsOn": [] + }, + { + "ref": "pkg:pypi/pycparser@3.0", + "dependsOn": [] + }, + { + "ref": "pkg:pypi/pyjwt@2.15.1", + "dependsOn": [] + }, + { + "ref": "pkg:pypi/waitress@3.0.2", + "dependsOn": [] + } + ], + "vulnerabilities": [] +} diff --git a/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/trivy-full.json b/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/trivy-full.json new file mode 100644 index 0000000..2206ce4 --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/trivy-full.json @@ -0,0 +1,2394 @@ +{ + "SchemaVersion": 2, + "Trivy": { + "Version": "0.74.0" + }, + "ReportID": "01a129df-705c-7447-93b1-af5b8eaa125c", + "CreatedAt": "2026-10-11T07:31:11.580284541Z", + "ArtifactID": "sha256:b504e33e63ad77e2e103c2924d2f16f73d279b0a1ddd6affac01422524b96eb3", + "ArtifactName": "/artifact/image.tar", + "ArtifactType": "container_image", + "Metadata": { + "Size": 89032192, + "OS": { + "Family": "alpine", + "Name": "3.24.1" + }, + "ImageID": "sha256:625d066416e901eaa2db5e18b96c37559b25dd91bdc3afb3d1ff5e916c7a8a3f", + "DiffIDs": [ + "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c", + "sha256:3ca4be2c6e9ac0223715355253725381000486c2b45bfcb22cf571b6a85a12dd", + "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366", + "sha256:4098ad033525263f92a8a9c51865596025d47018e078c0b1f7d9cd5663fc1ffe", + "sha256:f9b4a8a412a0c07a489e46fb5db41f9d0dc84d4ec38a4e2c6ab9531f44e0d9f1", + "sha256:648451a0dda84ad04681e32b5ecc7cd5d3a4f0ad84f783e9598d72bc69620d5c", + "sha256:361430a1113969743b99e237b20f023d5497493bcf96fb91af99ac0a0dbc4a59", + "sha256:cfc5939674d67f60b4411c24dfcde5622b712eeb7376cd0941a2751da80a6b02", + "sha256:21ff9188cb29ca95fe9be11355f70ab5586e8499e33b52a253d953fb3b75aea3", + "sha256:7d2d2d36795c42e5fe8826af00b9751f2d8c328005571c0ca46c1d8c06bd3007", + "sha256:264cd36fa61846dbe59ce642a36e8d738c415368e666ed0b6c680dc856e1202e" + ], + "RepoTags": [ + "informed-decision:zlib-r1-local-20261011" + ], + "Reference": "informed-decision:zlib-r1-local-20261011", + "ImageConfig": { + "architecture": "amd64", + "created": "2026-10-11T09:29:32.511197114+02:00", + "history": [ + { + "created": "2026-06-16T00:01:29.967161902Z", + "created_by": "ADD alpine-minirootfs-3.24.1-x86_64.tar.gz / # buildkit", + "comment": "buildkit.dockerfile.v0" + }, + { + "created": "2026-06-16T00:01:29.967161902Z", + "created_by": "CMD [\"/bin/sh\"]", + "comment": "buildkit.dockerfile.v0", + "empty_layer": true + }, + { + "created": "2026-09-01T00:05:24.224544843Z", + "created_by": "ENV PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", + "comment": "buildkit.dockerfile.v0", + "empty_layer": true + }, + { + "created": "2026-09-01T00:05:24.224544843Z", + "created_by": "ENV LANG=C.UTF-8", + "comment": "buildkit.dockerfile.v0", + "empty_layer": true + }, + { + "created": "2026-09-01T00:05:24.224544843Z", + "created_by": "RUN /bin/sh -c set -eux; \tapk add --no-cache \t\tca-certificates \t\ttzdata \t; # buildkit", + "comment": "buildkit.dockerfile.v0" + }, + { + "created": "2026-09-01T00:05:24.224544843Z", + "created_by": "ENV GPG_KEY=7169605F62C751356D054A26A821E680E5FA6305", + "comment": "buildkit.dockerfile.v0", + "empty_layer": true + }, + { + "created": "2026-09-01T00:05:24.224544843Z", + "created_by": "ENV PYTHON_VERSION=3.12.14", + "comment": "buildkit.dockerfile.v0", + "empty_layer": true + }, + { + "created": "2026-09-01T00:05:24.224544843Z", + "created_by": "ENV PYTHON_SHA256=5c8462af5790baf43a321a1559dbe0db06d1be4300fb85fb53c40060668e548a", + "comment": "buildkit.dockerfile.v0", + "empty_layer": true + }, + { + "created": "2026-09-01T00:10:30.672225972Z", + "created_by": "RUN /bin/sh -c set -eux; \t\tapk add --no-cache --virtual .build-deps \t\tbluez-dev \t\tbzip2-dev \t\tdpkg-dev dpkg \t\tfindutils \t\tg++ \t\tgcc \t\tgdbm-dev \t\tgnupg \t\tlibc-dev \t\tlibffi-dev \t\tlibnsl-dev \t\tlibtirpc-dev \t\tlinux-headers \t\tmake \t\tncurses-dev \t\topenssl-dev \t\tpax-utils \t\treadline-dev \t\tsqlite-dev \t\ttar \t\ttcl-dev \t\ttk \t\ttk-dev \t\tutil-linux-dev \t\txz \t\txz-dev \t\tzlib-dev \t; \t\twget -O python.tar.xz \"https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz\"; \techo \"$PYTHON_SHA256 *python.tar.xz\" | sha256sum -c -; \twget -O python.tar.xz.asc \"https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz.asc\"; \tGNUPGHOME=\"$(mktemp -d)\"; export GNUPGHOME; \tgpg --batch --keyserver hkps://keys.openpgp.org --recv-keys \"$GPG_KEY\"; \tgpg --batch --verify python.tar.xz.asc python.tar.xz; \tgpgconf --kill all; \trm -rf \"$GNUPGHOME\" python.tar.xz.asc; \tmkdir -p /usr/src/python; \ttar --extract --directory /usr/src/python --strip-components=1 --file python.tar.xz; \trm python.tar.xz; \t\tcd /usr/src/python; \tgnuArch=\"$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)\"; \t./configure \t\t--build=\"$gnuArch\" \t\t--enable-loadable-sqlite-extensions \t\t--enable-option-checking=fatal \t\t--enable-shared \t\t$(test \"${gnuArch%%-*}\" != 'riscv64' \u0026\u0026 echo '--with-lto') \t\t--with-ensurepip \t; \tnproc=\"$(nproc)\"; \tEXTRA_CFLAGS=\"-DTHREAD_STACK_SIZE=0x100000\"; \tLDFLAGS=\"${LDFLAGS:-} -Wl,--strip-all\"; \tarch=\"$(apk --print-arch)\"; \tcase \"$arch\" in \t\tx86_64|aarch64) \t\t\tEXTRA_CFLAGS=\"${EXTRA_CFLAGS:-} -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer\"; \t\t\t;; \t\tx86) \t\t\t;; \t\t*) \t\t\tEXTRA_CFLAGS=\"${EXTRA_CFLAGS:-} -fno-omit-frame-pointer\"; \t\t\t;; \tesac; \tmake -j \"$nproc\" \t\t\"EXTRA_CFLAGS=${EXTRA_CFLAGS:-}\" \t\t\"LDFLAGS=${LDFLAGS:-}\" \t; \trm python; \tmake -j \"$nproc\" \t\t\"EXTRA_CFLAGS=${EXTRA_CFLAGS:-}\" \t\t\"LDFLAGS=${LDFLAGS:-} -Wl,-rpath='\\$\\$ORIGIN/../lib'\" \t\tpython \t; \tmake install; \t\tcd /; \trm -rf /usr/src/python; \t\tfind /usr/local -depth \t\t\\( \t\t\t\\( -type d -a \\( -name test -o -name tests -o -name idle_test \\) \\) \t\t\t-o \\( -type f -a \\( -name '*.pyc' -o -name '*.pyo' -o -name 'libpython*.a' \\) \\) \t\t\\) -exec rm -rf '{}' + \t; \t\tfind /usr/local -type f -executable -not \\( -name '*tkinter*' \\) -exec scanelf --needed --nobanner --format '%n#p' '{}' ';' \t\t| tr ',' '\\n' \t\t| sort -u \t\t| awk 'system(\"[ -e /usr/local/lib/\" $1 \" ]\") == 0 { next } { print \"so:\" $1 }' \t\t| xargs -rt apk add --no-network --virtual .python-rundeps \t; \tapk del --no-network .build-deps; \t\texport PYTHONDONTWRITEBYTECODE=1; \tpython3 --version; \tpip3 --version # buildkit", + "comment": "buildkit.dockerfile.v0" + }, + { + "created": "2026-09-01T00:10:30.782726003Z", + "created_by": "RUN /bin/sh -c set -eux; \tfor src in idle3 pip3 pydoc3 python3 python3-config; do \t\tdst=\"$(echo \"$src\" | tr -d 3)\"; \t\t[ -s \"/usr/local/bin/$src\" ]; \t\t[ ! -e \"/usr/local/bin/$dst\" ]; \t\tln -svT \"$src\" \"/usr/local/bin/$dst\"; \tdone # buildkit", + "comment": "buildkit.dockerfile.v0" + }, + { + "created": "2026-09-01T00:10:30.782726003Z", + "created_by": "CMD [\"python3\"]", + "comment": "buildkit.dockerfile.v0", + "empty_layer": true + }, + { + "created": "2026-09-11T00:49:47.962156876+02:00", + "created_by": "ENV PYTHONDONTWRITEBYTECODE=1 PYTHONUNBUFFERED=1 PATH=/opt/venv/bin:/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", + "comment": "buildkit.dockerfile.v0", + "empty_layer": true + }, + { + "created": "2026-09-11T00:49:47.962156876+02:00", + "created_by": "RUN /bin/sh -c apk add --no-cache 'libuuid\u003e=2.42.3-r1' \u0026\u0026 addgroup -S -g 10001 informed \u0026\u0026 adduser -S -u 10001 -G informed -H informed # buildkit", + "comment": "buildkit.dockerfile.v0" + }, + { + "created": "2026-10-05T01:03:55.351944978+02:00", + "created_by": "COPY /opt/venv /opt/venv # buildkit", + "comment": "buildkit.dockerfile.v0" + }, + { + "created": "2026-10-05T01:03:56.462092072+02:00", + "created_by": "RUN /bin/sh -c rm -rf /usr/local/bin/pip* /usr/local/lib/python3.12/site-packages/pip* /usr/local/lib/python3.12/site-packages/setuptools* /usr/local/lib/python3.12/site-packages/pkg_resources /opt/venv/bin/pip* /opt/venv/lib/python3.12/site-packages/pip* /opt/venv/lib/python3.12/site-packages/setuptools* /opt/venv/lib/python3.12/site-packages/pkg_resources # buildkit", + "comment": "buildkit.dockerfile.v0" + }, + { + "created": "2026-10-05T01:03:56.675216821+02:00", + "created_by": "WORKDIR /app", + "comment": "buildkit.dockerfile.v0" + }, + { + "created": "2026-10-05T01:03:56.675216821+02:00", + "created_by": "USER 10001:10001", + "comment": "buildkit.dockerfile.v0", + "empty_layer": true + }, + { + "created": "2026-10-05T01:03:56.675216821+02:00", + "created_by": "EXPOSE [8080/tcp 8081/tcp]", + "comment": "buildkit.dockerfile.v0", + "empty_layer": true + }, + { + "created": "2026-10-05T01:03:56.675216821+02:00", + "created_by": "ENTRYPOINT [\"informed-decision-container\"]", + "comment": "buildkit.dockerfile.v0", + "empty_layer": true + }, + { + "created": "2026-10-11T01:15:11.991443676Z", + "created_by": "/bin/sh -c #(nop) ARG SOURCE_REVISION", + "empty_layer": true + }, + { + "created": "2026-10-11T01:21:04.716126392Z", + "created_by": "/bin/sh -c #(nop) LABEL org.opencontainers.image.revision=3e4bcb26f8eeaa8c64345c565477b5ac8ccbb168 org.opencontainers.image.base.digest=sha256:7f5c6cb29c9f70a026bfe30e72934274ddc69261676cf6d476f81dd32812d173 social.coulomb.source.policy.sha256=9d7c1be4cb6199d14ef0aaead5f85951f45b0ccbd7c800a7fde922a253566b62 social.coulomb.release.scope=INFD-WP-0009-T04/purpose-overlay-v1", + "empty_layer": true + }, + { + "created": "2026-10-11T01:21:04.787527697Z", + "created_by": "/bin/sh -c #(nop) COPY file:2be9cb36e7253e15733673359cda8caa22986b6888822a008c1b360d909994e0 in /opt/venv/lib/python3.12/site-packages/informed_decision/policy.py " + }, + { + "created": "2026-10-11T09:23:35.324082353+02:00", + "created_by": "/bin/sh -c #(nop) ARG SOURCE_REVISION=uncommitted-T05-local-preparation", + "empty_layer": true + }, + { + "created": "2026-10-11T09:23:36.10318027+02:00", + "created_by": "/bin/sh -c #(nop) ARG SOURCE_CONTEXT_SHA256", + "empty_layer": true + }, + { + "created": "2026-10-11T09:23:36.876646839+02:00", + "created_by": "/bin/sh -c #(nop) USER 0:0", + "empty_layer": true + }, + { + "created": "2026-10-11T07:23:37.652390037Z", + "created_by": "/bin/sh -c #(nop) COPY multi:e4d183fdf93ea6320911bb7398e4860a1b9b96fe0768cfd3d0260955517dd272 in /tmp/infd-zlib/x86_64/ " + }, + { + "created": "2026-10-11T09:29:30.865525337+02:00", + "created_by": "|2 SOURCE_CONTEXT_SHA256=c554e62a84af340cba15d469a4568f6d0c40923e580b08ed7565e22702b1207d SOURCE_REVISION=uncommitted-T05-local-preparation /bin/sh -c echo '63aeea03c15a2f9018f81805cfc8aa926bdf5cd68921f22149c2fbb5d0ee9f47 /tmp/infd-zlib/x86_64/zlib-1.3.2-r1.apk' | sha256sum -c - \u0026\u0026 echo '24fc2ccb08f3125429a38b31bd6c76a7b394c6236df0975760dc8259e50dfbd5 /tmp/infd-zlib/x86_64/APKINDEX.tar.gz' | sha256sum -c - \u0026\u0026 apk verify /tmp/infd-zlib/x86_64/zlib-1.3.2-r1.apk /tmp/infd-zlib/x86_64/APKINDEX.tar.gz \u0026\u0026 apk upgrade --no-logfile --no-network --no-cache --no-preupgrade --repositories-file /dev/null --repository /tmp/infd-zlib zlib \u0026\u0026 apk info --exists 'zlib=1.3.2-r1' \u0026\u0026 rm -rf /tmp/infd-zlib" + }, + { + "created": "2026-10-11T09:29:31.735346534+02:00", + "created_by": "/bin/sh -c #(nop) USER 10001:10001", + "empty_layer": true + }, + { + "created": "2026-10-11T09:29:32.511197114+02:00", + "created_by": "/bin/sh -c #(nop) LABEL org.opencontainers.image.revision=uncommitted-T05-local-preparation org.opencontainers.image.base.digest=sha256:763c36402c8be7cc4c1bd1a61623d1aff9116d52241877425b45a7018cc0883a social.coulomb.source.context.sha256=c554e62a84af340cba15d469a4568f6d0c40923e580b08ed7565e22702b1207d social.coulomb.source.policy.sha256=9d7c1be4cb6199d14ef0aaead5f85951f45b0ccbd7c800a7fde922a253566b62 social.coulomb.release.scope=INFD-WP-0009-T05/zlib-85091-r1", + "empty_layer": true + } + ], + "os": "linux", + "rootfs": { + "type": "layers", + "diff_ids": [ + "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c", + "sha256:3ca4be2c6e9ac0223715355253725381000486c2b45bfcb22cf571b6a85a12dd", + "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366", + "sha256:4098ad033525263f92a8a9c51865596025d47018e078c0b1f7d9cd5663fc1ffe", + "sha256:f9b4a8a412a0c07a489e46fb5db41f9d0dc84d4ec38a4e2c6ab9531f44e0d9f1", + "sha256:648451a0dda84ad04681e32b5ecc7cd5d3a4f0ad84f783e9598d72bc69620d5c", + "sha256:361430a1113969743b99e237b20f023d5497493bcf96fb91af99ac0a0dbc4a59", + "sha256:cfc5939674d67f60b4411c24dfcde5622b712eeb7376cd0941a2751da80a6b02", + "sha256:21ff9188cb29ca95fe9be11355f70ab5586e8499e33b52a253d953fb3b75aea3", + "sha256:7d2d2d36795c42e5fe8826af00b9751f2d8c328005571c0ca46c1d8c06bd3007", + "sha256:264cd36fa61846dbe59ce642a36e8d738c415368e666ed0b6c680dc856e1202e" + ] + }, + "config": { + "Entrypoint": [ + "informed-decision-container" + ], + "Env": [ + "PATH=/opt/venv/bin:/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", + "LANG=C.UTF-8", + "GPG_KEY=7169605F62C751356D054A26A821E680E5FA6305", + "PYTHON_VERSION=3.12.14", + "PYTHON_SHA256=5c8462af5790baf43a321a1559dbe0db06d1be4300fb85fb53c40060668e548a", + "PYTHONDONTWRITEBYTECODE=1", + "PYTHONUNBUFFERED=1" + ], + "Labels": { + "org.opencontainers.image.base.digest": "sha256:763c36402c8be7cc4c1bd1a61623d1aff9116d52241877425b45a7018cc0883a", + "org.opencontainers.image.revision": "uncommitted-T05-local-preparation", + "social.coulomb.release.scope": "INFD-WP-0009-T05/zlib-85091-r1", + "social.coulomb.source.context.sha256": "c554e62a84af340cba15d469a4568f6d0c40923e580b08ed7565e22702b1207d", + "social.coulomb.source.policy.sha256": "9d7c1be4cb6199d14ef0aaead5f85951f45b0ccbd7c800a7fde922a253566b62" + }, + "User": "10001:10001", + "WorkingDir": "/app", + "ExposedPorts": { + "8080/tcp": {}, + "8081/tcp": {} + } + } + }, + "Layers": [ + { + "Size": 8697856, + "Digest": "sha256:55afa1ecc21d2bb5e5045f32dafee56272ffd89860bac26f6c32123439af26a4", + "DiffID": "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c" + }, + { + "Size": 1538048, + "Digest": "sha256:47393b668ce535d06e8967917d424c177e2ecccae83856d48b2e99164f8cc6cb", + "DiffID": "sha256:3ca4be2c6e9ac0223715355253725381000486c2b45bfcb22cf571b6a85a12dd" + }, + { + "Size": 47150592, + "Digest": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235", + "DiffID": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + { + "Size": 5120, + "Digest": "sha256:ed62c91ccd94e36a928e96d704cfcf20861302590245cc12aa89a15a5d6be29b", + "DiffID": "sha256:4098ad033525263f92a8a9c51865596025d47018e078c0b1f7d9cd5663fc1ffe" + }, + { + "Size": 131584, + "Digest": "sha256:f0fe3e08ab046c0c5e29d34ee73bc8c7e03398eb891e4498e0a67088a5ea3e86", + "DiffID": "sha256:f9b4a8a412a0c07a489e46fb5db41f9d0dc84d4ec38a4e2c6ab9531f44e0d9f1" + }, + { + "Size": 30705664, + "Digest": "sha256:82ff17b555d91096dd328eb1e829daaeba9a48d7757143d0b97c35a721f6fb87", + "DiffID": "sha256:648451a0dda84ad04681e32b5ecc7cd5d3a4f0ad84f783e9598d72bc69620d5c" + }, + { + "Size": 12288, + "Digest": "sha256:16a3dba6b720d3059eab918cd3596f94145ac9cf4d456f925a21f0f72522863f", + "DiffID": "sha256:361430a1113969743b99e237b20f023d5497493bcf96fb91af99ac0a0dbc4a59" + }, + { + "Size": 1536, + "Digest": "sha256:e73dd464fbff5607cc62a1b2b66b0eefe737dfad4db8e7b58a48cda7c12d94d3", + "DiffID": "sha256:cfc5939674d67f60b4411c24dfcde5622b712eeb7376cd0941a2751da80a6b02" + }, + { + "Size": 15360, + "Digest": "sha256:cfee29c2f8119d2a39714ecbe5095a2dc1c986054f2e1fe0a6565163242417e3", + "DiffID": "sha256:21ff9188cb29ca95fe9be11355f70ab5586e8499e33b52a253d953fb3b75aea3" + }, + { + "Size": 588288, + "Digest": "sha256:aa48f13a5258c67abfc00447e2ca2490ee838e166e83bfe7a8b7bb2bf2ee2466", + "DiffID": "sha256:7d2d2d36795c42e5fe8826af00b9751f2d8c328005571c0ca46c1d8c06bd3007" + }, + { + "Size": 185856, + "Digest": "sha256:645872f9a17cb984e868cc31e749d9db7227a520a47e5d39cc5836f98eb2f731", + "DiffID": "sha256:264cd36fa61846dbe59ce642a36e8d738c415368e666ed0b6c680dc856e1202e" + } + ] + }, + "Results": [ + { + "Target": "/artifact/image.tar (alpine 3.24.1)", + "Class": "os-pkgs", + "Type": "alpine", + "Packages": [ + { + "ID": ".python-rundeps@20260901.001029", + "Name": ".python-rundeps", + "Identifier": { + "PURL": "pkg:apk/alpine/.python-rundeps@20260901.001029?arch=noarch\u0026distro=3.24.1", + "UID": "62fa84f88695c077" + }, + "Version": "20260901.001029", + "Arch": "noarch", + "DependsOn": [ + "gdbm@1.26-r0", + "libbz2@1.0.8-r6", + "libcrypto3@3.5.8-r0", + "libffi@3.5.2-r1", + "libncursesw@6.6_p20260516-r0", + "libnsl@2.0.1-r2", + "libpanelw@6.6_p20260516-r0", + "libssl3@3.5.8-r0", + "libtirpc@1.3.5-r1", + "libuuid@2.42.3-r1", + "musl@1.2.6-r2", + "readline@8.3.3-r1", + "sqlite-libs@3.53.4-r0", + "xz-libs@5.8.3-r0", + "zlib@1.3.2-r1" + ], + "Layer": { + "Digest": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235", + "DiffID": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + "Digest": "sha1:51d0c1e7d88a414345799f0309185c625013ef32", + "AnalyzedBy": "apk" + }, + { + "ID": "alpine-baselayout@3.7.2-r1", + "Name": "alpine-baselayout", + "Identifier": { + "PURL": "pkg:apk/alpine/alpine-baselayout@3.7.2-r1?arch=x86_64\u0026distro=3.24.1", + "UID": "1b9c543300f8073e" + }, + "Version": "3.7.2-r1", + "Arch": "x86_64", + "SrcName": "alpine-baselayout", + "SrcVersion": "3.7.2-r1", + "Licenses": [ + "GPL-2.0-only" + ], + "Maintainer": "Natanael Copa \u003cncopa@alpinelinux.org\u003e", + "DependsOn": [ + "alpine-baselayout-data@3.7.2-r1", + "busybox-binsh@1.37.0-r31" + ], + "Layer": { + "Digest": "sha256:55afa1ecc21d2bb5e5045f32dafee56272ffd89860bac26f6c32123439af26a4", + "DiffID": "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c" + }, + "Digest": "sha1:f0fcfdc2f4da058af6473bc45c4eab62916225b2", + "InstalledFiles": [ + "etc/motd", + "etc/crontabs/root", + "etc/modprobe.d/aliases.conf", + "etc/modprobe.d/blacklist.conf", + "etc/modprobe.d/i386.conf", + "etc/profile.d/20locale.sh", + "etc/profile.d/README", + "etc/profile.d/color_prompt.sh.disabled", + "usr/lib/sysctl.d/00-alpine.conf", + "var/lock", + "var/run", + "var/spool/mail", + "var/spool/cron/crontabs" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "alpine-baselayout-data@3.7.2-r1", + "Name": "alpine-baselayout-data", + "Identifier": { + "PURL": "pkg:apk/alpine/alpine-baselayout-data@3.7.2-r1?arch=x86_64\u0026distro=3.24.1", + "UID": "fcc3cd90122d8aa7" + }, + "Version": "3.7.2-r1", + "Arch": "x86_64", + "SrcName": "alpine-baselayout", + "SrcVersion": "3.7.2-r1", + "Licenses": [ + "GPL-2.0-only" + ], + "Maintainer": "Natanael Copa \u003cncopa@alpinelinux.org\u003e", + "Layer": { + "Digest": "sha256:55afa1ecc21d2bb5e5045f32dafee56272ffd89860bac26f6c32123439af26a4", + "DiffID": "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c" + }, + "Digest": "sha1:c6f9bded17d844b6f1b0bb5766d2c35c0d5c8508", + "InstalledFiles": [ + "etc/fstab", + "etc/group", + "etc/hostname", + "etc/hosts", + "etc/inittab", + "etc/modules", + "etc/mtab", + "etc/nsswitch.conf", + "etc/passwd", + "etc/profile", + "etc/protocols", + "etc/services", + "etc/shadow", + "etc/shells", + "etc/sysctl.conf" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "alpine-keys@2.6-r0", + "Name": "alpine-keys", + "Identifier": { + "PURL": "pkg:apk/alpine/alpine-keys@2.6-r0?arch=x86_64\u0026distro=3.24.1", + "UID": "cb1f6c8fa74713e0" + }, + "Version": "2.6-r0", + "Arch": "x86_64", + "SrcName": "alpine-keys", + "SrcVersion": "2.6-r0", + "Licenses": [ + "MIT" + ], + "Maintainer": "Natanael Copa \u003cncopa@alpinelinux.org\u003e", + "Layer": { + "Digest": "sha256:55afa1ecc21d2bb5e5045f32dafee56272ffd89860bac26f6c32123439af26a4", + "DiffID": "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c" + }, + "Digest": "sha1:d8d6b80e53c059a77e4915da78ba964f3ffea240", + "InstalledFiles": [ + "etc/apk/keys/alpine-devel@lists.alpinelinux.org-4a6a0840.rsa.pub", + "etc/apk/keys/alpine-devel@lists.alpinelinux.org-5261cecb.rsa.pub", + "etc/apk/keys/alpine-devel@lists.alpinelinux.org-6165ee59.rsa.pub", + "usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-4a6a0840.rsa.pub", + "usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-5243ef4b.rsa.pub", + "usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-524d27bb.rsa.pub", + "usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-5261cecb.rsa.pub", + "usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-58199dcc.rsa.pub", + "usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-58cbb476.rsa.pub", + "usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-58e4f17d.rsa.pub", + "usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-5e69ca50.rsa.pub", + "usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-60ac2099.rsa.pub", + "usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-6165ee59.rsa.pub", + "usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-61666e3f.rsa.pub", + "usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-616a9724.rsa.pub", + "usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-616abc23.rsa.pub", + "usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-616ac3bc.rsa.pub", + "usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-616adfeb.rsa.pub", + "usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-616ae350.rsa.pub", + "usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-616db30d.rsa.pub", + "usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-66ba20fe.rsa.pub", + "usr/share/apk/keys/aarch64/alpine-devel@lists.alpinelinux.org-58199dcc.rsa.pub", + "usr/share/apk/keys/aarch64/alpine-devel@lists.alpinelinux.org-616ae350.rsa.pub", + "usr/share/apk/keys/armhf/alpine-devel@lists.alpinelinux.org-524d27bb.rsa.pub", + "usr/share/apk/keys/armhf/alpine-devel@lists.alpinelinux.org-616a9724.rsa.pub", + "usr/share/apk/keys/armv7/alpine-devel@lists.alpinelinux.org-524d27bb.rsa.pub", + "usr/share/apk/keys/armv7/alpine-devel@lists.alpinelinux.org-616adfeb.rsa.pub", + "usr/share/apk/keys/loongarch64/alpine-devel@lists.alpinelinux.org-66ba20fe.rsa.pub", + "usr/share/apk/keys/mips64/alpine-devel@lists.alpinelinux.org-5e69ca50.rsa.pub", + "usr/share/apk/keys/ppc64le/alpine-devel@lists.alpinelinux.org-58cbb476.rsa.pub", + "usr/share/apk/keys/ppc64le/alpine-devel@lists.alpinelinux.org-616abc23.rsa.pub", + "usr/share/apk/keys/riscv64/alpine-devel@lists.alpinelinux.org-60ac2099.rsa.pub", + "usr/share/apk/keys/riscv64/alpine-devel@lists.alpinelinux.org-616db30d.rsa.pub", + "usr/share/apk/keys/s390x/alpine-devel@lists.alpinelinux.org-58e4f17d.rsa.pub", + "usr/share/apk/keys/s390x/alpine-devel@lists.alpinelinux.org-616ac3bc.rsa.pub", + "usr/share/apk/keys/x86/alpine-devel@lists.alpinelinux.org-4a6a0840.rsa.pub", + "usr/share/apk/keys/x86/alpine-devel@lists.alpinelinux.org-5243ef4b.rsa.pub", + "usr/share/apk/keys/x86/alpine-devel@lists.alpinelinux.org-61666e3f.rsa.pub", + "usr/share/apk/keys/x86_64/alpine-devel@lists.alpinelinux.org-4a6a0840.rsa.pub", + "usr/share/apk/keys/x86_64/alpine-devel@lists.alpinelinux.org-5261cecb.rsa.pub", + "usr/share/apk/keys/x86_64/alpine-devel@lists.alpinelinux.org-6165ee59.rsa.pub" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "alpine-release@3.24.1-r0", + "Name": "alpine-release", + "Identifier": { + "PURL": "pkg:apk/alpine/alpine-release@3.24.1-r0?arch=x86_64\u0026distro=3.24.1", + "UID": "6cfad6f36e1f31aa" + }, + "Version": "3.24.1-r0", + "Arch": "x86_64", + "SrcName": "alpine-base", + "SrcVersion": "3.24.1-r0", + "Licenses": [ + "MIT" + ], + "Maintainer": "Natanael Copa \u003cncopa@alpinelinux.org\u003e", + "DependsOn": [ + "alpine-keys@2.6-r0" + ], + "Layer": { + "Digest": "sha256:55afa1ecc21d2bb5e5045f32dafee56272ffd89860bac26f6c32123439af26a4", + "DiffID": "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c" + }, + "Digest": "sha1:bc6912a25cdc7733e0035ed509eceaa4026946e3", + "InstalledFiles": [ + "etc/alpine-release", + "etc/issue", + "etc/os-release", + "etc/secfixes.d/alpine", + "usr/lib/os-release" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "apk-tools@3.0.6-r0", + "Name": "apk-tools", + "Identifier": { + "PURL": "pkg:apk/alpine/apk-tools@3.0.6-r0?arch=x86_64\u0026distro=3.24.1", + "UID": "b37730591f24ae44" + }, + "Version": "3.0.6-r0", + "Arch": "x86_64", + "SrcName": "apk-tools", + "SrcVersion": "3.0.6-r0", + "Licenses": [ + "GPL-2.0-only" + ], + "Maintainer": "Natanael Copa \u003cncopa@alpinelinux.org\u003e", + "DependsOn": [ + "ca-certificates-bundle@20260611-r0", + "libapk@3.0.6-r0", + "libcrypto3@3.5.8-r0", + "musl@1.2.6-r2", + "zlib@1.3.2-r1" + ], + "Layer": { + "Digest": "sha256:55afa1ecc21d2bb5e5045f32dafee56272ffd89860bac26f6c32123439af26a4", + "DiffID": "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c" + }, + "Digest": "sha1:043333589798a1f52e09ae63f026c6c8fa676d34", + "InstalledFiles": [ + "sbin/apk" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "busybox@1.37.0-r31", + "Name": "busybox", + "Identifier": { + "PURL": "pkg:apk/alpine/busybox@1.37.0-r31?arch=x86_64\u0026distro=3.24.1", + "UID": "771020c43c8440bf" + }, + "Version": "1.37.0-r31", + "Arch": "x86_64", + "SrcName": "busybox", + "SrcVersion": "1.37.0-r31", + "Licenses": [ + "GPL-2.0-only" + ], + "Maintainer": "Sören Tempel \u003csoeren+alpine@soeren-tempel.net\u003e", + "DependsOn": [ + "musl@1.2.6-r2" + ], + "Layer": { + "Digest": "sha256:55afa1ecc21d2bb5e5045f32dafee56272ffd89860bac26f6c32123439af26a4", + "DiffID": "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c" + }, + "Digest": "sha1:b5405ebc02f7dd8be95b6265c54b243d5456ab8f", + "InstalledFiles": [ + "bin/busybox", + "etc/securetty", + "etc/busybox-paths.d/busybox", + "etc/logrotate.d/acpid", + "etc/network/if-up.d/dad", + "etc/udhcpc/udhcpc.conf", + "usr/share/udhcpc/default.script" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "busybox-binsh@1.37.0-r31", + "Name": "busybox-binsh", + "Identifier": { + "PURL": "pkg:apk/alpine/busybox-binsh@1.37.0-r31?arch=x86_64\u0026distro=3.24.1", + "UID": "1ec8a3d5d2b63297" + }, + "Version": "1.37.0-r31", + "Arch": "x86_64", + "SrcName": "busybox", + "SrcVersion": "1.37.0-r31", + "Licenses": [ + "GPL-2.0-only" + ], + "Maintainer": "Sören Tempel \u003csoeren+alpine@soeren-tempel.net\u003e", + "DependsOn": [ + "busybox@1.37.0-r31" + ], + "Layer": { + "Digest": "sha256:55afa1ecc21d2bb5e5045f32dafee56272ffd89860bac26f6c32123439af26a4", + "DiffID": "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c" + }, + "Digest": "sha1:5cbd14acc6f1804c5bac6c77dc2c492f010b0fc7", + "InstalledFiles": [ + "bin/sh" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "ca-certificates@20260611-r0", + "Name": "ca-certificates", + "Identifier": { + "PURL": "pkg:apk/alpine/ca-certificates@20260611-r0?arch=x86_64\u0026distro=3.24.1", + "UID": "2a3c316ee83c6198" + }, + "Version": "20260611-r0", + "Arch": "x86_64", + "SrcName": "ca-certificates", + "SrcVersion": "20260611-r0", + "Licenses": [ + "MPL-2.0", + "MIT" + ], + "Maintainer": "Natanael Copa \u003cncopa@alpinelinux.org\u003e", + "DependsOn": [ + "busybox-binsh@1.37.0-r31", + "libcrypto3@3.5.8-r0", + "musl@1.2.6-r2" + ], + "Layer": { + "Digest": "sha256:47393b668ce535d06e8967917d424c177e2ecccae83856d48b2e99164f8cc6cb", + "DiffID": "sha256:3ca4be2c6e9ac0223715355253725381000486c2b45bfcb22cf571b6a85a12dd" + }, + "Digest": "sha1:8f2a04abeb54b331e2970a0a0dffb7bd6bdde567", + "InstalledFiles": [ + "etc/ca-certificates.conf", + "etc/apk/protected_paths.d/ca-certificates.list", + "etc/ca-certificates/update.d/certhash", + "usr/bin/c_rehash", + "usr/sbin/update-ca-certificates", + "usr/share/ca-certificates/mozilla/ACCVRAIZ1.crt", + "usr/share/ca-certificates/mozilla/AC_RAIZ_FNMT-RCM.crt", + "usr/share/ca-certificates/mozilla/AC_RAIZ_FNMT-RCM_SERVIDORES_SEGUROS.crt", + "usr/share/ca-certificates/mozilla/ANF_Secure_Server_Root_CA.crt", + "usr/share/ca-certificates/mozilla/Actalis_Authentication_Root_CA.crt", + "usr/share/ca-certificates/mozilla/Amazon_Root_CA_1.crt", + "usr/share/ca-certificates/mozilla/Amazon_Root_CA_2.crt", + "usr/share/ca-certificates/mozilla/Amazon_Root_CA_3.crt", + "usr/share/ca-certificates/mozilla/Amazon_Root_CA_4.crt", + "usr/share/ca-certificates/mozilla/Atos_TrustedRoot_2011.crt", + "usr/share/ca-certificates/mozilla/Atos_TrustedRoot_Root_CA_ECC_TLS_2021.crt", + "usr/share/ca-certificates/mozilla/Atos_TrustedRoot_Root_CA_RSA_TLS_2021.crt", + "usr/share/ca-certificates/mozilla/Autoridad_de_Certificacion_Firmaprofesional_CIF_A62634068.crt", + "usr/share/ca-certificates/mozilla/BJCA_Global_Root_CA1.crt", + "usr/share/ca-certificates/mozilla/BJCA_Global_Root_CA2.crt", + "usr/share/ca-certificates/mozilla/Buypass_Class_2_Root_CA.crt", + "usr/share/ca-certificates/mozilla/Buypass_Class_3_Root_CA.crt", + "usr/share/ca-certificates/mozilla/CA_Disig_Root_R2.crt", + "usr/share/ca-certificates/mozilla/CFCA_EV_ROOT.crt", + "usr/share/ca-certificates/mozilla/COMODO_ECC_Certification_Authority.crt", + "usr/share/ca-certificates/mozilla/COMODO_RSA_Certification_Authority.crt", + "usr/share/ca-certificates/mozilla/Certainly_Root_E1.crt", + "usr/share/ca-certificates/mozilla/Certainly_Root_R1.crt", + "usr/share/ca-certificates/mozilla/Certigna_Root_CA.crt", + "usr/share/ca-certificates/mozilla/Certum_EC-384_CA.crt", + "usr/share/ca-certificates/mozilla/Certum_Trusted_Network_CA.crt", + "usr/share/ca-certificates/mozilla/Certum_Trusted_Network_CA_2.crt", + "usr/share/ca-certificates/mozilla/Certum_Trusted_Root_CA.crt", + "usr/share/ca-certificates/mozilla/D-TRUST_BR_Root_CA_1_2020.crt", + "usr/share/ca-certificates/mozilla/D-TRUST_BR_Root_CA_2_2023.crt", + "usr/share/ca-certificates/mozilla/D-TRUST_EV_Root_CA_1_2020.crt", + "usr/share/ca-certificates/mozilla/D-TRUST_EV_Root_CA_2_2023.crt", + "usr/share/ca-certificates/mozilla/D-TRUST_Root_Class_3_CA_2_2009.crt", + "usr/share/ca-certificates/mozilla/D-TRUST_Root_Class_3_CA_2_EV_2009.crt", + "usr/share/ca-certificates/mozilla/DigiCert_Assured_ID_Root_G2.crt", + "usr/share/ca-certificates/mozilla/DigiCert_Assured_ID_Root_G3.crt", + "usr/share/ca-certificates/mozilla/DigiCert_Global_Root_G2.crt", + "usr/share/ca-certificates/mozilla/DigiCert_Global_Root_G3.crt", + "usr/share/ca-certificates/mozilla/DigiCert_TLS_ECC_P384_Root_G5.crt", + "usr/share/ca-certificates/mozilla/DigiCert_TLS_RSA4096_Root_G5.crt", + "usr/share/ca-certificates/mozilla/DigiCert_Trusted_Root_G4.crt", + "usr/share/ca-certificates/mozilla/GDCA_TrustAUTH_R5_ROOT.crt", + "usr/share/ca-certificates/mozilla/GTS_Root_R1.crt", + "usr/share/ca-certificates/mozilla/GTS_Root_R3.crt", + "usr/share/ca-certificates/mozilla/GTS_Root_R4.crt", + "usr/share/ca-certificates/mozilla/GlobalSign_ECC_Root_CA_-_R4.crt", + "usr/share/ca-certificates/mozilla/GlobalSign_ECC_Root_CA_-_R5.crt", + "usr/share/ca-certificates/mozilla/GlobalSign_Root_CA_-_R3.crt", + "usr/share/ca-certificates/mozilla/GlobalSign_Root_CA_-_R6.crt", + "usr/share/ca-certificates/mozilla/GlobalSign_Root_E46.crt", + "usr/share/ca-certificates/mozilla/GlobalSign_Root_R46.crt", + "usr/share/ca-certificates/mozilla/Go_Daddy_Root_Certificate_Authority_-_G2.crt", + "usr/share/ca-certificates/mozilla/HARICA_TLS_ECC_Root_CA_2021.crt", + "usr/share/ca-certificates/mozilla/HARICA_TLS_RSA_Root_CA_2021.crt", + "usr/share/ca-certificates/mozilla/Hellenic_Academic_and_Research_Institutions_ECC_RootCA_2015.crt", + "usr/share/ca-certificates/mozilla/Hellenic_Academic_and_Research_Institutions_RootCA_2015.crt", + "usr/share/ca-certificates/mozilla/HiPKI_Root_CA_-_G1.crt", + "usr/share/ca-certificates/mozilla/Hongkong_Post_Root_CA_3.crt", + "usr/share/ca-certificates/mozilla/ISRG_Root_X1.crt", + "usr/share/ca-certificates/mozilla/ISRG_Root_X2.crt", + "usr/share/ca-certificates/mozilla/IdenTrust_Commercial_Root_CA_1.crt", + "usr/share/ca-certificates/mozilla/IdenTrust_Public_Sector_Root_CA_1.crt", + "usr/share/ca-certificates/mozilla/Izenpe.com.crt", + "usr/share/ca-certificates/mozilla/Microsec_e-Szigno_Root_CA_2009.crt", + "usr/share/ca-certificates/mozilla/Microsoft_ECC_Root_Certificate_Authority_2017.crt", + "usr/share/ca-certificates/mozilla/Microsoft_RSA_Root_Certificate_Authority_2017.crt", + "usr/share/ca-certificates/mozilla/NAVER_Global_Root_Certification_Authority.crt", + "usr/share/ca-certificates/mozilla/NetLock_Arany_=Class_Gold=_Főtanúsítvány.crt", + "usr/share/ca-certificates/mozilla/OISTE_Server_Root_ECC_G1.crt", + "usr/share/ca-certificates/mozilla/OISTE_Server_Root_RSA_G1.crt", + "usr/share/ca-certificates/mozilla/OISTE_WISeKey_Global_Root_GB_CA.crt", + "usr/share/ca-certificates/mozilla/OISTE_WISeKey_Global_Root_GC_CA.crt", + "usr/share/ca-certificates/mozilla/QuoVadis_Root_CA_1_G3.crt", + "usr/share/ca-certificates/mozilla/QuoVadis_Root_CA_2_G3.crt", + "usr/share/ca-certificates/mozilla/QuoVadis_Root_CA_3_G3.crt", + "usr/share/ca-certificates/mozilla/SSL.com_EV_Root_Certification_Authority_ECC.crt", + "usr/share/ca-certificates/mozilla/SSL.com_EV_Root_Certification_Authority_RSA_R2.crt", + "usr/share/ca-certificates/mozilla/SSL.com_Root_Certification_Authority_ECC.crt", + "usr/share/ca-certificates/mozilla/SSL.com_Root_Certification_Authority_RSA.crt", + "usr/share/ca-certificates/mozilla/SSL.com_TLS_ECC_Root_CA_2022.crt", + "usr/share/ca-certificates/mozilla/SSL.com_TLS_RSA_Root_CA_2022.crt", + "usr/share/ca-certificates/mozilla/SZAFIR_ROOT_CA2.crt", + "usr/share/ca-certificates/mozilla/Sectigo_Public_Server_Authentication_Root_E46.crt", + "usr/share/ca-certificates/mozilla/Sectigo_Public_Server_Authentication_Root_R46.crt", + "usr/share/ca-certificates/mozilla/SecureSign_Root_CA14.crt", + "usr/share/ca-certificates/mozilla/SecureSign_Root_CA15.crt", + "usr/share/ca-certificates/mozilla/Security_Communication_ECC_RootCA1.crt", + "usr/share/ca-certificates/mozilla/Security_Communication_RootCA2.crt", + "usr/share/ca-certificates/mozilla/Starfield_Root_Certificate_Authority_-_G2.crt", + "usr/share/ca-certificates/mozilla/Starfield_Services_Root_Certificate_Authority_-_G2.crt", + "usr/share/ca-certificates/mozilla/SwissSign_RSA_TLS_Root_CA_2022_-_1.crt", + "usr/share/ca-certificates/mozilla/T-TeleSec_GlobalRoot_Class_2.crt", + "usr/share/ca-certificates/mozilla/T-TeleSec_GlobalRoot_Class_3.crt", + "usr/share/ca-certificates/mozilla/TUBITAK_Kamu_SM_SSL_Kok_Sertifikasi_-_Surum_1.crt", + "usr/share/ca-certificates/mozilla/TWCA_CYBER_Root_CA.crt", + "usr/share/ca-certificates/mozilla/TWCA_Global_Root_CA.crt", + "usr/share/ca-certificates/mozilla/TWCA_Root_Certification_Authority.crt", + "usr/share/ca-certificates/mozilla/Telekom_Security_TLS_ECC_Root_2020.crt", + "usr/share/ca-certificates/mozilla/Telekom_Security_TLS_RSA_Root_2023.crt", + "usr/share/ca-certificates/mozilla/Telia_Root_CA_v2.crt", + "usr/share/ca-certificates/mozilla/TrustAsia_Global_Root_CA_G3.crt", + "usr/share/ca-certificates/mozilla/TrustAsia_Global_Root_CA_G4.crt", + "usr/share/ca-certificates/mozilla/TrustAsia_TLS_ECC_Root_CA.crt", + "usr/share/ca-certificates/mozilla/TrustAsia_TLS_RSA_Root_CA.crt", + "usr/share/ca-certificates/mozilla/TunTrust_Root_CA.crt", + "usr/share/ca-certificates/mozilla/UCA_Extended_Validation_Root.crt", + "usr/share/ca-certificates/mozilla/UCA_Global_G2_Root.crt", + "usr/share/ca-certificates/mozilla/USERTrust_ECC_Certification_Authority.crt", + "usr/share/ca-certificates/mozilla/USERTrust_RSA_Certification_Authority.crt", + "usr/share/ca-certificates/mozilla/certSIGN_Root_CA_G2.crt", + "usr/share/ca-certificates/mozilla/e-Szigno_Root_CA_2017.crt", + "usr/share/ca-certificates/mozilla/e-Szigno_TLS_Root_CA_2023.crt", + "usr/share/ca-certificates/mozilla/ePKI_Root_Certification_Authority.crt", + "usr/share/ca-certificates/mozilla/emSign_ECC_Root_CA_-_C3.crt", + "usr/share/ca-certificates/mozilla/emSign_ECC_Root_CA_-_G3.crt", + "usr/share/ca-certificates/mozilla/emSign_Root_CA_-_C1.crt", + "usr/share/ca-certificates/mozilla/emSign_Root_CA_-_G1.crt", + "usr/share/ca-certificates/mozilla/vTrus_ECC_Root_CA.crt", + "usr/share/ca-certificates/mozilla/vTrus_Root_CA.crt" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "ca-certificates-bundle@20260611-r0", + "Name": "ca-certificates-bundle", + "Identifier": { + "PURL": "pkg:apk/alpine/ca-certificates-bundle@20260611-r0?arch=x86_64\u0026distro=3.24.1", + "UID": "20337c2ea28bef28" + }, + "Version": "20260611-r0", + "Arch": "x86_64", + "SrcName": "ca-certificates", + "SrcVersion": "20260611-r0", + "Licenses": [ + "MPL-2.0", + "MIT" + ], + "Maintainer": "Natanael Copa \u003cncopa@alpinelinux.org\u003e", + "Layer": { + "Digest": "sha256:55afa1ecc21d2bb5e5045f32dafee56272ffd89860bac26f6c32123439af26a4", + "DiffID": "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c" + }, + "Digest": "sha1:c9534a03750bdfae341f10969016090fc11febbd", + "InstalledFiles": [ + "etc/ssl/cert.pem", + "etc/ssl/certs/ca-certificates.crt", + "etc/ssl1.1/cert.pem", + "etc/ssl1.1/certs" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "gdbm@1.26-r0", + "Name": "gdbm", + "Identifier": { + "PURL": "pkg:apk/alpine/gdbm@1.26-r0?arch=x86_64\u0026distro=3.24.1", + "UID": "5eb1a3f86262ca77" + }, + "Version": "1.26-r0", + "Arch": "x86_64", + "SrcName": "gdbm", + "SrcVersion": "1.26-r0", + "Licenses": [ + "GPL-3.0-or-later" + ], + "Maintainer": "Natanael Copa \u003cncopa@alpinelinux.org\u003e", + "DependsOn": [ + "musl@1.2.6-r2" + ], + "Layer": { + "Digest": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235", + "DiffID": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + "Digest": "sha1:619493d8124fe49a8ee1d8f7a1372cf7e3977337", + "InstalledFiles": [ + "usr/lib/libgdbm.so.6", + "usr/lib/libgdbm.so.6.0.0", + "usr/lib/libgdbm_compat.so.4", + "usr/lib/libgdbm_compat.so.4.0.0" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "keyutils-libs@1.6.3-r4", + "Name": "keyutils-libs", + "Identifier": { + "PURL": "pkg:apk/alpine/keyutils-libs@1.6.3-r4?arch=x86_64\u0026distro=3.24.1", + "UID": "a1a29120eb342032" + }, + "Version": "1.6.3-r4", + "Arch": "x86_64", + "SrcName": "keyutils", + "SrcVersion": "1.6.3-r4", + "Licenses": [ + "GPL-2.0-or-later", + "LGPL-2.0-or-later" + ], + "Maintainer": "Natanael Copa \u003cncopa@alpinelinux.org\u003e", + "DependsOn": [ + "musl@1.2.6-r2" + ], + "Layer": { + "Digest": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235", + "DiffID": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + "Digest": "sha1:b7331c96f077fc3522ee4361a441d1097204cd90", + "InstalledFiles": [ + "usr/lib/libkeyutils.so.1", + "usr/lib/libkeyutils.so.1.10" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "krb5-conf@1.0-r2", + "Name": "krb5-conf", + "Identifier": { + "PURL": "pkg:apk/alpine/krb5-conf@1.0-r2?arch=x86_64\u0026distro=3.24.1", + "UID": "e7cf94ba8b6dbc33" + }, + "Version": "1.0-r2", + "Arch": "x86_64", + "SrcName": "krb5-conf", + "SrcVersion": "1.0-r2", + "Licenses": [ + "MIT" + ], + "Maintainer": "Natanael Copa \u003cncopa@alpinelinux.org\u003e", + "Layer": { + "Digest": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235", + "DiffID": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + "Digest": "sha1:40a11e0690a59e110367b62a80661024e9942a2d", + "InstalledFiles": [ + "etc/krb5.conf" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "krb5-libs@1.22.2-r1", + "Name": "krb5-libs", + "Identifier": { + "PURL": "pkg:apk/alpine/krb5-libs@1.22.2-r1?arch=x86_64\u0026distro=3.24.1", + "UID": "958f8b4a4f087dac" + }, + "Version": "1.22.2-r1", + "Arch": "x86_64", + "SrcName": "krb5", + "SrcVersion": "1.22.2-r1", + "Licenses": [ + "MIT" + ], + "Maintainer": "Natanael Copa \u003cncopa@alpinelinux.org\u003e", + "DependsOn": [ + "keyutils-libs@1.6.3-r4", + "krb5-conf@1.0-r2", + "libcom_err@1.47.4-r0", + "libcrypto3@3.5.8-r0", + "libssl3@3.5.8-r0", + "libverto@0.3.2-r2", + "musl@1.2.6-r2" + ], + "Layer": { + "Digest": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235", + "DiffID": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + "Digest": "sha1:ef02346e21b817ff379e4601e5b1fc9760e5e31a", + "InstalledFiles": [ + "usr/lib/libgssapi_krb5.so.2", + "usr/lib/libgssapi_krb5.so.2.2", + "usr/lib/libgssrpc.so.4", + "usr/lib/libgssrpc.so.4.2", + "usr/lib/libk5crypto.so.3", + "usr/lib/libk5crypto.so.3.1", + "usr/lib/libkadm5clnt_mit.so.12", + "usr/lib/libkadm5clnt_mit.so.12.0", + "usr/lib/libkadm5srv_mit.so.12", + "usr/lib/libkadm5srv_mit.so.12.0", + "usr/lib/libkdb5.so.10", + "usr/lib/libkdb5.so.10.0", + "usr/lib/libkrad.so.0", + "usr/lib/libkrad.so.0.0", + "usr/lib/libkrb5.so.3", + "usr/lib/libkrb5.so.3.3", + "usr/lib/libkrb5support.so.0", + "usr/lib/libkrb5support.so.0.1", + "usr/lib/krb5/plugins/kdb/db2.so", + "usr/lib/krb5/plugins/preauth/otp.so", + "usr/lib/krb5/plugins/preauth/spake.so", + "usr/lib/krb5/plugins/preauth/test.so", + "usr/lib/krb5/plugins/tls/k5tls.so" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "libapk@3.0.6-r0", + "Name": "libapk", + "Identifier": { + "PURL": "pkg:apk/alpine/libapk@3.0.6-r0?arch=x86_64\u0026distro=3.24.1", + "UID": "779641db16cf6477" + }, + "Version": "3.0.6-r0", + "Arch": "x86_64", + "SrcName": "apk-tools", + "SrcVersion": "3.0.6-r0", + "Licenses": [ + "GPL-2.0-only" + ], + "Maintainer": "Natanael Copa \u003cncopa@alpinelinux.org\u003e", + "DependsOn": [ + "libcrypto3@3.5.8-r0", + "libssl3@3.5.8-r0", + "musl@1.2.6-r2", + "zlib@1.3.2-r1" + ], + "Layer": { + "Digest": "sha256:55afa1ecc21d2bb5e5045f32dafee56272ffd89860bac26f6c32123439af26a4", + "DiffID": "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c" + }, + "Digest": "sha1:523a8f58104589f74f743d501c81bf6517155378", + "InstalledFiles": [ + "usr/lib/libapk.so.3.0.0" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "libbz2@1.0.8-r6", + "Name": "libbz2", + "Identifier": { + "PURL": "pkg:apk/alpine/libbz2@1.0.8-r6?arch=x86_64\u0026distro=3.24.1", + "UID": "48e17539404e2d56" + }, + "Version": "1.0.8-r6", + "Arch": "x86_64", + "SrcName": "bzip2", + "SrcVersion": "1.0.8-r6", + "Licenses": [ + "bzip-2-1.0.6" + ], + "Maintainer": "Natanael Copa \u003cncopa@alpinelinux.org\u003e", + "DependsOn": [ + "musl@1.2.6-r2" + ], + "Layer": { + "Digest": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235", + "DiffID": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + "Digest": "sha1:08566ba5c7af97c25474be8b24e8b48f0116b67d", + "InstalledFiles": [ + "usr/lib/libbz2.so.1", + "usr/lib/libbz2.so.1.0.8" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "libcom_err@1.47.4-r0", + "Name": "libcom_err", + "Identifier": { + "PURL": "pkg:apk/alpine/libcom_err@1.47.4-r0?arch=x86_64\u0026distro=3.24.1", + "UID": "3fc35a3f66d192af" + }, + "Version": "1.47.4-r0", + "Arch": "x86_64", + "SrcName": "e2fsprogs", + "SrcVersion": "1.47.4-r0", + "Licenses": [ + "GPL-2.0-or-later", + "LGPL-2.0-or-later", + "BSD-3-Clause", + "MIT" + ], + "Maintainer": "Natanael Copa \u003cncopa@alpinelinux.org\u003e", + "DependsOn": [ + "musl@1.2.6-r2" + ], + "Layer": { + "Digest": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235", + "DiffID": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + "Digest": "sha1:4b9fb5899ea0b1c0cfbb2a2c5952704437d4ecef", + "InstalledFiles": [ + "usr/lib/libcom_err.so.2", + "usr/lib/libcom_err.so.2.1" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "libcrypto3@3.5.8-r0", + "Name": "libcrypto3", + "Identifier": { + "PURL": "pkg:apk/alpine/libcrypto3@3.5.8-r0?arch=x86_64\u0026distro=3.24.1", + "UID": "4299bba2ba9c96aa" + }, + "Version": "3.5.8-r0", + "Arch": "x86_64", + "SrcName": "openssl", + "SrcVersion": "3.5.8-r0", + "Licenses": [ + "Apache-2.0" + ], + "Maintainer": "Natanael Copa \u003cncopa@alpinelinux.org\u003e", + "DependsOn": [ + "musl@1.2.6-r2" + ], + "Layer": { + "Digest": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235", + "DiffID": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + "Digest": "sha1:1b3b9fc0c136f4936932bcb2ec21499f0ae5dfd3", + "InstalledFiles": [ + "etc/ssl/ct_log_list.cnf", + "etc/ssl/ct_log_list.cnf.dist", + "etc/ssl/openssl.cnf", + "etc/ssl/openssl.cnf.dist", + "usr/lib/libcrypto.so.3", + "usr/lib/engines-3/afalg.so", + "usr/lib/engines-3/capi.so", + "usr/lib/engines-3/loader_attic.so", + "usr/lib/engines-3/padlock.so", + "usr/lib/ossl-modules/legacy.so" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "libffi@3.5.2-r1", + "Name": "libffi", + "Identifier": { + "PURL": "pkg:apk/alpine/libffi@3.5.2-r1?arch=x86_64\u0026distro=3.24.1", + "UID": "d3eaa921287b1ccd" + }, + "Version": "3.5.2-r1", + "Arch": "x86_64", + "SrcName": "libffi", + "SrcVersion": "3.5.2-r1", + "Licenses": [ + "MIT" + ], + "Maintainer": "Natanael Copa \u003cncopa@alpinelinux.org\u003e", + "DependsOn": [ + "musl@1.2.6-r2" + ], + "Layer": { + "Digest": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235", + "DiffID": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + "Digest": "sha1:2f7b261f7fcecc4eebd8b330e7f6fb80713bfe3a", + "InstalledFiles": [ + "usr/lib/libffi.so.8", + "usr/lib/libffi.so.8.2.0" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "libintl@1.0-r0", + "Name": "libintl", + "Identifier": { + "PURL": "pkg:apk/alpine/libintl@1.0-r0?arch=x86_64\u0026distro=3.24.1", + "UID": "25c18808d8fc87e0" + }, + "Version": "1.0-r0", + "Arch": "x86_64", + "SrcName": "gettext", + "SrcVersion": "1.0-r0", + "Licenses": [ + "LGPL-2.1-or-later" + ], + "Maintainer": "Carlo Landmeter \u003cclandmeter@alpinelinux.org\u003e", + "DependsOn": [ + "musl@1.2.6-r2" + ], + "Layer": { + "Digest": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235", + "DiffID": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + "Digest": "sha1:282d6642ccac87237e43a864159d73cf5abe7550", + "InstalledFiles": [ + "usr/lib/libintl.so.8", + "usr/lib/libintl.so.8.4.6" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "libncursesw@6.6_p20260516-r0", + "Name": "libncursesw", + "Identifier": { + "PURL": "pkg:apk/alpine/libncursesw@6.6_p20260516-r0?arch=x86_64\u0026distro=3.24.1", + "UID": "e8939f45e2191bcc" + }, + "Version": "6.6_p20260516-r0", + "Arch": "x86_64", + "SrcName": "ncurses", + "SrcVersion": "6.6_p20260516-r0", + "Licenses": [ + "X-11" + ], + "Maintainer": "Milan P. Stanić \u003cmps@arvanta.net\u003e", + "DependsOn": [ + "musl@1.2.6-r2", + "ncurses-terminfo-base@6.6_p20260516-r0" + ], + "Layer": { + "Digest": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235", + "DiffID": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + "Digest": "sha1:9f318e6e324d6827274829194cf6ac6afbaded12", + "InstalledFiles": [ + "usr/lib/libncursesw.so.6", + "usr/lib/libncursesw.so.6.6" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "libnsl@2.0.1-r2", + "Name": "libnsl", + "Identifier": { + "PURL": "pkg:apk/alpine/libnsl@2.0.1-r2?arch=x86_64\u0026distro=3.24.1", + "UID": "3d893c60d41da67b" + }, + "Version": "2.0.1-r2", + "Arch": "x86_64", + "SrcName": "libnsl", + "SrcVersion": "2.0.1-r2", + "Licenses": [ + "LGPL-2.0-or-later" + ], + "DependsOn": [ + "libintl@1.0-r0", + "libtirpc@1.3.5-r1", + "musl@1.2.6-r2" + ], + "Layer": { + "Digest": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235", + "DiffID": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + "Digest": "sha1:5194adbf26560b52be318481a7af294ab05fd795", + "InstalledFiles": [ + "usr/lib/libnsl.so.3", + "usr/lib/libnsl.so.3.0.0" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "libpanelw@6.6_p20260516-r0", + "Name": "libpanelw", + "Identifier": { + "PURL": "pkg:apk/alpine/libpanelw@6.6_p20260516-r0?arch=x86_64\u0026distro=3.24.1", + "UID": "ef1ad9bb256b373" + }, + "Version": "6.6_p20260516-r0", + "Arch": "x86_64", + "SrcName": "ncurses", + "SrcVersion": "6.6_p20260516-r0", + "Licenses": [ + "X-11" + ], + "Maintainer": "Milan P. Stanić \u003cmps@arvanta.net\u003e", + "DependsOn": [ + "libncursesw@6.6_p20260516-r0", + "musl@1.2.6-r2", + "ncurses-terminfo-base@6.6_p20260516-r0" + ], + "Layer": { + "Digest": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235", + "DiffID": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + "Digest": "sha1:149bdc434232ed11fc5bb975ba519a07154a6f56", + "InstalledFiles": [ + "usr/lib/libpanelw.so.6", + "usr/lib/libpanelw.so.6.6" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "libssl3@3.5.8-r0", + "Name": "libssl3", + "Identifier": { + "PURL": "pkg:apk/alpine/libssl3@3.5.8-r0?arch=x86_64\u0026distro=3.24.1", + "UID": "f290ab59b88b1c4a" + }, + "Version": "3.5.8-r0", + "Arch": "x86_64", + "SrcName": "openssl", + "SrcVersion": "3.5.8-r0", + "Licenses": [ + "Apache-2.0" + ], + "Maintainer": "Natanael Copa \u003cncopa@alpinelinux.org\u003e", + "DependsOn": [ + "libcrypto3@3.5.8-r0", + "musl@1.2.6-r2" + ], + "Layer": { + "Digest": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235", + "DiffID": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + "Digest": "sha1:5f9b1e55d821953d2e2b1db322dad70a3b5041ea", + "InstalledFiles": [ + "usr/lib/libssl.so.3" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "libtirpc@1.3.5-r1", + "Name": "libtirpc", + "Identifier": { + "PURL": "pkg:apk/alpine/libtirpc@1.3.5-r1?arch=x86_64\u0026distro=3.24.1", + "UID": "471c8d955ca03be5" + }, + "Version": "1.3.5-r1", + "Arch": "x86_64", + "SrcName": "libtirpc", + "SrcVersion": "1.3.5-r1", + "Licenses": [ + "BSD-3-Clause" + ], + "Maintainer": "Natanael Copa \u003cncopa@alpinelinux.org\u003e", + "DependsOn": [ + "krb5-libs@1.22.2-r1", + "libtirpc-conf@1.3.5-r1", + "musl@1.2.6-r2" + ], + "Layer": { + "Digest": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235", + "DiffID": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + "Digest": "sha1:c32865bd86a8b8829d152279cabbc5ac6d430eb2", + "InstalledFiles": [ + "usr/lib/libtirpc.so.3", + "usr/lib/libtirpc.so.3.0.0" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "libtirpc-conf@1.3.5-r1", + "Name": "libtirpc-conf", + "Identifier": { + "PURL": "pkg:apk/alpine/libtirpc-conf@1.3.5-r1?arch=x86_64\u0026distro=3.24.1", + "UID": "3437392c14aad33f" + }, + "Version": "1.3.5-r1", + "Arch": "x86_64", + "SrcName": "libtirpc", + "SrcVersion": "1.3.5-r1", + "Licenses": [ + "BSD-3-Clause" + ], + "Maintainer": "Natanael Copa \u003cncopa@alpinelinux.org\u003e", + "Layer": { + "Digest": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235", + "DiffID": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + "Digest": "sha1:0c17d9988dc986c90e22f79778df047eca9973ff", + "InstalledFiles": [ + "etc/bindresvport.blacklist", + "etc/netconfig" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "libuuid@2.42.3-r1", + "Name": "libuuid", + "Identifier": { + "PURL": "pkg:apk/alpine/libuuid@2.42.3-r1?arch=x86_64\u0026distro=3.24.1", + "UID": "c444e9cdd1bdda40" + }, + "Version": "2.42.3-r1", + "Arch": "x86_64", + "SrcName": "util-linux", + "SrcVersion": "2.42.3-r1", + "Licenses": [ + "BSD-3-Clause" + ], + "Maintainer": "Natanael Copa \u003cncopa@alpinelinux.org\u003e", + "DependsOn": [ + "musl@1.2.6-r2" + ], + "Layer": { + "Digest": "sha256:f0fe3e08ab046c0c5e29d34ee73bc8c7e03398eb891e4498e0a67088a5ea3e86", + "DiffID": "sha256:f9b4a8a412a0c07a489e46fb5db41f9d0dc84d4ec38a4e2c6ab9531f44e0d9f1" + }, + "Digest": "sha1:8f041ef637ad75f381cc0c034f2afbbb0303264e", + "InstalledFiles": [ + "usr/lib/libuuid.so.1", + "usr/lib/libuuid.so.1.3.0" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "libverto@0.3.2-r2", + "Name": "libverto", + "Identifier": { + "PURL": "pkg:apk/alpine/libverto@0.3.2-r2?arch=x86_64\u0026distro=3.24.1", + "UID": "9df4321a283a6cf6" + }, + "Version": "0.3.2-r2", + "Arch": "x86_64", + "SrcName": "libverto", + "SrcVersion": "0.3.2-r2", + "Licenses": [ + "MIT" + ], + "Maintainer": "Francesco Colista \u003cfcolista@alpinelinux.org\u003e", + "DependsOn": [ + "musl@1.2.6-r2" + ], + "Layer": { + "Digest": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235", + "DiffID": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + "Digest": "sha1:73233059338142e4ac6d8fb8bb0074e93da75dc1", + "InstalledFiles": [ + "usr/lib/libverto.so.1", + "usr/lib/libverto.so.1.0.0" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "musl@1.2.6-r2", + "Name": "musl", + "Identifier": { + "PURL": "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64\u0026distro=3.24.1", + "UID": "1f8cb44befe503d4" + }, + "Version": "1.2.6-r2", + "Arch": "x86_64", + "SrcName": "musl", + "SrcVersion": "1.2.6-r2", + "Licenses": [ + "MIT" + ], + "Maintainer": "Natanael Copa \u003cncopa@alpinelinux.org\u003e", + "Layer": { + "Digest": "sha256:55afa1ecc21d2bb5e5045f32dafee56272ffd89860bac26f6c32123439af26a4", + "DiffID": "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c" + }, + "Digest": "sha1:0f7e5827e4e1a73631beda27b78431a8ba240e05", + "InstalledFiles": [ + "lib/ld-musl-x86_64.so.1", + "lib/libc.musl-x86_64.so.1" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "musl-utils@1.2.6-r2", + "Name": "musl-utils", + "Identifier": { + "PURL": "pkg:apk/alpine/musl-utils@1.2.6-r2?arch=x86_64\u0026distro=3.24.1", + "UID": "4497482ec1d943e1" + }, + "Version": "1.2.6-r2", + "Arch": "x86_64", + "SrcName": "musl", + "SrcVersion": "1.2.6-r2", + "Licenses": [ + "MIT", + "BSD-2-Clause", + "GPL-2.0-or-later" + ], + "Maintainer": "Natanael Copa \u003cncopa@alpinelinux.org\u003e", + "DependsOn": [ + "musl@1.2.6-r2", + "scanelf@1.3.9-r1" + ], + "Layer": { + "Digest": "sha256:55afa1ecc21d2bb5e5045f32dafee56272ffd89860bac26f6c32123439af26a4", + "DiffID": "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c" + }, + "Digest": "sha1:75ada3c48d63ec5d87c42fdf934a3fdd11298dc5", + "InstalledFiles": [ + "sbin/ldconfig", + "usr/bin/getconf", + "usr/bin/getent", + "usr/bin/iconv", + "usr/bin/ldd" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "ncurses-terminfo-base@6.6_p20260516-r0", + "Name": "ncurses-terminfo-base", + "Identifier": { + "PURL": "pkg:apk/alpine/ncurses-terminfo-base@6.6_p20260516-r0?arch=x86_64\u0026distro=3.24.1", + "UID": "e7fac5c6a6e9ae8" + }, + "Version": "6.6_p20260516-r0", + "Arch": "x86_64", + "SrcName": "ncurses", + "SrcVersion": "6.6_p20260516-r0", + "Licenses": [ + "X-11" + ], + "Maintainer": "Milan P. Stanić \u003cmps@arvanta.net\u003e", + "Layer": { + "Digest": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235", + "DiffID": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + "Digest": "sha1:9d551d828e9c8ee52c5801c1d6046828ebf15752", + "InstalledFiles": [ + "etc/terminfo/a/alacritty", + "etc/terminfo/a/ansi", + "etc/terminfo/d/dumb", + "etc/terminfo/g/gnome", + "etc/terminfo/g/gnome-256color", + "etc/terminfo/k/konsole", + "etc/terminfo/k/konsole-256color", + "etc/terminfo/k/konsole-linux", + "etc/terminfo/l/linux", + "etc/terminfo/p/putty", + "etc/terminfo/p/putty-256color", + "etc/terminfo/r/rxvt", + "etc/terminfo/r/rxvt-256color", + "etc/terminfo/s/screen", + "etc/terminfo/s/screen-256color", + "etc/terminfo/s/st-0.6", + "etc/terminfo/s/st-0.7", + "etc/terminfo/s/st-0.8", + "etc/terminfo/s/st-0.8.5", + "etc/terminfo/s/st-16color", + "etc/terminfo/s/st-256color", + "etc/terminfo/s/st-direct", + "etc/terminfo/s/sun", + "etc/terminfo/t/terminator", + "etc/terminfo/t/terminology", + "etc/terminfo/t/terminology-0.6.1", + "etc/terminfo/t/terminology-1.0.0", + "etc/terminfo/t/terminology-1.8.1", + "etc/terminfo/t/tmux", + "etc/terminfo/t/tmux-256color", + "etc/terminfo/v/vt100", + "etc/terminfo/v/vt102", + "etc/terminfo/v/vt200", + "etc/terminfo/v/vt220", + "etc/terminfo/v/vt52", + "etc/terminfo/v/vte", + "etc/terminfo/v/vte-256color", + "etc/terminfo/x/xterm", + "etc/terminfo/x/xterm-256color", + "etc/terminfo/x/xterm-color", + "etc/terminfo/x/xterm-xfree86" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "readline@8.3.3-r1", + "Name": "readline", + "Identifier": { + "PURL": "pkg:apk/alpine/readline@8.3.3-r1?arch=x86_64\u0026distro=3.24.1", + "UID": "f50058781c93e1f2" + }, + "Version": "8.3.3-r1", + "Arch": "x86_64", + "SrcName": "readline", + "SrcVersion": "8.3.3-r1", + "Licenses": [ + "GPL-3.0-or-later" + ], + "Maintainer": "qaqland \u003cqaq@qaq.land\u003e", + "DependsOn": [ + "libncursesw@6.6_p20260516-r0", + "musl@1.2.6-r2" + ], + "Layer": { + "Digest": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235", + "DiffID": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + "Digest": "sha1:945b16e378bc00e44d89d4de8124bba7647fdf4d", + "InstalledFiles": [ + "etc/inputrc", + "usr/lib/libreadline.so.8", + "usr/lib/libreadline.so.8.3" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "scanelf@1.3.9-r1", + "Name": "scanelf", + "Identifier": { + "PURL": "pkg:apk/alpine/scanelf@1.3.9-r1?arch=x86_64\u0026distro=3.24.1", + "UID": "936394657a1626fb" + }, + "Version": "1.3.9-r1", + "Arch": "x86_64", + "SrcName": "pax-utils", + "SrcVersion": "1.3.9-r1", + "Licenses": [ + "GPL-2.0-only" + ], + "Maintainer": "Natanael Copa \u003cncopa@alpinelinux.org\u003e", + "DependsOn": [ + "musl@1.2.6-r2" + ], + "Layer": { + "Digest": "sha256:55afa1ecc21d2bb5e5045f32dafee56272ffd89860bac26f6c32123439af26a4", + "DiffID": "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c" + }, + "Digest": "sha1:013f903d0ba219673aebbdd04f74bb5ed82b01f0", + "InstalledFiles": [ + "usr/bin/scanelf" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "sqlite-libs@3.53.4-r0", + "Name": "sqlite-libs", + "Identifier": { + "PURL": "pkg:apk/alpine/sqlite-libs@3.53.4-r0?arch=x86_64\u0026distro=3.24.1", + "UID": "8b10aee2ccc192de" + }, + "Version": "3.53.4-r0", + "Arch": "x86_64", + "SrcName": "sqlite", + "SrcVersion": "3.53.4-r0", + "Licenses": [ + "blessing" + ], + "Maintainer": "Jingyun Hua \u003chuajingyun@loongson.cn\u003e", + "DependsOn": [ + "musl@1.2.6-r2" + ], + "Layer": { + "Digest": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235", + "DiffID": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + "Digest": "sha1:f7630ceb37c232b6609861aeab6cdb9cd120e6fa", + "InstalledFiles": [ + "usr/lib/libsqlite3.so.0", + "usr/lib/libsqlite3.so.3.53.4" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "ssl_client@1.37.0-r31", + "Name": "ssl_client", + "Identifier": { + "PURL": "pkg:apk/alpine/ssl_client@1.37.0-r31?arch=x86_64\u0026distro=3.24.1", + "UID": "d42e31f15a4ce47a" + }, + "Version": "1.37.0-r31", + "Arch": "x86_64", + "SrcName": "busybox", + "SrcVersion": "1.37.0-r31", + "Licenses": [ + "GPL-2.0-only" + ], + "Maintainer": "Sören Tempel \u003csoeren+alpine@soeren-tempel.net\u003e", + "DependsOn": [ + "libcrypto3@3.5.8-r0", + "libssl3@3.5.8-r0", + "musl@1.2.6-r2" + ], + "Layer": { + "Digest": "sha256:55afa1ecc21d2bb5e5045f32dafee56272ffd89860bac26f6c32123439af26a4", + "DiffID": "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c" + }, + "Digest": "sha1:c220f4a5125a313af733e98def94132bb1e9d40d", + "InstalledFiles": [ + "usr/bin/ssl_client" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "tzdata@2026c-r0", + "Name": "tzdata", + "Identifier": { + "PURL": "pkg:apk/alpine/tzdata@2026c-r0?arch=x86_64\u0026distro=3.24.1", + "UID": "52c6b50eff629f9d" + }, + "Version": "2026c-r0", + "Arch": "x86_64", + "SrcName": "tzdata", + "SrcVersion": "2026c-r0", + "Licenses": [ + "Public-Domain" + ], + "Maintainer": "Natanael Copa \u003cncopa@alpinelinux.org\u003e", + "Layer": { + "Digest": "sha256:47393b668ce535d06e8967917d424c177e2ecccae83856d48b2e99164f8cc6cb", + "DiffID": "sha256:3ca4be2c6e9ac0223715355253725381000486c2b45bfcb22cf571b6a85a12dd" + }, + "Digest": "sha1:61f7544ecd8dd63eac23fe3e645702fda92ef02a", + "InstalledFiles": [ + "usr/share/zoneinfo/CET", + "usr/share/zoneinfo/CST6CDT", + "usr/share/zoneinfo/Cuba", + "usr/share/zoneinfo/EET", + "usr/share/zoneinfo/EST", + "usr/share/zoneinfo/EST5EDT", + "usr/share/zoneinfo/Egypt", + "usr/share/zoneinfo/Eire", + "usr/share/zoneinfo/Factory", + "usr/share/zoneinfo/GB", + "usr/share/zoneinfo/GB-Eire", + "usr/share/zoneinfo/GMT", + "usr/share/zoneinfo/GMT+0", + "usr/share/zoneinfo/GMT-0", + "usr/share/zoneinfo/GMT0", + "usr/share/zoneinfo/Greenwich", + "usr/share/zoneinfo/HST", + "usr/share/zoneinfo/Hongkong", + "usr/share/zoneinfo/Iceland", + "usr/share/zoneinfo/Iran", + "usr/share/zoneinfo/Israel", + "usr/share/zoneinfo/Jamaica", + "usr/share/zoneinfo/Japan", + "usr/share/zoneinfo/Kwajalein", + "usr/share/zoneinfo/Libya", + "usr/share/zoneinfo/MET", + "usr/share/zoneinfo/MST", + "usr/share/zoneinfo/MST7MDT", + "usr/share/zoneinfo/NZ", + "usr/share/zoneinfo/NZ-CHAT", + "usr/share/zoneinfo/Navajo", + "usr/share/zoneinfo/PRC", + "usr/share/zoneinfo/PST8PDT", + "usr/share/zoneinfo/Poland", + "usr/share/zoneinfo/Portugal", + "usr/share/zoneinfo/ROC", + "usr/share/zoneinfo/ROK", + "usr/share/zoneinfo/Singapore", + "usr/share/zoneinfo/Turkey", + "usr/share/zoneinfo/UCT", + "usr/share/zoneinfo/UTC", + "usr/share/zoneinfo/Universal", + "usr/share/zoneinfo/W-SU", + "usr/share/zoneinfo/WET", + "usr/share/zoneinfo/Zulu", + "usr/share/zoneinfo/iso3166.tab", + "usr/share/zoneinfo/leap-seconds.list", + "usr/share/zoneinfo/posixrules", + "usr/share/zoneinfo/zone.tab", + "usr/share/zoneinfo/zone1970.tab", + "usr/share/zoneinfo/Africa/Abidjan", + "usr/share/zoneinfo/Africa/Accra", + "usr/share/zoneinfo/Africa/Addis_Ababa", + "usr/share/zoneinfo/Africa/Algiers", + "usr/share/zoneinfo/Africa/Asmara", + "usr/share/zoneinfo/Africa/Asmera", + "usr/share/zoneinfo/Africa/Bamako", + "usr/share/zoneinfo/Africa/Bangui", + "usr/share/zoneinfo/Africa/Banjul", + "usr/share/zoneinfo/Africa/Bissau", + "usr/share/zoneinfo/Africa/Blantyre", + "usr/share/zoneinfo/Africa/Brazzaville", + "usr/share/zoneinfo/Africa/Bujumbura", + "usr/share/zoneinfo/Africa/Cairo", + "usr/share/zoneinfo/Africa/Casablanca", + "usr/share/zoneinfo/Africa/Ceuta", + "usr/share/zoneinfo/Africa/Conakry", + "usr/share/zoneinfo/Africa/Dakar", + "usr/share/zoneinfo/Africa/Dar_es_Salaam", + "usr/share/zoneinfo/Africa/Djibouti", + "usr/share/zoneinfo/Africa/Douala", + "usr/share/zoneinfo/Africa/El_Aaiun", + "usr/share/zoneinfo/Africa/Freetown", + "usr/share/zoneinfo/Africa/Gaborone", + "usr/share/zoneinfo/Africa/Harare", + "usr/share/zoneinfo/Africa/Johannesburg", + "usr/share/zoneinfo/Africa/Juba", + "usr/share/zoneinfo/Africa/Kampala", + "usr/share/zoneinfo/Africa/Khartoum", + "usr/share/zoneinfo/Africa/Kigali", + "usr/share/zoneinfo/Africa/Kinshasa", + "usr/share/zoneinfo/Africa/Lagos", + "usr/share/zoneinfo/Africa/Libreville", + "usr/share/zoneinfo/Africa/Lome", + "usr/share/zoneinfo/Africa/Luanda", + "usr/share/zoneinfo/Africa/Lubumbashi", + "usr/share/zoneinfo/Africa/Lusaka", + "usr/share/zoneinfo/Africa/Malabo", + "usr/share/zoneinfo/Africa/Maputo", + "usr/share/zoneinfo/Africa/Maseru", + "usr/share/zoneinfo/Africa/Mbabane", + "usr/share/zoneinfo/Africa/Mogadishu", + "usr/share/zoneinfo/Africa/Monrovia", + "usr/share/zoneinfo/Africa/Nairobi", + "usr/share/zoneinfo/Africa/Ndjamena", + "usr/share/zoneinfo/Africa/Niamey", + "usr/share/zoneinfo/Africa/Nouakchott", + "usr/share/zoneinfo/Africa/Ouagadougou", + "usr/share/zoneinfo/Africa/Porto-Novo", + "usr/share/zoneinfo/Africa/Sao_Tome", + "usr/share/zoneinfo/Africa/Timbuktu", + "usr/share/zoneinfo/Africa/Tripoli", + "usr/share/zoneinfo/Africa/Tunis", + "usr/share/zoneinfo/Africa/Windhoek", + "usr/share/zoneinfo/America/Adak", + "usr/share/zoneinfo/America/Anchorage", + "usr/share/zoneinfo/America/Anguilla", + "usr/share/zoneinfo/America/Antigua", + "usr/share/zoneinfo/America/Araguaina", + "usr/share/zoneinfo/America/Aruba", + "usr/share/zoneinfo/America/Asuncion", + "usr/share/zoneinfo/America/Atikokan", + "usr/share/zoneinfo/America/Atka", + "usr/share/zoneinfo/America/Bahia", + "usr/share/zoneinfo/America/Bahia_Banderas", + "usr/share/zoneinfo/America/Barbados", + "usr/share/zoneinfo/America/Belem", + "usr/share/zoneinfo/America/Belize", + "usr/share/zoneinfo/America/Blanc-Sablon", + "usr/share/zoneinfo/America/Boa_Vista", + "usr/share/zoneinfo/America/Bogota", + "usr/share/zoneinfo/America/Boise", + "usr/share/zoneinfo/America/Buenos_Aires", + "usr/share/zoneinfo/America/Cambridge_Bay", + "usr/share/zoneinfo/America/Campo_Grande", + "usr/share/zoneinfo/America/Cancun", + "usr/share/zoneinfo/America/Caracas", + "usr/share/zoneinfo/America/Catamarca", + "usr/share/zoneinfo/America/Cayenne", + "usr/share/zoneinfo/America/Cayman", + "usr/share/zoneinfo/America/Chicago", + "usr/share/zoneinfo/America/Chihuahua", + "usr/share/zoneinfo/America/Ciudad_Juarez", + "usr/share/zoneinfo/America/Coral_Harbour", + "usr/share/zoneinfo/America/Cordoba", + "usr/share/zoneinfo/America/Costa_Rica", + "usr/share/zoneinfo/America/Coyhaique", + "usr/share/zoneinfo/America/Creston", + "usr/share/zoneinfo/America/Cuiaba", + "usr/share/zoneinfo/America/Curacao", + "usr/share/zoneinfo/America/Danmarkshavn", + "usr/share/zoneinfo/America/Dawson", + "usr/share/zoneinfo/America/Dawson_Creek", + "usr/share/zoneinfo/America/Denver", + "usr/share/zoneinfo/America/Detroit", + "usr/share/zoneinfo/America/Dominica", + "usr/share/zoneinfo/America/Edmonton", + "usr/share/zoneinfo/America/Eirunepe", + "usr/share/zoneinfo/America/El_Salvador", + "usr/share/zoneinfo/America/Ensenada", + "usr/share/zoneinfo/America/Fort_Nelson", + "usr/share/zoneinfo/America/Fort_Wayne", + "usr/share/zoneinfo/America/Fortaleza", + "usr/share/zoneinfo/America/Glace_Bay", + "usr/share/zoneinfo/America/Godthab", + "usr/share/zoneinfo/America/Goose_Bay", + "usr/share/zoneinfo/America/Grand_Turk", + "usr/share/zoneinfo/America/Grenada", + "usr/share/zoneinfo/America/Guadeloupe", + "usr/share/zoneinfo/America/Guatemala", + "usr/share/zoneinfo/America/Guayaquil", + "usr/share/zoneinfo/America/Guyana", + "usr/share/zoneinfo/America/Halifax", + "usr/share/zoneinfo/America/Havana", + "usr/share/zoneinfo/America/Hermosillo", + "usr/share/zoneinfo/America/Indianapolis", + "usr/share/zoneinfo/America/Inuvik", + "usr/share/zoneinfo/America/Iqaluit", + "usr/share/zoneinfo/America/Jamaica", + "usr/share/zoneinfo/America/Jujuy", + "usr/share/zoneinfo/America/Juneau", + "usr/share/zoneinfo/America/Knox_IN", + "usr/share/zoneinfo/America/Kralendijk", + "usr/share/zoneinfo/America/La_Paz", + "usr/share/zoneinfo/America/Lima", + "usr/share/zoneinfo/America/Los_Angeles", + "usr/share/zoneinfo/America/Louisville", + "usr/share/zoneinfo/America/Lower_Princes", + "usr/share/zoneinfo/America/Maceio", + "usr/share/zoneinfo/America/Managua", + "usr/share/zoneinfo/America/Manaus", + "usr/share/zoneinfo/America/Marigot", + "usr/share/zoneinfo/America/Martinique", + "usr/share/zoneinfo/America/Matamoros", + "usr/share/zoneinfo/America/Mazatlan", + "usr/share/zoneinfo/America/Mendoza", + "usr/share/zoneinfo/America/Menominee", + "usr/share/zoneinfo/America/Merida", + "usr/share/zoneinfo/America/Metlakatla", + "usr/share/zoneinfo/America/Mexico_City", + "usr/share/zoneinfo/America/Miquelon", + "usr/share/zoneinfo/America/Moncton", + "usr/share/zoneinfo/America/Monterrey", + "usr/share/zoneinfo/America/Montevideo", + "usr/share/zoneinfo/America/Montreal", + "usr/share/zoneinfo/America/Montserrat", + "usr/share/zoneinfo/America/Nassau", + "usr/share/zoneinfo/America/New_York", + "usr/share/zoneinfo/America/Nipigon", + "usr/share/zoneinfo/America/Nome", + "usr/share/zoneinfo/America/Noronha", + "usr/share/zoneinfo/America/Nuuk", + "usr/share/zoneinfo/America/Ojinaga", + "usr/share/zoneinfo/America/Panama", + "usr/share/zoneinfo/America/Pangnirtung", + "usr/share/zoneinfo/America/Paramaribo", + "usr/share/zoneinfo/America/Phoenix", + "usr/share/zoneinfo/America/Port-au-Prince", + "usr/share/zoneinfo/America/Port_of_Spain", + "usr/share/zoneinfo/America/Porto_Acre", + "usr/share/zoneinfo/America/Porto_Velho", + "usr/share/zoneinfo/America/Puerto_Rico", + "usr/share/zoneinfo/America/Punta_Arenas", + "usr/share/zoneinfo/America/Rainy_River", + "usr/share/zoneinfo/America/Rankin_Inlet", + "usr/share/zoneinfo/America/Recife", + "usr/share/zoneinfo/America/Regina", + "usr/share/zoneinfo/America/Resolute", + "usr/share/zoneinfo/America/Rio_Branco", + "usr/share/zoneinfo/America/Rosario", + "usr/share/zoneinfo/America/Santa_Isabel", + "usr/share/zoneinfo/America/Santarem", + "usr/share/zoneinfo/America/Santiago", + "usr/share/zoneinfo/America/Santo_Domingo", + "usr/share/zoneinfo/America/Sao_Paulo", + "usr/share/zoneinfo/America/Scoresbysund", + "usr/share/zoneinfo/America/Shiprock", + "usr/share/zoneinfo/America/Sitka", + "usr/share/zoneinfo/America/St_Barthelemy", + "usr/share/zoneinfo/America/St_Johns", + "usr/share/zoneinfo/America/St_Kitts", + "usr/share/zoneinfo/America/St_Lucia", + "usr/share/zoneinfo/America/St_Thomas", + "usr/share/zoneinfo/America/St_Vincent", + "usr/share/zoneinfo/America/Swift_Current", + "usr/share/zoneinfo/America/Tegucigalpa", + "usr/share/zoneinfo/America/Thule", + "usr/share/zoneinfo/America/Thunder_Bay", + "usr/share/zoneinfo/America/Tijuana", + "usr/share/zoneinfo/America/Toronto", + "usr/share/zoneinfo/America/Tortola", + "usr/share/zoneinfo/America/Vancouver", + "usr/share/zoneinfo/America/Virgin", + "usr/share/zoneinfo/America/Whitehorse", + "usr/share/zoneinfo/America/Winnipeg", + "usr/share/zoneinfo/America/Yakutat", + "usr/share/zoneinfo/America/Yellowknife", + "usr/share/zoneinfo/America/Argentina/Buenos_Aires", + "usr/share/zoneinfo/America/Argentina/Catamarca", + "usr/share/zoneinfo/America/Argentina/ComodRivadavia", + "usr/share/zoneinfo/America/Argentina/Cordoba", + "usr/share/zoneinfo/America/Argentina/Jujuy", + "usr/share/zoneinfo/America/Argentina/La_Rioja", + "usr/share/zoneinfo/America/Argentina/Mendoza", + "usr/share/zoneinfo/America/Argentina/Rio_Gallegos", + "usr/share/zoneinfo/America/Argentina/Salta", + "usr/share/zoneinfo/America/Argentina/San_Juan", + "usr/share/zoneinfo/America/Argentina/San_Luis", + "usr/share/zoneinfo/America/Argentina/Tucuman", + "usr/share/zoneinfo/America/Argentina/Ushuaia", + "usr/share/zoneinfo/America/Indiana/Indianapolis", + "usr/share/zoneinfo/America/Indiana/Knox", + "usr/share/zoneinfo/America/Indiana/Marengo", + "usr/share/zoneinfo/America/Indiana/Petersburg", + "usr/share/zoneinfo/America/Indiana/Tell_City", + "usr/share/zoneinfo/America/Indiana/Vevay", + "usr/share/zoneinfo/America/Indiana/Vincennes", + "usr/share/zoneinfo/America/Indiana/Winamac", + "usr/share/zoneinfo/America/Kentucky/Louisville", + "usr/share/zoneinfo/America/Kentucky/Monticello", + "usr/share/zoneinfo/America/North_Dakota/Beulah", + "usr/share/zoneinfo/America/North_Dakota/Center", + "usr/share/zoneinfo/America/North_Dakota/New_Salem", + "usr/share/zoneinfo/Antarctica/Casey", + "usr/share/zoneinfo/Antarctica/Davis", + "usr/share/zoneinfo/Antarctica/DumontDUrville", + "usr/share/zoneinfo/Antarctica/Macquarie", + "usr/share/zoneinfo/Antarctica/Mawson", + "usr/share/zoneinfo/Antarctica/McMurdo", + "usr/share/zoneinfo/Antarctica/Palmer", + "usr/share/zoneinfo/Antarctica/Rothera", + "usr/share/zoneinfo/Antarctica/South_Pole", + "usr/share/zoneinfo/Antarctica/Syowa", + "usr/share/zoneinfo/Antarctica/Troll", + "usr/share/zoneinfo/Antarctica/Vostok", + "usr/share/zoneinfo/Arctic/Longyearbyen", + "usr/share/zoneinfo/Asia/Aden", + "usr/share/zoneinfo/Asia/Almaty", + "usr/share/zoneinfo/Asia/Amman", + "usr/share/zoneinfo/Asia/Anadyr", + "usr/share/zoneinfo/Asia/Aqtau", + "usr/share/zoneinfo/Asia/Aqtobe", + "usr/share/zoneinfo/Asia/Ashgabat", + "usr/share/zoneinfo/Asia/Ashkhabad", + "usr/share/zoneinfo/Asia/Atyrau", + "usr/share/zoneinfo/Asia/Baghdad", + "usr/share/zoneinfo/Asia/Bahrain", + "usr/share/zoneinfo/Asia/Baku", + "usr/share/zoneinfo/Asia/Bangkok", + "usr/share/zoneinfo/Asia/Barnaul", + "usr/share/zoneinfo/Asia/Beirut", + "usr/share/zoneinfo/Asia/Bishkek", + "usr/share/zoneinfo/Asia/Brunei", + "usr/share/zoneinfo/Asia/Calcutta", + "usr/share/zoneinfo/Asia/Chita", + "usr/share/zoneinfo/Asia/Choibalsan", + "usr/share/zoneinfo/Asia/Chongqing", + "usr/share/zoneinfo/Asia/Chungking", + "usr/share/zoneinfo/Asia/Colombo", + "usr/share/zoneinfo/Asia/Dacca", + "usr/share/zoneinfo/Asia/Damascus", + "usr/share/zoneinfo/Asia/Dhaka", + "usr/share/zoneinfo/Asia/Dili", + "usr/share/zoneinfo/Asia/Dubai", + "usr/share/zoneinfo/Asia/Dushanbe", + "usr/share/zoneinfo/Asia/Famagusta", + "usr/share/zoneinfo/Asia/Gaza", + "usr/share/zoneinfo/Asia/Harbin", + "usr/share/zoneinfo/Asia/Hebron", + "usr/share/zoneinfo/Asia/Ho_Chi_Minh", + "usr/share/zoneinfo/Asia/Hong_Kong", + "usr/share/zoneinfo/Asia/Hovd", + "usr/share/zoneinfo/Asia/Irkutsk", + "usr/share/zoneinfo/Asia/Istanbul", + "usr/share/zoneinfo/Asia/Jakarta", + "usr/share/zoneinfo/Asia/Jayapura", + "usr/share/zoneinfo/Asia/Jerusalem", + "usr/share/zoneinfo/Asia/Kabul", + "usr/share/zoneinfo/Asia/Kamchatka", + "usr/share/zoneinfo/Asia/Karachi", + "usr/share/zoneinfo/Asia/Kashgar", + "usr/share/zoneinfo/Asia/Kathmandu", + "usr/share/zoneinfo/Asia/Katmandu", + "usr/share/zoneinfo/Asia/Khandyga", + "usr/share/zoneinfo/Asia/Kolkata", + "usr/share/zoneinfo/Asia/Krasnoyarsk", + "usr/share/zoneinfo/Asia/Kuala_Lumpur", + "usr/share/zoneinfo/Asia/Kuching", + "usr/share/zoneinfo/Asia/Kuwait", + "usr/share/zoneinfo/Asia/Macao", + "usr/share/zoneinfo/Asia/Macau", + "usr/share/zoneinfo/Asia/Magadan", + "usr/share/zoneinfo/Asia/Makassar", + "usr/share/zoneinfo/Asia/Manila", + "usr/share/zoneinfo/Asia/Muscat", + "usr/share/zoneinfo/Asia/Nicosia", + "usr/share/zoneinfo/Asia/Novokuznetsk", + "usr/share/zoneinfo/Asia/Novosibirsk", + "usr/share/zoneinfo/Asia/Omsk", + "usr/share/zoneinfo/Asia/Oral", + "usr/share/zoneinfo/Asia/Phnom_Penh", + "usr/share/zoneinfo/Asia/Pontianak", + "usr/share/zoneinfo/Asia/Pyongyang", + "usr/share/zoneinfo/Asia/Qatar", + "usr/share/zoneinfo/Asia/Qostanay", + "usr/share/zoneinfo/Asia/Qyzylorda", + "usr/share/zoneinfo/Asia/Rangoon", + "usr/share/zoneinfo/Asia/Riyadh", + "usr/share/zoneinfo/Asia/Saigon", + "usr/share/zoneinfo/Asia/Sakhalin", + "usr/share/zoneinfo/Asia/Samarkand", + "usr/share/zoneinfo/Asia/Seoul", + "usr/share/zoneinfo/Asia/Shanghai", + "usr/share/zoneinfo/Asia/Singapore", + "usr/share/zoneinfo/Asia/Srednekolymsk", + "usr/share/zoneinfo/Asia/Taipei", + "usr/share/zoneinfo/Asia/Tashkent", + "usr/share/zoneinfo/Asia/Tbilisi", + "usr/share/zoneinfo/Asia/Tehran", + "usr/share/zoneinfo/Asia/Tel_Aviv", + "usr/share/zoneinfo/Asia/Thimbu", + "usr/share/zoneinfo/Asia/Thimphu", + "usr/share/zoneinfo/Asia/Tokyo", + "usr/share/zoneinfo/Asia/Tomsk", + "usr/share/zoneinfo/Asia/Ujung_Pandang", + "usr/share/zoneinfo/Asia/Ulaanbaatar", + "usr/share/zoneinfo/Asia/Ulan_Bator", + "usr/share/zoneinfo/Asia/Urumqi", + "usr/share/zoneinfo/Asia/Ust-Nera", + "usr/share/zoneinfo/Asia/Vientiane", + "usr/share/zoneinfo/Asia/Vladivostok", + "usr/share/zoneinfo/Asia/Yakutsk", + "usr/share/zoneinfo/Asia/Yangon", + "usr/share/zoneinfo/Asia/Yekaterinburg", + "usr/share/zoneinfo/Asia/Yerevan", + "usr/share/zoneinfo/Atlantic/Azores", + "usr/share/zoneinfo/Atlantic/Bermuda", + "usr/share/zoneinfo/Atlantic/Canary", + "usr/share/zoneinfo/Atlantic/Cape_Verde", + "usr/share/zoneinfo/Atlantic/Faeroe", + "usr/share/zoneinfo/Atlantic/Faroe", + "usr/share/zoneinfo/Atlantic/Jan_Mayen", + "usr/share/zoneinfo/Atlantic/Madeira", + "usr/share/zoneinfo/Atlantic/Reykjavik", + "usr/share/zoneinfo/Atlantic/South_Georgia", + "usr/share/zoneinfo/Atlantic/St_Helena", + "usr/share/zoneinfo/Atlantic/Stanley", + "usr/share/zoneinfo/Australia/ACT", + "usr/share/zoneinfo/Australia/Adelaide", + "usr/share/zoneinfo/Australia/Brisbane", + "usr/share/zoneinfo/Australia/Broken_Hill", + "usr/share/zoneinfo/Australia/Canberra", + "usr/share/zoneinfo/Australia/Currie", + "usr/share/zoneinfo/Australia/Darwin", + "usr/share/zoneinfo/Australia/Eucla", + "usr/share/zoneinfo/Australia/Hobart", + "usr/share/zoneinfo/Australia/LHI", + "usr/share/zoneinfo/Australia/Lindeman", + "usr/share/zoneinfo/Australia/Lord_Howe", + "usr/share/zoneinfo/Australia/Melbourne", + "usr/share/zoneinfo/Australia/NSW", + "usr/share/zoneinfo/Australia/North", + "usr/share/zoneinfo/Australia/Perth", + "usr/share/zoneinfo/Australia/Queensland", + "usr/share/zoneinfo/Australia/South", + "usr/share/zoneinfo/Australia/Sydney", + "usr/share/zoneinfo/Australia/Tasmania", + "usr/share/zoneinfo/Australia/Victoria", + "usr/share/zoneinfo/Australia/West", + "usr/share/zoneinfo/Australia/Yancowinna", + "usr/share/zoneinfo/Brazil/Acre", + "usr/share/zoneinfo/Brazil/DeNoronha", + "usr/share/zoneinfo/Brazil/East", + "usr/share/zoneinfo/Brazil/West", + "usr/share/zoneinfo/Canada/Atlantic", + "usr/share/zoneinfo/Canada/Central", + "usr/share/zoneinfo/Canada/Eastern", + "usr/share/zoneinfo/Canada/Mountain", + "usr/share/zoneinfo/Canada/Newfoundland", + "usr/share/zoneinfo/Canada/Pacific", + "usr/share/zoneinfo/Canada/Saskatchewan", + "usr/share/zoneinfo/Canada/Yukon", + "usr/share/zoneinfo/Chile/Continental", + "usr/share/zoneinfo/Chile/EasterIsland", + "usr/share/zoneinfo/Etc/GMT", + "usr/share/zoneinfo/Etc/GMT+0", + "usr/share/zoneinfo/Etc/GMT+1", + "usr/share/zoneinfo/Etc/GMT+10", + "usr/share/zoneinfo/Etc/GMT+11", + "usr/share/zoneinfo/Etc/GMT+12", + "usr/share/zoneinfo/Etc/GMT+2", + "usr/share/zoneinfo/Etc/GMT+3", + "usr/share/zoneinfo/Etc/GMT+4", + "usr/share/zoneinfo/Etc/GMT+5", + "usr/share/zoneinfo/Etc/GMT+6", + "usr/share/zoneinfo/Etc/GMT+7", + "usr/share/zoneinfo/Etc/GMT+8", + "usr/share/zoneinfo/Etc/GMT+9", + "usr/share/zoneinfo/Etc/GMT-0", + "usr/share/zoneinfo/Etc/GMT-1", + "usr/share/zoneinfo/Etc/GMT-10", + "usr/share/zoneinfo/Etc/GMT-11", + "usr/share/zoneinfo/Etc/GMT-12", + "usr/share/zoneinfo/Etc/GMT-13", + "usr/share/zoneinfo/Etc/GMT-14", + "usr/share/zoneinfo/Etc/GMT-2", + "usr/share/zoneinfo/Etc/GMT-3", + "usr/share/zoneinfo/Etc/GMT-4", + "usr/share/zoneinfo/Etc/GMT-5", + "usr/share/zoneinfo/Etc/GMT-6", + "usr/share/zoneinfo/Etc/GMT-7", + "usr/share/zoneinfo/Etc/GMT-8", + "usr/share/zoneinfo/Etc/GMT-9", + "usr/share/zoneinfo/Etc/GMT0", + "usr/share/zoneinfo/Etc/Greenwich", + "usr/share/zoneinfo/Etc/UCT", + "usr/share/zoneinfo/Etc/UTC", + "usr/share/zoneinfo/Etc/Universal", + "usr/share/zoneinfo/Etc/Zulu", + "usr/share/zoneinfo/Europe/Amsterdam", + "usr/share/zoneinfo/Europe/Andorra", + "usr/share/zoneinfo/Europe/Astrakhan", + "usr/share/zoneinfo/Europe/Athens", + "usr/share/zoneinfo/Europe/Belfast", + "usr/share/zoneinfo/Europe/Belgrade", + "usr/share/zoneinfo/Europe/Berlin", + "usr/share/zoneinfo/Europe/Bratislava", + "usr/share/zoneinfo/Europe/Brussels", + "usr/share/zoneinfo/Europe/Bucharest", + "usr/share/zoneinfo/Europe/Budapest", + "usr/share/zoneinfo/Europe/Busingen", + "usr/share/zoneinfo/Europe/Chisinau", + "usr/share/zoneinfo/Europe/Copenhagen", + "usr/share/zoneinfo/Europe/Dublin", + "usr/share/zoneinfo/Europe/Gibraltar", + "usr/share/zoneinfo/Europe/Guernsey", + "usr/share/zoneinfo/Europe/Helsinki", + "usr/share/zoneinfo/Europe/Isle_of_Man", + "usr/share/zoneinfo/Europe/Istanbul", + "usr/share/zoneinfo/Europe/Jersey", + "usr/share/zoneinfo/Europe/Kaliningrad", + "usr/share/zoneinfo/Europe/Kiev", + "usr/share/zoneinfo/Europe/Kirov", + "usr/share/zoneinfo/Europe/Kyiv", + "usr/share/zoneinfo/Europe/Lisbon", + "usr/share/zoneinfo/Europe/Ljubljana", + "usr/share/zoneinfo/Europe/London", + "usr/share/zoneinfo/Europe/Luxembourg", + "usr/share/zoneinfo/Europe/Madrid", + "usr/share/zoneinfo/Europe/Malta", + "usr/share/zoneinfo/Europe/Mariehamn", + "usr/share/zoneinfo/Europe/Minsk", + "usr/share/zoneinfo/Europe/Monaco", + "usr/share/zoneinfo/Europe/Moscow", + "usr/share/zoneinfo/Europe/Nicosia", + "usr/share/zoneinfo/Europe/Oslo", + "usr/share/zoneinfo/Europe/Paris", + "usr/share/zoneinfo/Europe/Podgorica", + "usr/share/zoneinfo/Europe/Prague", + "usr/share/zoneinfo/Europe/Riga", + "usr/share/zoneinfo/Europe/Rome", + "usr/share/zoneinfo/Europe/Samara", + "usr/share/zoneinfo/Europe/San_Marino", + "usr/share/zoneinfo/Europe/Sarajevo", + "usr/share/zoneinfo/Europe/Saratov", + "usr/share/zoneinfo/Europe/Simferopol", + "usr/share/zoneinfo/Europe/Skopje", + "usr/share/zoneinfo/Europe/Sofia", + "usr/share/zoneinfo/Europe/Stockholm", + "usr/share/zoneinfo/Europe/Tallinn", + "usr/share/zoneinfo/Europe/Tirane", + "usr/share/zoneinfo/Europe/Tiraspol", + "usr/share/zoneinfo/Europe/Ulyanovsk", + "usr/share/zoneinfo/Europe/Uzhgorod", + "usr/share/zoneinfo/Europe/Vaduz", + "usr/share/zoneinfo/Europe/Vatican", + "usr/share/zoneinfo/Europe/Vienna", + "usr/share/zoneinfo/Europe/Vilnius", + "usr/share/zoneinfo/Europe/Volgograd", + "usr/share/zoneinfo/Europe/Warsaw", + "usr/share/zoneinfo/Europe/Zagreb", + "usr/share/zoneinfo/Europe/Zaporozhye", + "usr/share/zoneinfo/Europe/Zurich", + "usr/share/zoneinfo/Indian/Antananarivo", + "usr/share/zoneinfo/Indian/Chagos", + "usr/share/zoneinfo/Indian/Christmas", + "usr/share/zoneinfo/Indian/Cocos", + "usr/share/zoneinfo/Indian/Comoro", + "usr/share/zoneinfo/Indian/Kerguelen", + "usr/share/zoneinfo/Indian/Mahe", + "usr/share/zoneinfo/Indian/Maldives", + "usr/share/zoneinfo/Indian/Mauritius", + "usr/share/zoneinfo/Indian/Mayotte", + "usr/share/zoneinfo/Indian/Reunion", + "usr/share/zoneinfo/Mexico/BajaNorte", + "usr/share/zoneinfo/Mexico/BajaSur", + "usr/share/zoneinfo/Mexico/General", + "usr/share/zoneinfo/Pacific/Apia", + "usr/share/zoneinfo/Pacific/Auckland", + "usr/share/zoneinfo/Pacific/Bougainville", + "usr/share/zoneinfo/Pacific/Chatham", + "usr/share/zoneinfo/Pacific/Chuuk", + "usr/share/zoneinfo/Pacific/Easter", + "usr/share/zoneinfo/Pacific/Efate", + "usr/share/zoneinfo/Pacific/Enderbury", + "usr/share/zoneinfo/Pacific/Fakaofo", + "usr/share/zoneinfo/Pacific/Fiji", + "usr/share/zoneinfo/Pacific/Funafuti", + "usr/share/zoneinfo/Pacific/Galapagos", + "usr/share/zoneinfo/Pacific/Gambier", + "usr/share/zoneinfo/Pacific/Guadalcanal", + "usr/share/zoneinfo/Pacific/Guam", + "usr/share/zoneinfo/Pacific/Honolulu", + "usr/share/zoneinfo/Pacific/Johnston", + "usr/share/zoneinfo/Pacific/Kanton", + "usr/share/zoneinfo/Pacific/Kiritimati", + "usr/share/zoneinfo/Pacific/Kosrae", + "usr/share/zoneinfo/Pacific/Kwajalein", + "usr/share/zoneinfo/Pacific/Majuro", + "usr/share/zoneinfo/Pacific/Marquesas", + "usr/share/zoneinfo/Pacific/Midway", + "usr/share/zoneinfo/Pacific/Nauru", + "usr/share/zoneinfo/Pacific/Niue", + "usr/share/zoneinfo/Pacific/Norfolk", + "usr/share/zoneinfo/Pacific/Noumea", + "usr/share/zoneinfo/Pacific/Pago_Pago", + "usr/share/zoneinfo/Pacific/Palau", + "usr/share/zoneinfo/Pacific/Pitcairn", + "usr/share/zoneinfo/Pacific/Pohnpei", + "usr/share/zoneinfo/Pacific/Ponape", + "usr/share/zoneinfo/Pacific/Port_Moresby", + "usr/share/zoneinfo/Pacific/Rarotonga", + "usr/share/zoneinfo/Pacific/Saipan", + "usr/share/zoneinfo/Pacific/Samoa", + "usr/share/zoneinfo/Pacific/Tahiti", + "usr/share/zoneinfo/Pacific/Tarawa", + "usr/share/zoneinfo/Pacific/Tongatapu", + "usr/share/zoneinfo/Pacific/Truk", + "usr/share/zoneinfo/Pacific/Wake", + "usr/share/zoneinfo/Pacific/Wallis", + "usr/share/zoneinfo/Pacific/Yap", + "usr/share/zoneinfo/US/Alaska", + "usr/share/zoneinfo/US/Aleutian", + "usr/share/zoneinfo/US/Arizona", + "usr/share/zoneinfo/US/Central", + "usr/share/zoneinfo/US/East-Indiana", + "usr/share/zoneinfo/US/Eastern", + "usr/share/zoneinfo/US/Hawaii", + "usr/share/zoneinfo/US/Indiana-Starke", + "usr/share/zoneinfo/US/Michigan", + "usr/share/zoneinfo/US/Mountain", + "usr/share/zoneinfo/US/Pacific", + "usr/share/zoneinfo/US/Samoa" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "xz-libs@5.8.3-r0", + "Name": "xz-libs", + "Identifier": { + "PURL": "pkg:apk/alpine/xz-libs@5.8.3-r0?arch=x86_64\u0026distro=3.24.1", + "UID": "1ae658a5f132a091" + }, + "Version": "5.8.3-r0", + "Arch": "x86_64", + "SrcName": "xz", + "SrcVersion": "5.8.3-r0", + "Licenses": [ + "GPL-2.0-or-later", + "0BSD", + "Public-Domain", + "LGPL-2.1-or-later" + ], + "Maintainer": "Natanael Copa \u003cncopa@alpinelinux.org\u003e", + "DependsOn": [ + "musl@1.2.6-r2" + ], + "Layer": { + "Digest": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235", + "DiffID": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + "Digest": "sha1:4c92c5be0c5bef404e93c880eba9037a9b147347", + "InstalledFiles": [ + "usr/lib/liblzma.so.5", + "usr/lib/liblzma.so.5.8.3" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "zlib@1.3.2-r1", + "Name": "zlib", + "Identifier": { + "PURL": "pkg:apk/alpine/zlib@1.3.2-r1?arch=x86_64\u0026distro=3.24.1", + "UID": "1c01476a88d60a66" + }, + "Version": "1.3.2-r1", + "Arch": "x86_64", + "SrcName": "zlib", + "SrcVersion": "1.3.2-r1", + "Licenses": [ + "Zlib" + ], + "Maintainer": "Natanael Copa \u003cncopa@alpinelinux.org\u003e", + "DependsOn": [ + "musl@1.2.6-r2" + ], + "Layer": { + "Digest": "sha256:645872f9a17cb984e868cc31e749d9db7227a520a47e5d39cc5836f98eb2f731", + "DiffID": "sha256:264cd36fa61846dbe59ce642a36e8d738c415368e666ed0b6c680dc856e1202e" + }, + "Digest": "sha1:4f525c8cc204f84b8b4ca40db3be389958f056c6", + "InstalledFiles": [ + "usr/lib/libz.so.1", + "usr/lib/libz.so.1.3.2" + ], + "AnalyzedBy": "apk" + } + ] + }, + { + "Target": "Python", + "Class": "lang-pkgs", + "Type": "python-pkg", + "Packages": [ + { + "Name": "PyJWT", + "Identifier": { + "PURL": "pkg:pypi/pyjwt@2.15.1", + "UID": "d3f5f9a421b8abc9" + }, + "Version": "2.15.1", + "Licenses": [ + "MIT" + ], + "Layer": { + "Digest": "sha256:82ff17b555d91096dd328eb1e829daaeba9a48d7757143d0b97c35a721f6fb87", + "DiffID": "sha256:648451a0dda84ad04681e32b5ecc7cd5d3a4f0ad84f783e9598d72bc69620d5c" + }, + "FilePath": "opt/venv/lib/python3.12/site-packages/pyjwt-2.15.1.dist-info/METADATA", + "AnalyzedBy": "python-pkg" + }, + { + "Name": "cffi", + "Identifier": { + "PURL": "pkg:pypi/cffi@2.1.1", + "UID": "21042e2f37e33c05" + }, + "Version": "2.1.1", + "Licenses": [ + "MIT-0" + ], + "Layer": { + "Digest": "sha256:82ff17b555d91096dd328eb1e829daaeba9a48d7757143d0b97c35a721f6fb87", + "DiffID": "sha256:648451a0dda84ad04681e32b5ecc7cd5d3a4f0ad84f783e9598d72bc69620d5c" + }, + "FilePath": "opt/venv/lib/python3.12/site-packages/cffi-2.1.1.dist-info/METADATA", + "AnalyzedBy": "python-pkg" + }, + { + "Name": "cryptography", + "Identifier": { + "PURL": "pkg:pypi/cryptography@50.0.1", + "UID": "dcb3df6383fe2a60" + }, + "Version": "50.0.1", + "Licenses": [ + "Apache-2.0 OR BSD-3-Clause" + ], + "Layer": { + "Digest": "sha256:82ff17b555d91096dd328eb1e829daaeba9a48d7757143d0b97c35a721f6fb87", + "DiffID": "sha256:648451a0dda84ad04681e32b5ecc7cd5d3a4f0ad84f783e9598d72bc69620d5c" + }, + "FilePath": "opt/venv/lib/python3.12/site-packages/cryptography-50.0.1.dist-info/METADATA", + "AnalyzedBy": "python-pkg" + }, + { + "Name": "informed-decision", + "Identifier": { + "PURL": "pkg:pypi/informed-decision@0.2.0", + "UID": "7989f2afae8ff568" + }, + "Version": "0.2.0", + "Layer": { + "Digest": "sha256:82ff17b555d91096dd328eb1e829daaeba9a48d7757143d0b97c35a721f6fb87", + "DiffID": "sha256:648451a0dda84ad04681e32b5ecc7cd5d3a4f0ad84f783e9598d72bc69620d5c" + }, + "FilePath": "opt/venv/lib/python3.12/site-packages/informed_decision-0.2.0.dist-info/METADATA", + "AnalyzedBy": "python-pkg" + }, + { + "Name": "pycparser", + "Identifier": { + "PURL": "pkg:pypi/pycparser@3.0", + "UID": "e5a4d03f15a695ff" + }, + "Version": "3.0", + "Licenses": [ + "BSD-3-Clause" + ], + "Layer": { + "Digest": "sha256:82ff17b555d91096dd328eb1e829daaeba9a48d7757143d0b97c35a721f6fb87", + "DiffID": "sha256:648451a0dda84ad04681e32b5ecc7cd5d3a4f0ad84f783e9598d72bc69620d5c" + }, + "FilePath": "opt/venv/lib/python3.12/site-packages/pycparser-3.0.dist-info/METADATA", + "AnalyzedBy": "python-pkg" + }, + { + "Name": "waitress", + "Identifier": { + "PURL": "pkg:pypi/waitress@3.0.2", + "UID": "806e218e1c1e85f" + }, + "Version": "3.0.2", + "Licenses": [ + "ZPL-2.1" + ], + "Layer": { + "Digest": "sha256:82ff17b555d91096dd328eb1e829daaeba9a48d7757143d0b97c35a721f6fb87", + "DiffID": "sha256:648451a0dda84ad04681e32b5ecc7cd5d3a4f0ad84f783e9598d72bc69620d5c" + }, + "FilePath": "opt/venv/lib/python3.12/site-packages/waitress-3.0.2.dist-info/METADATA", + "AnalyzedBy": "python-pkg" + } + ] + } + ] +} diff --git a/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/verify_local_artifacts.py b/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/verify_local_artifacts.py new file mode 100644 index 0000000..03e4d34 --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/verify_local_artifacts.py @@ -0,0 +1,46 @@ +from pathlib import Path +import hashlib,io,json,tarfile +root=Path('/tmp/infd-zlib-remediation-build') +def image(path): + with tarfile.open(path) as archive: + manifest=json.load(archive.extractfile('manifest.json'));assert len(manifest)==1 + configbytes=archive.extractfile(manifest[0]['Config']).read();config=json.loads(configbytes) + files={} + for name in manifest[0]['Layers']: + with tarfile.open(fileobj=archive.extractfile(name),mode='r|*') as layer: + for member in layer: + path=member.name.lstrip('./');p=Path(path) + if p.name=='.wh..wh..opq': + folder=p.parent.as_posix();files={key:value for key,value in files.items() if not key.startswith(folder+'/')};continue + if p.name.startswith('.wh.'): + removed=(p.parent/p.name[4:]).as_posix();files={key:value for key,value in files.items() if key!=removed and not key.startswith(removed+'/')};continue + if member.isfile(): + data=layer.extractfile(member).read();value=('file',member.mode,member.uid,member.gid,hashlib.sha256(data).hexdigest()) + elif member.issym() or member.islnk():value=('link',member.mode,member.uid,member.gid,member.linkname) + else:continue + files[path]=value + return config,hashlib.sha256(configbytes).hexdigest(),files +base,baseid,bfiles=image(root/'base-image.tar');candidate,candidateid,cfiles=image(root/'image.tar') +assert candidate['rootfs']['diff_ids'][:-2]==base['rootfs']['diff_ids'] +changed={name:{'before':bfiles.get(name),'after':cfiles.get(name)} for name in sorted(set(bfiles)|set(cfiles)) if bfiles.get(name)!=cfiles.get(name)} +expected={'usr/lib/libz.so.1.3.2','lib/apk/db/installed'} +assert set(changed)<=expected,set(changed) +a,b=base['config'].copy(),candidate['config'].copy() +labels_a=a.pop('Labels',{});labels_b=b.pop('Labels',{}) +a.pop('Image',None);b.pop('Image',None) +defaults={'Hostname':'','Domainname':'','AttachStdin':False,'AttachStdout':False,'AttachStderr':False,'Tty':False,'OpenStdin':False,'StdinOnce':False,'Cmd':None,'Volumes':None,'OnBuild':None} +for key,value in defaults.items(): + a.setdefault(key,value);b.setdefault(key,value) +assert a==b,(a,b) +components=[] +for name in ['base-sbom.cdx.json','sbom.cdx.json']: + data=json.loads((root/name).read_text());components.append({c['name']:c['version'] for c in data['components'] if c.get('purl')}) +sbom_delta={name:[components[0].get(name),components[1].get(name)] for name in set(components[0])|set(components[1]) if components[0].get(name)!=components[1].get(name)} +assert sbom_delta=={'zlib':['1.3.2-r0','1.3.2-r1']},sbom_delta +vulns=[] +for name in ['base-trivy-full.json','trivy-full.json']: + data=json.loads((root/name).read_text());vulns.append([v for r in data.get('Results',[]) for v in r.get('Vulnerabilities',[])]) +assert len(vulns[0])==1 and vulns[0][0]['VulnerabilityID']=='CVE-2026-85091' and vulns[0][0]['Severity']=='MEDIUM' +assert not vulns[1] +proof={'base_image_config_id':'sha256:'+baseid,'candidate_local_image_config_id':'sha256:'+candidateid,'candidate_registry_digest':None,'base_layers_preserved':len(base['rootfs']['diff_ids']),'new_layers':2,'effective_runtime_config_identical':True,'raw_config_bytes_identical':False,'serialization_note':'Legacy base explicitly serialized empty/false/null defaults; candidate Docker-save config omits equivalent known defaults. Exact closed default normalization only; runtime fields unchanged.','labels_before':labels_a,'labels_after':labels_b,'final_changed_files':changed,'sbom_package_count_base':len(components[0]),'sbom_package_count_candidate':len(components[1]),'sbom_only_delta':sbom_delta,'full_scan_baseline_findings':1,'full_scan_candidate_allseverity_findings':0,'db_snapshot_same':True,'native_workload_changed':False} +(root/'artifact-comparison.json').write_text(json.dumps(proof,indent=2)+'\n');print(json.dumps({key:proof[key] for key in ['candidate_local_image_config_id','base_layers_preserved','effective_runtime_config_identical','sbom_only_delta','full_scan_candidate_allseverity_findings']}));print(json.dumps(list(changed))) diff --git a/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/tools/zlib_overlay/check_build_inputs.py b/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/tools/zlib_overlay/check_build_inputs.py new file mode 100644 index 0000000..523de0f --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/tools/zlib_overlay/check_build_inputs.py @@ -0,0 +1,19 @@ +"""Exact public input verification only; signature verification remains mandatory in build.""" +import hashlib,json,sys +from pathlib import Path + +def verify(root): + pins=json.loads((root/'pins.json').read_text()) + if set(pins['files'])!={'.dockerignore','Containerfile','zlib-1.3.2-r1.apk','APKINDEX.tar.gz'}:raise ValueError('unclosed inputs') + if pins['base_image']!='forgejo.coulomb.social/coulomb/informed-decision@sha256:763c36402c8be7cc4c1bd1a61623d1aff9116d52241877425b45a7018cc0883a':raise ValueError('base pin changed') + for name,digest in pins['files'].items(): + p=root/name + if p.is_symlink() or not p.is_file() or p.stat().st_size>1024*1024:raise ValueError('regular bounded source required') + if hashlib.sha256(p.read_bytes()).hexdigest()!=digest:raise ValueError('changed bytes') + digest=hashlib.sha256(json.dumps(pins['files'],sort_keys=True,separators=(',',':')).encode()).hexdigest() + if digest!=pins['context_sha256']:raise ValueError('context mismatch') + return {'context_sha256':digest,'input_files':4} + +if __name__=='__main__': + try:print(json.dumps(verify(Path(sys.argv[1])))) + except Exception:raise SystemExit('exact build inputs refused') from None diff --git a/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/tools/zlib_overlay/check_runtime.py b/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/tools/zlib_overlay/check_runtime.py new file mode 100644 index 0000000..b8eae32 --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/tools/zlib_overlay/check_runtime.py @@ -0,0 +1,29 @@ +"""Package/backend/source metadata only; never opens a database or provider.""" +import ctypes, gzip, hashlib, importlib.metadata, json, os +from pathlib import Path +import ssl, stat, zlib, sys +if sys.flags.optimize:raise RuntimeError("optimized smoke interpreter refused") + +def digest(path):return hashlib.sha256(Path(path).read_bytes()).hexdigest() +packages={} +for entry in Path('/lib/apk/db/installed').read_text().split('\n\n'): + fields=dict(line.split(':',1) for line in entry.splitlines() if ':' in line) + if 'P' in fields:packages[fields['P']]=fields['V'] +module=Path('/opt/venv/lib/python3.12/site-packages/informed_decision/policy.py');info=module.lstat() +app=module.parent +appfiles={str(p.relative_to(app)):digest(p) for p in sorted(app.rglob('*')) if p.is_file() and '__pycache__' not in p.parts} +keys={p.name:digest(p) for p in sorted(Path('/etc/apk/keys').glob('*.pub'))} +vectors=[b'',b'hello zlib',bytes(range(256))*16384,b'a'*1048576] +for value in vectors: + assert zlib.decompress(zlib.compress(value))==value + assert gzip.decompress(gzip.compress(value,mtime=0))==value +failures=0 +for bad in [b'notzlib',zlib.compress(b'fixture')[:-2],b'\x00'*16]: + try:zlib.decompress(bad) + except zlib.error:failures+=1 + else:raise AssertionError('malformed compression accepted') +from cryptography.hazmat.primitives.ciphers.aead import AESGCM +import jwt, waitress +key=bytes(range(32));nonce=b'123456789012';aes=AESGCM(key);cipher=aes.encrypt(nonce,b'synthetic',b'fixture');assert aes.decrypt(nonce,cipher,b'fixture')==b'synthetic' +signed=jwt.encode({'sub':'synthetic'},'synthetic-test-key-only-32bytes!!!!',algorithm='HS256');assert jwt.decode(signed,'synthetic-test-key-only-32bytes!!!!',algorithms=['HS256'])['sub']=='synthetic' +print(json.dumps({'uid':os.getuid(),'gid':os.getgid(),'policy_sha256':digest(module),'policy_mode':oct(stat.S_IMODE(info.st_mode)),'policy_uid':info.st_uid,'app_file_sha256':appfiles,'apk_packages':packages,'apk_world_sha256':digest('/etc/apk/world'),'apk_keys_sha256':keys,'python_dependencies':{d.metadata['Name']:d.version for d in importlib.metadata.distributions()},'zlib_runtime_version':zlib.ZLIB_RUNTIME_VERSION,'zlib_compile_version':zlib.ZLIB_VERSION,'libz_sha256':digest('/usr/lib/libz.so.1.3.2'),'compression_vectors_pass':len(vectors),'malformed_zlib_refusals':failures,'crypto_jwt_waitress_smoke':True,'openssl':ssl.OPENSSL_VERSION,'network_accessed':False,'database_opened':False,'provider_or_customer_data_used':False})) diff --git a/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/tools/zlib_overlay/compare_runtime.py b/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/tools/zlib_overlay/compare_runtime.py new file mode 100644 index 0000000..d2da70a --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/tools/zlib_overlay/compare_runtime.py @@ -0,0 +1,16 @@ +"""Metadata only; no database, provider or native action.""" +import json,sys + +def compare(a,b): + for field in ('app_file_sha256','policy_sha256','policy_uid','policy_mode','uid','gid','apk_world_sha256','apk_keys_sha256','python_dependencies','openssl'): + if a[field]!=b[field]:raise ValueError('unrelated delta: '+field) + changed={name:[a['apk_packages'].get(name),b['apk_packages'].get(name)] for name in set(a['apk_packages'])|set(b['apk_packages']) if a['apk_packages'].get(name)!=b['apk_packages'].get(name)} + if changed!={'zlib':['1.3.2-r0','1.3.2-r1']}:raise ValueError('not exact zlib-only delta') + if b['policy_sha256']!='9d7c1be4cb6199d14ef0aaead5f85951f45b0ccbd7c800a7fde922a253566b62' or b['uid']!=10001 or b['gid']!=10001 or b['policy_uid']!=0 or b['policy_mode']!='0o644':raise ValueError('purpose/identity differs') + if b['compression_vectors_pass']!=4 or b['malformed_zlib_refusals']!=3 or b['crypto_jwt_waitress_smoke'] is not True:raise ValueError('backend smoke differs') + if b['database_opened'] is not False or b['network_accessed'] is not False or b['provider_or_customer_data_used'] is not False:raise ValueError('unbounded smoke scope') + return {'zlib_only_delta':True,'app_files_identical':len(b['app_file_sha256']),'no_database_or_provider':True} + +if __name__=='__main__': + try:print(json.dumps(compare(json.loads(sys.argv[1]),json.loads(sys.argv[2])))) + except Exception:raise SystemExit('bounded runtime comparison refused') from None diff --git a/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/tools/zlib_overlay/test_candidate.py b/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/tools/zlib_overlay/test_candidate.py new file mode 100644 index 0000000..ae5a917 --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/tools/zlib_overlay/test_candidate.py @@ -0,0 +1,32 @@ +import copy,importlib.util,json,tempfile,unittest,shutil +from pathlib import Path +ROOT=Path(__file__).parent +spec=importlib.util.spec_from_file_location('compare',ROOT/'compare_runtime.py');cmp=importlib.util.module_from_spec(spec);spec.loader.exec_module(cmp) +spec=importlib.util.spec_from_file_location('inputs',ROOT/'check_build_inputs.py');inputs=importlib.util.module_from_spec(spec);spec.loader.exec_module(inputs) +CASE=ROOT.parents[1]/'docs/evidence/2026-10-11-zlib-remediation-candidate' +class NarrowCandidate(unittest.TestCase): + def test_actual_single_package_delta(self): + a=json.loads((CASE/'base-runtime.json').read_text());b=json.loads((CASE/'candidate-runtime.json').read_text());self.assertTrue(cmp.compare(a,b)['zlib_only_delta']) + def test_unrelated_package_policy_identity_backend_database_python_refuse(self): + a=json.loads((CASE/'base-runtime.json').read_text());original=json.loads((CASE/'candidate-runtime.json').read_text()) + for field in ('package','policy','uid','backend','database','python'): + b=copy.deepcopy(original) + if field=='package':b['apk_packages']['musl']='different' + elif field=='policy':b['policy_sha256']='0'*64 + elif field=='uid':b['uid']=0 + elif field=='backend':b['malformed_zlib_refusals']=0 + elif field=='database':b['database_opened']=True + else:b['python_dependencies']['PyJWT']='different' + with self.subTest(field=field),self.assertRaises(ValueError):cmp.compare(a,b) + def test_mutated_package_or_index_refuse(self): + source=ROOT.parents[1]/'deploy/zlib-overlay' + for name in ('zlib-1.3.2-r1.apk','APKINDEX.tar.gz'): + with tempfile.TemporaryDirectory() as directory: + root=Path(directory)/'context';shutil.copytree(source,root);p=root/name;p.write_bytes(p.read_bytes()+b'changed') + with self.assertRaises(ValueError):inputs.verify(root) + def test_closed_recipe(self): + source=ROOT.parents[1]/'deploy/zlib-overlay';self.assertEqual(inputs.verify(source)['input_files'],4) + text=(source/'Containerfile').read_text() + for fragment in ('--no-preupgrade','--no-logfile','--no-network','--repositories-file /dev/null','--repository /tmp/infd-zlib zlib'):self.assertIn(fragment,text) + self.assertNotIn('--allow-untrusted',text) +if __name__=='__main__':unittest.main() diff --git a/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/workplans/INFD-WP-0009-lifecycle-consumer-pin-repair.md b/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/workplans/INFD-WP-0009-lifecycle-consumer-pin-repair.md new file mode 100644 index 0000000..e16ecce --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/workplans/INFD-WP-0009-lifecycle-consumer-pin-repair.md @@ -0,0 +1,188 @@ +--- +id: INFD-WP-0009 +type: workplan +title: "Repair lifecycle consumer pin after Access Engine v2 policy release" +domain: infotech +repo: informed-decision +status: active +owner: codex +topic_slug: netkingdom +created: "2026-10-10" +updated: "2026-10-11" +flavor: implementation +depends_on: [] +related: + - FLEX-WP-0035 + - INFD-WP-0007 +state_hub_workstream_id: "77eaeabf-0644-595f-b3d5-1168e6a294c4" +--- + +## Diagnose and prepare exact config repair + +```task +id: INFD-WP-0009-T01 +status: done +priority: high +state_hub_task_id: "5c30c308-8fe2-5956-b0c1-66c80bcb07e9" +``` + +Native State Hub lifecycle submission returns HTTP 503 `invalid_decision`. +The service remains Ready but its configured lifecycle package is v1/cee6a79; +Access Engine lifecycle provider now runs v2/da01e045 after FLEX-WP-0035. +The envelope contract remains `flex-auth.decision-record.v1`; this is a policy +pin mismatch, not an envelope compatibility migration. Keep exact package, +version and digest enforcement. Source preparation and regression evidence are +in `docs/evidence/2026-10-10-lifecycle-consumer-pin-repair.md`. + +## Release and verify the config-only repair + +```task +id: INFD-WP-0009-T02 +status: done +priority: high +needs_human: false +state_hub_task_id: "1e6684d7-7676-5c70-b701-9dad124b4f07" +``` + +Apply only the reviewed immutable runtime ConfigMap and Deployment reference +through the existing owner GitOps path after exact scoped supervisor approval. +Image, schema, credentials, audience and review policy remain pinned. Retain +server dry-run/diff, readiness and native State Hub register/publish receipts; +retry with stable write keys, do not infer success from readiness. Root agent +owns live evidence and approval recording. This is a repair of the shipped +initial lifecycle, separate from INFD-WP-0008 expansion. + +**Verified 2026-10-11:** founder approved exact config-only revision +`7db8485ffecdebfabd77a9daec085553c74bf0bf`. Manual Argo Application operation +synced only `informed-decision-runtime-6c221878d051` and Deployment, prune false. +Application Succeeded/Healthy; generation24 observed24 Ready1; `/readyz`200; +consumer v2/da01e045 and unchanged image7f5c6cb verified. Native lifecycle +registration and publication succeeded (events28/29). A later review request +rejected packet validation; this separate caller error does not undo verified +authoring. Custodian evidence records original approval, execution and rollback: +`docs/evidence/2026-10-10-security-consolidation/infd-pin-repair-preflight.json`. + +## Explicitly reject advisory purpose at consumer boundary + +```task +id: INFD-WP-0009-T03 +status: done +priority: medium +state_hub_task_id: "ee798d7d-5e60-5247-9c9b-285a7f65cf11" +``` + +PolicyClient now validates binding purpose: absent or exact empty string only; +readback and malformed purposes are refused. Nine purpose variants and a real +provider response contamination test preserve the binding, pin, expiry and +obligations gates. This task covers source implementation and regression tests. +At source implementation time the runtime image lacked this patch. Service build/native release belongs +to T04, separate from the config-only T02 repair. + + +## Release the advisory-purpose source correction + +```task +id: INFD-WP-0009-T04 +status: done +priority: medium +state_hub_task_id: "0e1bb868-7bc2-5d4d-953c-e0edaf660ad0" +``` + +Build and scan a new service image including T03, retain provenance and backup +compatibility evidence, prepare a separate scoped image proposal, and verify +native binding/refusal after the owner's approved release. Do not fold an image +change into the config-only T02 proposal. The pre-release runtime baseline was exact7f5c6cb. + +**Historical local preparation 2026-10-11:** narrow single-module image overlay on immutable running +7f5c6cb; exact source policy SHA-256 9d7c1be4cb6199d14ef0aaead5f85951f45b0ccbd7c800a7fde922a253566b62. +Local image/index b8b58944786015a5375304241c149d1dab885eb539d6d8945f56b01a3c2bc821 +is built and retained, unpublished and undeployed. Base layer prefix and runtime +configuration are preserved; installed-image 10 purpose variants pass; 13 +container checks include restart and synthetic consistent backup/restore. A +fresh Trivy database scan has zero HIGH/CRITICAL findings, with its Alpine EOL +warning retained. See `docs/evidence/2026-10-11-purpose-hardening/README.md`. +Remaining gates: source-bound registry publication and exact digest verification, +fresh native snapshot/restore compatibility, owner GitOps server dry-run/diff, +separate scoped supervisor approval and native post-release binding/refusal. +No release approval or actual production-data restore is inferred from fixtures. + +**Publication and release preparation 2026-10-11:** actual owner CI +task11484/run3 succeeds at source3e4bcb26f8eeaa8c64345c565477b5ac8ccbb168, +publishing immutable image763c36402c8be7cc4c1bd1a61623d1aff9116d52241877425b45a7018cc0883a. +The failed run1/f66 and run2/ace are retained as refinements in the same trial. +Anonymous registry readback proves all8base compressed blobs/rootfs unchanged +plus only policy.py; legacy media-type/default-config serialization differences +are explicit. Pulled published artifact UID10001/GID10001, installed mode0644 +and exactpolicy hash, all10purpose forms pass. Full pinned scanner/DB covers +44packages: 0HIGH/CRITICAL, 1fixableMEDIUM CVE-2026-85091 in zlib1.3.2-r0, +identical actual current-base scan. This is not a zero-CVE release or estate +risk grade. T05 and INFD-RISK-20261011-ZLIB-85091 are live owner follow-through. + +The exact separate20document informed-decision packet is prepared and +offline typed/intake validated, with no submission or founder disposition +claimed. Source candidates differ solely in Deploymentimage and retain +ConfigMap6c221878d051/schema5/PVC/identity/policy pins. Fresh read-only +serverdryrun/clientdiff pass with sealedUID/fullconfiguration and actualCM/PVC +UID/contentchecksum/boundvolume custody; optimizedinterpreters refused. +Independent review refinement requires stdlib mode=ro schema5/integrity/count +checks before any native/offline admin/Store open (native gate notexecuted); existingmanual +Argo remains Healthy/OutOfSync at7db8485, not whole-app reconciled. +Remaining gates: independent owner review, actual founder native approval, +fresh protected native consistent snapshot/off-cluster custody/offline restore, +refresh preflight, exact owner-source pin/Deployment-only manual sync and +verified native installed purpose/refusal/lifecycle behavior. Synthetic native +placement checks are not new provider authorization evidence. Runtime remains7f5c. + +Evidence: `docs/evidence/2026-10-11-purpose-image-release/`. + +**Actual approved release and independent verification, 2026-10-11:** source +c96b0c6d881e855d1d158003c6de90ef390262e2, fresh version2 founder acceptance, +existing-snapshot rescue, isolated actual-data compatibility and disposable +cleanup, fresh cutover backup/private exact copy, and Deployment-only manual +image763c release are evidenced. Independent read-only reconciliation confirms +Ready generation25, exact image/module/config/PVC/controlled Pod, UID/GID10001, +schema5/integrity and preserved live counts16records/56events/0pending, +336delivered/43confirmed; healthz/readyz200. Authenticated actual lifecycle.outcomes +readback at07:01:37 after Ready07:00:42 traverses installed canonical PDP gates. +Installed ten purpose fixtures (two canonical allows/eight refusals) are synthetic, +not provider advisory responses. The separate denial probe remains unexecuted. +This satisfies the bounded T04 release/consumer verification, without declaring +full emission guarantee, all human MFA or a zero-CVE image. Earlier preparation +gates above are historical. Original failed drill-copy and final verifier +UNCERTAIN remain immutable; no failed phase replay/helper amendment or scored +new trial. Argo omitted false prune is independently reconciled to exact approved +non-pruning operation; future verifier defect is live unpromoted INFD-IN-0010. +T05 remains todo/due2026-10-18, so WP0009 remains active. +Review/evidence: docs/reviews/2026-10-11-purpose-native-outcome-product-owner-acceptance.md +and docs/evidence/2026-10-11-purpose-native-acceptance/. + +## Resolve inherited published-image zlib finding + +```task +id: INFD-WP-0009-T05 +status: progress +priority: medium +state_hub_task_id: "1743596f-8558-5a6b-afef-4dd5c1e9c0ae" +``` + +Owner follow-through `INFD-RISK-20261011-ZLIB-85091` tracks actual published +base and purpose-overlay scan finding CVE-2026-85091: zlib 1.3.2-r0, fixed +1.3.2-r1, scanner MEDIUM; this is not an estate risk grade. Prepare and verify a +separate source-bound base/dependency refresh, then obtain distinct native +release approval before changing the workload. Review due 2026-10-18; the date +is a manual owner follow-up, with no automatic expiry/rollback controller. +T04 cannot be treated as a zero-CVE release or silently include the base fix. +Preserve the original detection, pending founder disposition and remediation +evidence. Close only after actual installed-package proof and full rescan. + +Evidence: `docs/evidence/2026-10-11-purpose-image-release/inherited-vulnerability-follow-through.json`. + +2026-10-11 — T05 bounded zlib-only source candidate preparation: +Exactcurrent763base andsignedofficialr1/packageindex buildoffline. Actual44package +fullscan sameDB baseline1MEDCVE85091→localcandidate0allseverity. Finalfilesystem +deltaonlylibz+APKdb;36appfiles/policy9d/world/keys/Python/runtime unchanged. +Localcandidate is unpublished/unapproved;4sourcenegative tests+actualbackend +and10purpose checks pass. Source/evidence:docs/evidence/2026-10-11-zlib-remediation-candidate/. +T05progress/planactive:actualownerCIpublishedprovenance/fullscan/SBOM,distinctnative +founderreleaseapproval andactualinstalledr1/runtime/fullrescan still required. +NoT04/nativec96/helper/journal/DB/ConfigMap/PVC/identity/policy changes. diff --git a/docs/evidence/2026-10-11-zlib-remediation-candidate/intermediate-3e41ab39/README.md b/docs/evidence/2026-10-11-zlib-remediation-candidate/intermediate-3e41ab39/README.md new file mode 100644 index 0000000..6e251f2 --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-remediation-candidate/intermediate-3e41ab39/README.md @@ -0,0 +1,13 @@ +# Separate T05 zlib-only candidate — local verified, unpublished/unapproved + +Exact current purpose image763c is the base. Signed official Alpine3.24/main/x86_64 zlib1.3.2-r1 and APKINDEX are preserved as exact public source artifacts in deploy/zlib-overlay with their HTTPS origin/SHA/packagecommit/signature metadata. Both actually verified against base trusted keys. The offline named-package upgrade uses only that repository, disables preupgrade/network/logging, restoresUID10001 and removes temporarypublic artifacts. Only final libz binary and APK installeddatabase differ; world/repository/keys/app36files/Python/OpenSSL/policy9d remain unchanged. Raw Docker legacy/OCI default serialization differs; effective runtime config is proved equal, not byte-identical. + +Local daemonimageID78bfdcc... differs from Docker-save OCIconfig625d... after serialization; both are explicitly identified in receipt. Neither is a registry/release digest. Localfull sameDB scan covers44packages: baseactual1MEDCVE85091, candidatezeroallseverity; fullbaseline/candidateJSON+CycloneDX and filesystemaudit retained. Alpine3.24 EOLlistwarning/detection coverage is disclosed. No filters/ignoreunfixed or estateRiskgrade. Four source tests include eight unrelatedpackage/source/identity/backend/database/Python/artifactmutation refusals; actualcompression/crypto/JWT/waitress andteninstalledpurpose variants pass. Purpose providertransport remains synthetic, no database/provider/customerdata accessed. + +Four-file sourcecontext hashc554e62a... is actualbuiltinput; localOCIrevision is honestly uncommitted preparation. New sourceworkflow uses exact GITHUB_SHA/archive/four inputhashes and existing admitted ownerregistry capability; no newPAT/login/grant. It publishes only a candidate with installedpackage/appidentity/purpose guards. CIpublication has NOT run. Root must commit/source-sync thenverifyactualregistry/nativeCI provenance and fullscan/SBOM before any new release question. Do notpin a localimageID in owneradmission/servicevalues. + +T05 staysprogress/planactive, manualfollowupdueOct18 withoutautotimer. T04/nativec96/protectedjournals/snapshotcustody/helpers/current763deployment remain untouched. Only after actualpublishedproof, exact scopedfounderapproval andnativeinstalledr1/runtime/fullrescan canT05 close. Futureimage-onlyrollbackkeepslatestDB and prior763, neverrestoresoldrecords. See proposal.json/local-candidate-verification.json for exactproofs/refinementlimits. + +Platform audit refinement (same T05 proposal): the checker now refuses optimized Python before artifact reads and compares directory mode, UID and GID. The actual existing image passed the expanded audit with no directory changes and the same two changed files. Three synthetic tests cover optimization and three directory drift cases. Original 27-file source/manifest and actual scan receipts are retained in `initial-8d345bb2/`; this was a source guard correction, not an original candidate failure. Recipe, four-file build context, image78 and full scan bytes are unchanged. + +Whiteout refinement: preserve the leading dot in OCI whiteout names and model root/nested removal and opaque directories. Four semantic fixtures pass. Actual image re-audit still reports 313 unchanged directories and only the same two changed files. Intermediate 64509029 manifest and changed evidence bytes are retained separately; the existing candidate did not fail. diff --git a/docs/evidence/2026-10-11-zlib-remediation-candidate/intermediate-3e41ab39/archive-map.json b/docs/evidence/2026-10-11-zlib-remediation-candidate/intermediate-3e41ab39/archive-map.json new file mode 100644 index 0000000..f491804 --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-remediation-candidate/intermediate-3e41ab39/archive-map.json @@ -0,0 +1,30 @@ +{ + "original_manifest_sha256": "3e41ab391cda26f09a556fecef8a17c2759ef2899e43eb136b25ef4b3fde23a0", + "retained_changed_evidence": [ + { + "path": "verify_local_artifacts.py", + "sha256": "08805c1e23f88626bc5e80cf7d9547af4149547bd091d02cb32ad1bd18820f41" + }, + { + "path": "test_artifact_audit.py", + "sha256": "8635859fb63f8778e48ae4f3532e6fc37eb1fbc289801ec5b68b8a90bb6fc364" + }, + { + "path": "artifact-comparison.json", + "sha256": "689fa7cbd322cb31b215fd2e86e0be267c1398f9b71e5615446d5f7b82dcce89" + }, + { + "path": "local-candidate-verification.json", + "sha256": "51505fa91e8d498c2eb3814442e89b01621290f1b39da08a5f460f6f6f9f112c" + }, + { + "path": "audit-refinement.json", + "sha256": "de852da5990326642e0c0d15ed74ab21513b4227c5634ba7146568876e750c6a" + }, + { + "path": "README.md", + "sha256": "c999a0c326a95e74082258851a5c4669395937a8fed95927f114ff08a18e0d6b" + } + ], + "other_bytes": "Unchanged current source and prior source archives" +} diff --git a/docs/evidence/2026-10-11-zlib-remediation-candidate/intermediate-3e41ab39/artifact-comparison.json b/docs/evidence/2026-10-11-zlib-remediation-candidate/intermediate-3e41ab39/artifact-comparison.json new file mode 100644 index 0000000..c99f1fb --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-remediation-candidate/intermediate-3e41ab39/artifact-comparison.json @@ -0,0 +1,75 @@ +{ + "base_image_config_id": "sha256:f34de21379c4f50ea0361ca1d8296c8e72f989499ad288016b81204997ae4779", + "candidate_local_image_config_id": "sha256:625d066416e901eaa2db5e18b96c37559b25dd91bdc3afb3d1ff5e916c7a8a3f", + "candidate_registry_digest": null, + "base_layers_preserved": 9, + "new_layers": 2, + "effective_runtime_config_identical": true, + "raw_config_bytes_identical": false, + "serialization_note": "Legacy base explicitly serialized empty/false/null defaults; candidate Docker-save config omits equivalent known defaults. Exact closed default normalization only; runtime fields unchanged.", + "labels_before": { + "org.opencontainers.image.base.digest": "sha256:7f5c6cb29c9f70a026bfe30e72934274ddc69261676cf6d476f81dd32812d173", + "org.opencontainers.image.revision": "3e4bcb26f8eeaa8c64345c565477b5ac8ccbb168", + "social.coulomb.release.scope": "INFD-WP-0009-T04/purpose-overlay-v1", + "social.coulomb.source.policy.sha256": "9d7c1be4cb6199d14ef0aaead5f85951f45b0ccbd7c800a7fde922a253566b62" + }, + "labels_after": { + "org.opencontainers.image.base.digest": "sha256:763c36402c8be7cc4c1bd1a61623d1aff9116d52241877425b45a7018cc0883a", + "org.opencontainers.image.revision": "uncommitted-T05-local-preparation", + "social.coulomb.release.scope": "INFD-WP-0009-T05/zlib-85091-r1", + "social.coulomb.source.context.sha256": "c554e62a84af340cba15d469a4568f6d0c40923e580b08ed7565e22702b1207d", + "social.coulomb.source.policy.sha256": "9d7c1be4cb6199d14ef0aaead5f85951f45b0ccbd7c800a7fde922a253566b62" + }, + "final_changed_files": { + "lib/apk/db/installed": { + "before": [ + "file", + 420, + 0, + 0, + "6383ea3806247e8dbf9ebee8cb30eb8eca63a8ea59662a793127d6a61b988d70" + ], + "after": [ + "file", + 420, + 0, + 0, + "f590762196710e25c0e9f72da0642cad8a5dcba0aa9e58a0cbaa65684d15c001" + ] + }, + "usr/lib/libz.so.1.3.2": { + "before": [ + "file", + 493, + 0, + 0, + "a1e2c03dcdedba98a06a00cadfb67a0e0b1cd93986860ec0c5ce66e789c44e57" + ], + "after": [ + "file", + 493, + 0, + 0, + "ecc8b9dfc45eb7fa29b410ffaca6257873890de53b80fe91735737b49067c5f2" + ] + } + }, + "directory_metadata_compared": true, + "directory_count_base": 313, + "directory_count_candidate": 313, + "directory_metadata_delta": {}, + "sbom_package_count_base": 44, + "sbom_package_count_candidate": 44, + "sbom_only_delta": { + "zlib": [ + "1.3.2-r0", + "1.3.2-r1" + ] + }, + "full_scan_baseline_findings": 1, + "full_scan_candidate_allseverity_findings": 0, + "db_snapshot_same": true, + "native_workload_changed": false, + "candidate_docker_daemon_image_id": "sha256:78bfdcc00a62367ae6190f6569a02b18abf9a943f760e4ac8fb946703348af31", + "candidate_local_image_config_id_kind": "Docker-save OCI export config SHA; distinct from legacy daemon imageID; closed default serialization differs." +} diff --git a/docs/evidence/2026-10-11-zlib-remediation-candidate/intermediate-3e41ab39/audit-refinement.json b/docs/evidence/2026-10-11-zlib-remediation-candidate/intermediate-3e41ab39/audit-refinement.json new file mode 100644 index 0000000..07f9d35 --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-remediation-candidate/intermediate-3e41ab39/audit-refinement.json @@ -0,0 +1,24 @@ +{ + "proposal_id": "INFD-WP-0009-T05/zlib-85091-r1", + "same_trial": true, + "original_manifest_sha256": "8d345bb2bde3efce4d0cc99dfc2f883a64f79c42d2cd4abb288229a995e9ad66", + "original_local_verification_sha256": "c82fa8aab33426fdd6f7730b627d226d3469b9d31c525bca7c28a52ab4847fc1", + "reason": "Platform source-review guard gaps; original actual candidate/build/scan did not fail", + "changes": [ + "Explicit optimized Python refusal before any archive/JSON read", + "Filesystem audit includes final directory mode/UID/GID metadata", + "Three synthetic tests: optimized malformed artifact refuses before read; unchanged directory passes; mode/UID/GID mutation refuses", + "Preserve OCI whiteout leading dots and clear root/nested descendants correctly; four semantic fixtures cover removal and opacity" + ], + "actual_existing_artifact_reaudit": "Passed; no directory metadata differences, same two changed files", + "candidate_image_unchanged": "sha256:78bfdcc00a62367ae6190f6569a02b18abf9a943f760e4ac8fb946703348af31", + "four_file_build_context_unchanged": "c554e62a84af340cba15d469a4568f6d0c40923e580b08ed7565e22702b1207d", + "registry_publication": false, + "native_changes": false, + "checker_sha256": "08805c1e23f88626bc5e80cf7d9547af4149547bd091d02cb32ad1bd18820f41", + "tests_sha256": "8635859fb63f8778e48ae4f3532e6fc37eb1fbc289801ec5b68b8a90bb6fc364", + "comparison_sha256": "689fa7cbd322cb31b215fd2e86e0be267c1398f9b71e5615446d5f7b82dcce89", + "verification_sha256": "51505fa91e8d498c2eb3814442e89b01621290f1b39da08a5f460f6f6f9f112c", + "intermediate_source_manifest_sha256": "64509029b3de6d33e3675587663ccdae027d9ea18aba83750892480766dd03b8", + "whiteout_refinement_note": "Conservative incorrect effective-rootfs modeling in the intermediate checker, not failure of the actual candidate" +} diff --git a/docs/evidence/2026-10-11-zlib-remediation-candidate/intermediate-3e41ab39/local-candidate-verification.json b/docs/evidence/2026-10-11-zlib-remediation-candidate/intermediate-3e41ab39/local-candidate-verification.json new file mode 100644 index 0000000..894f88e --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-remediation-candidate/intermediate-3e41ab39/local-candidate-verification.json @@ -0,0 +1,111 @@ +{ + "task_id": "INFD-WP-0009-T05", + "risk_record": "INFD-RISK-20261011-ZLIB-85091", + "state": "local-source-candidate-verified-unpublished-unapproved", + "base_image": "forgejo.coulomb.social/coulomb/informed-decision@sha256:763c36402c8be7cc4c1bd1a61623d1aff9116d52241877425b45a7018cc0883a", + "candidate_docker_daemon_image_id": "sha256:78bfdcc00a62367ae6190f6569a02b18abf9a943f760e4ac8fb946703348af31", + "candidate_saved_oci_config_digest": "sha256:625d066416e901eaa2db5e18b96c37559b25dd91bdc3afb3d1ff5e916c7a8a3f", + "candidate_registry_digest": null, + "source_revision": "uncommitted-T05-local-preparation", + "source_context_sha256": "c554e62a84af340cba15d469a4568f6d0c40923e580b08ed7565e22702b1207d", + "build_inputs": { + ".dockerignore": "ce3fa53cfe2c963c7fec4f2333a8af84a40740f144605a5aea795bcd6ac9eb8a", + "Containerfile": "5e4d9b39e37fed95d729503deb0e9c414ae63d2779b02306beaadc94675d4f15", + "zlib-1.3.2-r1.apk": "63aeea03c15a2f9018f81805cfc8aa926bdf5cd68921f22149c2fbb5d0ee9f47", + "APKINDEX.tar.gz": "24fc2ccb08f3125429a38b31bd6c76a7b394c6236df0975760dc8259e50dfbd5" + }, + "official_downloads": { + "zlib-1.3.2-r1.apk": { + "url": "https://dl-cdn.alpinelinux.org/alpine/v3.24/main/x86_64/zlib-1.3.2-r1.apk", + "sha256": "63aeea03c15a2f9018f81805cfc8aa926bdf5cd68921f22149c2fbb5d0ee9f47", + "bytes": 56210 + }, + "APKINDEX.tar.gz": { + "url": "https://dl-cdn.alpinelinux.org/alpine/v3.24/main/x86_64/APKINDEX.tar.gz", + "sha256": "24fc2ccb08f3125429a38b31bd6c76a7b394c6236df0975760dc8259e50dfbd5", + "bytes": 528370 + } + }, + "signature_verification": "Actual apk verify package+index returned OK against keys installed in exact763 base; no allow-untrusted", + "package_delta": { + "zlib": [ + "1.3.2-r0", + "1.3.2-r1" + ] + }, + "official_aports_commit": "0afa2da0e8c8051c6f8f64a7a388e5a259904245", + "final_files_changed": [ + "lib/apk/db/installed", + "usr/lib/libz.so.1.3.2" + ], + "base_layers_preserved": 9, + "effective_runtime_configuration_unchanged": true, + "raw_config_serialization_unchanged": false, + "serialization_caveat": "Legacy base explicitly serialized empty/false/null defaults; candidate Docker-save config omits equivalent known defaults. Exact closed default normalization only; runtime fields unchanged.", + "app_files_unchanged": 36, + "policy_sha256": "9d7c1be4cb6199d14ef0aaead5f85951f45b0ccbd7c800a7fde922a253566b62", + "installed_purpose_variants_pass": 10, + "purpose_transport_synthetic": true, + "native_provider_test": false, + "compression_vectors_pass": 4, + "malformed_zlib_refusals": 3, + "crypto_jwt_waitress_smoke": true, + "source_negative_tests": 4, + "source_negative_mutations": 8, + "full_sbom_package_count": 44, + "baseline_full_scan_findings": { + "MEDIUM": 1, + "id": "CVE-2026-85091" + }, + "candidate_full_scan_allseverity_findings": 0, + "scanner": "aquasec/trivy@sha256:62b1e65e8869bc4b4c6aa4fa2b21595256c7c2f6018a9d9ad61caf87187c1969 v0.74", + "scanner_db_metadata": { + "Version": 2, + "NextUpdate": "2026-10-11T18:59:50.889010572Z", + "UpdatedAt": "2026-10-10T18:59:50.889010923Z", + "DownloadedAt": "2026-10-10T23:32:32.380033131Z" + }, + "scanner_db_sha256": "03cacb40452ceb74afdfca072cb82f79ee884dfac006ef24a4dfdad133b0f917", + "scan_caveat": "Alpine3.24 absent EOL list warning; actual OS detector ran38OS+6Python. Zero findings is this DB snapshot, not unknown-future vulnerability assurance or estate risk grade.", + "suppression_or_severity_filter": false, + "evidence_file_sha256": { + "artifact-comparison.json": "689fa7cbd322cb31b215fd2e86e0be267c1398f9b71e5615446d5f7b82dcce89", + "base-runtime.json": "20aabb9f4846ab4fa6e28e0763d153188da151ee32293366a51b0fdf872a4d24", + "base-sbom.cdx.json": "bb40bcd500ec91ad16affe116e74357ab4090827dd930e2186dc99988403bc50", + "base-trivy-full.json": "1b683afb558fedcc20b921599eca536551296afecbc81ce062c359f1b26cfac6", + "candidate-image-inspect.json": "56466225f35cdf23c5540c0cc37c77424755ca42794e81f2c99ccf13840c34de", + "candidate-runtime.json": "d58e60bdc69458fe42af8248e02acd924b3b605c828877352a7d9a3953e90124", + "context-source.json": "cccf41cf766a037f31f9ab29ae57f6b34c00e0237c94a8a0ce61c9c78fd06828", + "download-receipt.json": "847fce8466807e88a54ea5e374c2ac49ffa25e208697e71e94d83a5cc185b40d", + "official-zlib-index-entry.txt": "63b6831755f33c4fe7c8d7dd49cf2a60251edfcd45e4555f2731941939cb8d0a", + "official-zlib-package-info.txt": "395e0ee97996853c6cf03f17dfe25b57d109b0432c6faabb585d78e6ac6f534a", + "sbom.cdx.json": "287a61e1aaf78b58c014726e9bcc1ddc2c46949ac0ee74d53fccae3007eac1bb", + "trivy-full.json": "fd37bc2d502a9f017f673486f0f960433fc0fc12dcd745e5ed8074e9c3b600d9", + "verify_local_artifacts.py": "08805c1e23f88626bc5e80cf7d9547af4149547bd091d02cb32ad1bd18820f41", + "test_artifact_audit.py": "8635859fb63f8778e48ae4f3532e6fc37eb1fbc289801ec5b68b8a90bb6fc364" + }, + "local_saved_image_tar_sha256": "0142526048de5662b4afc1ff7b82b5bf4554642ff811e29f364082e5de9be075", + "local_saved_image_tar_owner_attachment": false, + "build_resource_bound": "legacy builder --network none,256MiB/oneCPU; runtime128MiB/oneCPU; scanner1GiB/oneCPU", + "native_runtime_or_database_or_customer_data_or_credentials_accessed": false, + "native_backup_or_rollout": false, + "owner_source_edits_or_push": false, + "registry_publication_executed": false, + "founder_release_approval": false, + "workflow_yaml_and_bash_syntax": "passed, exact SHA/fixedowner context and admittedexistingregistry capability; CIactualbuild not executed", + "local_refinements_retained": [ + "Initial build --cpus flag unavailable in buildx; switched to explicit existinglegacy builder boundedquota", + "APK preupgrade=false argument refused; corrected no-preupgrade flag", + "Filesystem check found apk.log metadata delta; no-logfile confines finaldiff to twofiles", + "One intermediate local build context accidentally included public scan cache/export artifacts1.529GB; corrected separate4file context and .dockerignore(finaltransfer589.8kB); no secrets/native data involved", + "Read-only cache copy tried inaccessible priorfanal; isolated DB-only copy exactSHA03cacb... used; no ownership/permission loosening" + ], + "directory_metadata_compared": true, + "directory_count_base": 313, + "directory_count_candidate": 313, + "directory_metadata_delta": {}, + "artifact_audit_regression_tests": 4, + "artifact_audit_negative_cases": 4, + "initial_source_manifest_sha256": "8d345bb2bde3efce4d0cc99dfc2f883a64f79c42d2cd4abb288229a995e9ad66", + "whiteout_semantic_cases": 4 +} diff --git a/docs/evidence/2026-10-11-zlib-remediation-candidate/intermediate-3e41ab39/original-manifest.json b/docs/evidence/2026-10-11-zlib-remediation-candidate/intermediate-3e41ab39/original-manifest.json new file mode 100644 index 0000000..19bf3a4 --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-remediation-candidate/intermediate-3e41ab39/original-manifest.json @@ -0,0 +1,464 @@ +[ + { + "repo": "informed-decision", + "path": ".forgejo/workflows/zlib-overlay-image.yaml", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/.forgejo/workflows/zlib-overlay-image.yaml", + "original_sha256": null, + "staged_sha256": "789ef77c30ee55a2e4ef2b7edbe781bb2e92056ac11f5f3b9328ce0dfec38e72" + }, + { + "repo": "informed-decision", + "path": "deploy/zlib-overlay/.dockerignore", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/deploy/zlib-overlay/.dockerignore", + "original_sha256": null, + "staged_sha256": "ce3fa53cfe2c963c7fec4f2333a8af84a40740f144605a5aea795bcd6ac9eb8a" + }, + { + "repo": "informed-decision", + "path": "deploy/zlib-overlay/APKINDEX.tar.gz", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/deploy/zlib-overlay/APKINDEX.tar.gz", + "original_sha256": null, + "staged_sha256": "24fc2ccb08f3125429a38b31bd6c76a7b394c6236df0975760dc8259e50dfbd5" + }, + { + "repo": "informed-decision", + "path": "deploy/zlib-overlay/Containerfile", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/deploy/zlib-overlay/Containerfile", + "original_sha256": null, + "staged_sha256": "5e4d9b39e37fed95d729503deb0e9c414ae63d2779b02306beaadc94675d4f15" + }, + { + "repo": "informed-decision", + "path": "deploy/zlib-overlay/pins.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/deploy/zlib-overlay/pins.json", + "original_sha256": null, + "staged_sha256": "0bd2c79633030056a89ae7f055020e6398aa79d481587d4b41f0974b29dc77b5" + }, + { + "repo": "informed-decision", + "path": "deploy/zlib-overlay/zlib-1.3.2-r1.apk", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/deploy/zlib-overlay/zlib-1.3.2-r1.apk", + "original_sha256": null, + "staged_sha256": "63aeea03c15a2f9018f81805cfc8aa926bdf5cd68921f22149c2fbb5d0ee9f47" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/README.md", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/README.md", + "original_sha256": null, + "staged_sha256": "c999a0c326a95e74082258851a5c4669395937a8fed95927f114ff08a18e0d6b" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/artifact-comparison.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/artifact-comparison.json", + "original_sha256": null, + "staged_sha256": "689fa7cbd322cb31b215fd2e86e0be267c1398f9b71e5615446d5f7b82dcce89" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/audit-refinement.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/audit-refinement.json", + "original_sha256": null, + "staged_sha256": "de852da5990326642e0c0d15ed74ab21513b4227c5634ba7146568876e750c6a" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/base-runtime.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/base-runtime.json", + "original_sha256": null, + "staged_sha256": "20aabb9f4846ab4fa6e28e0763d153188da151ee32293366a51b0fdf872a4d24" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/base-sbom.cdx.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/base-sbom.cdx.json", + "original_sha256": null, + "staged_sha256": "bb40bcd500ec91ad16affe116e74357ab4090827dd930e2186dc99988403bc50" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/base-trivy-full.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/base-trivy-full.json", + "original_sha256": null, + "staged_sha256": "1b683afb558fedcc20b921599eca536551296afecbc81ce062c359f1b26cfac6" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/candidate-image-inspect.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/candidate-image-inspect.json", + "original_sha256": null, + "staged_sha256": "56466225f35cdf23c5540c0cc37c77424755ca42794e81f2c99ccf13840c34de" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/candidate-runtime.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/candidate-runtime.json", + "original_sha256": null, + "staged_sha256": "d58e60bdc69458fe42af8248e02acd924b3b605c828877352a7d9a3953e90124" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/context-source.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/context-source.json", + "original_sha256": null, + "staged_sha256": "cccf41cf766a037f31f9ab29ae57f6b34c00e0237c94a8a0ce61c9c78fd06828" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/download-receipt.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/download-receipt.json", + "original_sha256": null, + "staged_sha256": "847fce8466807e88a54ea5e374c2ac49ffa25e208697e71e94d83a5cc185b40d" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/archive-map.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/archive-map.json", + "original_sha256": null, + "staged_sha256": "91384b270c0462223af1ff66e3ca75db5fce692c56c6bde6df435e6a2a079c5e" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/original-manifest.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/original-manifest.json", + "original_sha256": null, + "staged_sha256": "8d345bb2bde3efce4d0cc99dfc2f883a64f79c42d2cd4abb288229a995e9ad66" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/.forgejo/workflows/zlib-overlay-image.yaml", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/.forgejo/workflows/zlib-overlay-image.yaml", + "original_sha256": null, + "staged_sha256": "789ef77c30ee55a2e4ef2b7edbe781bb2e92056ac11f5f3b9328ce0dfec38e72" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/deploy/zlib-overlay/.dockerignore", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/deploy/zlib-overlay/.dockerignore", + "original_sha256": null, + "staged_sha256": "ce3fa53cfe2c963c7fec4f2333a8af84a40740f144605a5aea795bcd6ac9eb8a" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/deploy/zlib-overlay/APKINDEX.tar.gz", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/deploy/zlib-overlay/APKINDEX.tar.gz", + "original_sha256": null, + "staged_sha256": "24fc2ccb08f3125429a38b31bd6c76a7b394c6236df0975760dc8259e50dfbd5" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/deploy/zlib-overlay/Containerfile", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/deploy/zlib-overlay/Containerfile", + "original_sha256": null, + "staged_sha256": "5e4d9b39e37fed95d729503deb0e9c414ae63d2779b02306beaadc94675d4f15" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/deploy/zlib-overlay/pins.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/deploy/zlib-overlay/pins.json", + "original_sha256": null, + "staged_sha256": "0bd2c79633030056a89ae7f055020e6398aa79d481587d4b41f0974b29dc77b5" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/deploy/zlib-overlay/zlib-1.3.2-r1.apk", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/deploy/zlib-overlay/zlib-1.3.2-r1.apk", + "original_sha256": null, + "staged_sha256": "63aeea03c15a2f9018f81805cfc8aa926bdf5cd68921f22149c2fbb5d0ee9f47" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/README.md", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/README.md", + "original_sha256": null, + "staged_sha256": "cc53d16b5dc8375be0d5f63b1144f0a422477e3a5638c397a214275d7ea1d0cb" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/artifact-comparison.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/artifact-comparison.json", + "original_sha256": null, + "staged_sha256": "8d84bfb20cc6c64c85b4b6fcb76d7e1113ebbfcadcd4d5c54ffb4121d73e4dfa" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/base-runtime.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/base-runtime.json", + "original_sha256": null, + "staged_sha256": "20aabb9f4846ab4fa6e28e0763d153188da151ee32293366a51b0fdf872a4d24" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/base-sbom.cdx.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/base-sbom.cdx.json", + "original_sha256": null, + "staged_sha256": "bb40bcd500ec91ad16affe116e74357ab4090827dd930e2186dc99988403bc50" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/base-trivy-full.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/base-trivy-full.json", + "original_sha256": null, + "staged_sha256": "1b683afb558fedcc20b921599eca536551296afecbc81ce062c359f1b26cfac6" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/candidate-image-inspect.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/candidate-image-inspect.json", + "original_sha256": null, + "staged_sha256": "56466225f35cdf23c5540c0cc37c77424755ca42794e81f2c99ccf13840c34de" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/candidate-runtime.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/candidate-runtime.json", + "original_sha256": null, + "staged_sha256": "d58e60bdc69458fe42af8248e02acd924b3b605c828877352a7d9a3953e90124" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/context-source.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/context-source.json", + "original_sha256": null, + "staged_sha256": "cccf41cf766a037f31f9ab29ae57f6b34c00e0237c94a8a0ce61c9c78fd06828" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/download-receipt.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/download-receipt.json", + "original_sha256": null, + "staged_sha256": "847fce8466807e88a54ea5e374c2ac49ffa25e208697e71e94d83a5cc185b40d" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/local-candidate-verification.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/local-candidate-verification.json", + "original_sha256": null, + "staged_sha256": "c82fa8aab33426fdd6f7730b627d226d3469b9d31c525bca7c28a52ab4847fc1" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/official-zlib-index-entry.txt", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/official-zlib-index-entry.txt", + "original_sha256": null, + "staged_sha256": "63b6831755f33c4fe7c8d7dd49cf2a60251edfcd45e4555f2731941939cb8d0a" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/official-zlib-package-info.txt", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/official-zlib-package-info.txt", + "original_sha256": null, + "staged_sha256": "395e0ee97996853c6cf03f17dfe25b57d109b0432c6faabb585d78e6ac6f534a" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/proposal.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/proposal.json", + "original_sha256": null, + "staged_sha256": "a12877b149427713c12e67f2597bf330d32dd0b30464008c0f79fc593f05d894" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/sbom.cdx.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/sbom.cdx.json", + "original_sha256": null, + "staged_sha256": "287a61e1aaf78b58c014726e9bcc1ddc2c46949ac0ee74d53fccae3007eac1bb" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/trivy-full.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/trivy-full.json", + "original_sha256": null, + "staged_sha256": "fd37bc2d502a9f017f673486f0f960433fc0fc12dcd745e5ed8074e9c3b600d9" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/verify_local_artifacts.py", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/verify_local_artifacts.py", + "original_sha256": null, + "staged_sha256": "6706f62937a742a9c5cc00c42d6261d67d4f1e675b868e67db70dc0b5be03afa" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/tools/zlib_overlay/check_build_inputs.py", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/tools/zlib_overlay/check_build_inputs.py", + "original_sha256": null, + "staged_sha256": "1bf0219765dbcf5f7e26495ac4d49f240affa21deeb9b06c65e275afd10d2e06" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/tools/zlib_overlay/check_runtime.py", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/tools/zlib_overlay/check_runtime.py", + "original_sha256": null, + "staged_sha256": "eb1fca9a43d3394d652f748cde2e8d28cbe646ad61c40f990c0b8878c522a3be" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/tools/zlib_overlay/compare_runtime.py", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/tools/zlib_overlay/compare_runtime.py", + "original_sha256": null, + "staged_sha256": "545f04844f90d028f5d8bb65fb16f3805ee5735ac687ec28303eb9dbb4195b0d" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/tools/zlib_overlay/test_candidate.py", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/tools/zlib_overlay/test_candidate.py", + "original_sha256": null, + "staged_sha256": "68677b91c34101776381abcabffcd983bf2452076f983f32599ab1f7ad177bb9" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/workplans/INFD-WP-0009-lifecycle-consumer-pin-repair.md", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/workplans/INFD-WP-0009-lifecycle-consumer-pin-repair.md", + "original_sha256": null, + "staged_sha256": "af785afbf188184b72563c10813663d44117df7cb7394ecb1b9a25cbdfea67a4" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/intermediate-64509029/README.md", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/intermediate-64509029/README.md", + "original_sha256": null, + "staged_sha256": "4d0b0ed0b41f2098adfa2e626c641360855cd0e717bbd2d7a6c155cee2ae91ec" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/intermediate-64509029/archive-map.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/intermediate-64509029/archive-map.json", + "original_sha256": null, + "staged_sha256": "3e81c1cedb2e3b25d83a779011898181a7860ff76532ede5fa3e9b8f63632700" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/intermediate-64509029/artifact-comparison.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/intermediate-64509029/artifact-comparison.json", + "original_sha256": null, + "staged_sha256": "689fa7cbd322cb31b215fd2e86e0be267c1398f9b71e5615446d5f7b82dcce89" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/intermediate-64509029/audit-refinement.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/intermediate-64509029/audit-refinement.json", + "original_sha256": null, + "staged_sha256": "020514b7514999699512fb338d89630e7eaf51a739e68bf77342eeefe8ad507f" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/intermediate-64509029/local-candidate-verification.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/intermediate-64509029/local-candidate-verification.json", + "original_sha256": null, + "staged_sha256": "9ed9bfebae3618936f6b916819949adfb23668fedeb350ae63b43cd2aa6a7d92" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/intermediate-64509029/original-manifest.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/intermediate-64509029/original-manifest.json", + "original_sha256": null, + "staged_sha256": "64509029b3de6d33e3675587663ccdae027d9ea18aba83750892480766dd03b8" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/intermediate-64509029/test_artifact_audit.py", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/intermediate-64509029/test_artifact_audit.py", + "original_sha256": null, + "staged_sha256": "e9c5a628e40acc3ae241bb3f3bf9c2846c064601761a11aecce81ba4803c8f71" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/intermediate-64509029/verify_local_artifacts.py", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/intermediate-64509029/verify_local_artifacts.py", + "original_sha256": null, + "staged_sha256": "53778a2c3c89aee4c1256ed7e5896db033d960c6345d490620e4f06d03268794" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/local-candidate-verification.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/local-candidate-verification.json", + "original_sha256": null, + "staged_sha256": "51505fa91e8d498c2eb3814442e89b01621290f1b39da08a5f460f6f6f9f112c" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/official-zlib-index-entry.txt", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/official-zlib-index-entry.txt", + "original_sha256": null, + "staged_sha256": "63b6831755f33c4fe7c8d7dd49cf2a60251edfcd45e4555f2731941939cb8d0a" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/official-zlib-package-info.txt", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/official-zlib-package-info.txt", + "original_sha256": null, + "staged_sha256": "395e0ee97996853c6cf03f17dfe25b57d109b0432c6faabb585d78e6ac6f534a" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/proposal.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/proposal.json", + "original_sha256": null, + "staged_sha256": "a12877b149427713c12e67f2597bf330d32dd0b30464008c0f79fc593f05d894" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/sbom.cdx.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/sbom.cdx.json", + "original_sha256": null, + "staged_sha256": "287a61e1aaf78b58c014726e9bcc1ddc2c46949ac0ee74d53fccae3007eac1bb" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/test_artifact_audit.py", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/test_artifact_audit.py", + "original_sha256": null, + "staged_sha256": "8635859fb63f8778e48ae4f3532e6fc37eb1fbc289801ec5b68b8a90bb6fc364" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/trivy-full.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/trivy-full.json", + "original_sha256": null, + "staged_sha256": "fd37bc2d502a9f017f673486f0f960433fc0fc12dcd745e5ed8074e9c3b600d9" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/verify_local_artifacts.py", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/verify_local_artifacts.py", + "original_sha256": null, + "staged_sha256": "08805c1e23f88626bc5e80cf7d9547af4149547bd091d02cb32ad1bd18820f41" + }, + { + "repo": "informed-decision", + "path": "tools/zlib_overlay/check_build_inputs.py", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/tools/zlib_overlay/check_build_inputs.py", + "original_sha256": null, + "staged_sha256": "1bf0219765dbcf5f7e26495ac4d49f240affa21deeb9b06c65e275afd10d2e06" + }, + { + "repo": "informed-decision", + "path": "tools/zlib_overlay/check_runtime.py", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/tools/zlib_overlay/check_runtime.py", + "original_sha256": null, + "staged_sha256": "eb1fca9a43d3394d652f748cde2e8d28cbe646ad61c40f990c0b8878c522a3be" + }, + { + "repo": "informed-decision", + "path": "tools/zlib_overlay/compare_runtime.py", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/tools/zlib_overlay/compare_runtime.py", + "original_sha256": null, + "staged_sha256": "545f04844f90d028f5d8bb65fb16f3805ee5735ac687ec28303eb9dbb4195b0d" + }, + { + "repo": "informed-decision", + "path": "tools/zlib_overlay/test_candidate.py", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/tools/zlib_overlay/test_candidate.py", + "original_sha256": null, + "staged_sha256": "68677b91c34101776381abcabffcd983bf2452076f983f32599ab1f7ad177bb9" + }, + { + "repo": "informed-decision", + "path": "workplans/INFD-WP-0009-lifecycle-consumer-pin-repair.md", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/workplans/INFD-WP-0009-lifecycle-consumer-pin-repair.md", + "original_sha256": "73fe52f0a188067d3e9c9d78584117b9cfa40ce417bb31530cbc2e9bbe858223", + "staged_sha256": "af785afbf188184b72563c10813663d44117df7cb7394ecb1b9a25cbdfea67a4" + } +] diff --git a/docs/evidence/2026-10-11-zlib-remediation-candidate/intermediate-3e41ab39/test_artifact_audit.py b/docs/evidence/2026-10-11-zlib-remediation-candidate/intermediate-3e41ab39/test_artifact_audit.py new file mode 100644 index 0000000..df4e82c --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-remediation-candidate/intermediate-3e41ab39/test_artifact_audit.py @@ -0,0 +1,63 @@ +"""Synthetic artifact boundaries; never access owner/native databases.""" +from pathlib import Path +import io,json,subprocess,sys,tarfile,tempfile,unittest +CHECKER=Path(__file__).with_name('verify_local_artifacts.py') +def add(t,name,data=None,metadata=(0o755,0,0)): + m=tarfile.TarInfo(name);m.mode,m.uid,m.gid=metadata + if data is None:m.type=tarfile.DIRTYPE;t.addfile(m) + else:m.size=len(data);t.addfile(m,io.BytesIO(data)) +def archive(path,layers,ids): + with tarfile.open(path,'w') as t: + add(t,'manifest.json',json.dumps([{'Config':'config.json','Layers':[f'{i}.tar' for i in range(len(layers))]}]).encode()) + add(t,'config.json',json.dumps({'rootfs':{'diff_ids':ids},'config':{}}).encode()) + for i,data in enumerate(layers):add(t,f'{i}.tar',data) +def layer(metadata): + b=io.BytesIO() + with tarfile.open(fileobj=b,mode='w') as t:add(t,'usr',metadata=metadata) + return b.getvalue() +def fixture(root,metadata=(0o755,0,0)): + base=layer((0o755,0,0));candidate=layer(metadata) + archive(root/'base-image.tar',[base],['base']) + archive(root/'image.tar',[base,candidate,layer(metadata)],['base','overlay','cleanup']) + for name,version in [('base-sbom.cdx.json','1.3.2-r0'),('sbom.cdx.json','1.3.2-r1')]: + (root/name).write_text(json.dumps({'components':[{'name':'zlib','version':version,'purl':'pkg:apk/zlib'}]})) + for name,findings in [('base-trivy-full.json',[{'VulnerabilityID':'CVE-2026-85091','Severity':'MEDIUM'}]),('trivy-full.json',[])]: + (root/name).write_text(json.dumps({'Results':[{'Vulnerabilities':findings}]})) +class ArtifactAuditTests(unittest.TestCase): + def execute(self,root,optimize=False): + return subprocess.run([sys.executable,*(['-O'] if optimize else []),str(CHECKER),str(root)],capture_output=True,text=True) + def test_optimized_tampered_artifacts_refused_before_read(self): + with tempfile.TemporaryDirectory() as tmp: + root=Path(tmp);(root/'base-image.tar').write_bytes(b'tampered not an archive') + r=self.execute(root,True) + self.assertNotEqual(r.returncode,0);self.assertIn('REFUSED: optimized Python',r.stderr) + self.assertNotIn('ReadError',r.stderr);self.assertFalse((root/'artifact-comparison.json').exists()) + def test_matching_directory_metadata_passes(self): + with tempfile.TemporaryDirectory() as tmp: + root=Path(tmp);fixture(root);r=self.execute(root) + self.assertEqual(r.returncode,0,r.stderr) + proof=json.loads((root/'artifact-comparison.json').read_text()) + self.assertTrue(proof['directory_metadata_compared']);self.assertEqual(proof['directory_metadata_delta'],{}) + def test_directory_mode_uid_gid_drift_refuses(self): + for metadata in [(0o777,0,0),(0o755,10001,0),(0o755,0,10001)]: + with self.subTest(metadata=metadata),tempfile.TemporaryDirectory() as tmp: + root=Path(tmp);fixture(root,metadata);r=self.execute(root) + self.assertNotEqual(r.returncode,0);self.assertIn("{'usr'}",r.stderr) + self.assertFalse((root/'artifact-comparison.json').exists()) + def test_root_and_nested_whiteout_semantics(self): + # Extract only the archive reader definition: the full CLI proof is tested above. + import ast + tree=ast.parse(CHECKER.read_text());function=next(n for n in tree.body if isinstance(n,ast.FunctionDef) and n.name=='image') + namespace={'Path':Path,'tarfile':tarfile,'json':json,'hashlib':__import__('hashlib')} + exec(compile(ast.Module(body=[function],type_ignores=[]),'reader','exec'),namespace) + for marker,expected in [('.wh.usr',set()),('usr/.wh.child',{'usr'}),('usr/.wh..wh..opq',{'usr'}),('.wh..wh..opq',set())]: + with self.subTest(marker=marker),tempfile.TemporaryDirectory() as tmp: + before=io.BytesIO() + with tarfile.open(fileobj=before,mode='w') as t: + add(t,'usr');add(t,'usr/child');add(t,'usr/child/file',b'original') + after=io.BytesIO() + with tarfile.open(fileobj=after,mode='w') as t:add(t,'./'+marker,b'') + path=Path(tmp)/'image.tar';archive(path,[before.getvalue(),after.getvalue()],['base','overlay']) + _,_,files=namespace['image'](path) + self.assertEqual(set(files),expected) +if __name__=='__main__':unittest.main() diff --git a/docs/evidence/2026-10-11-zlib-remediation-candidate/intermediate-3e41ab39/verify_local_artifacts.py b/docs/evidence/2026-10-11-zlib-remediation-candidate/intermediate-3e41ab39/verify_local_artifacts.py new file mode 100644 index 0000000..5973303 --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-remediation-candidate/intermediate-3e41ab39/verify_local_artifacts.py @@ -0,0 +1,52 @@ +from pathlib import Path +import hashlib,io,json,tarfile,sys +if sys.flags.optimize: + raise SystemExit("REFUSED: optimized Python disables required artifact validation") +root=Path(sys.argv[1]) if len(sys.argv)==2 else Path('/tmp/infd-zlib-remediation-build') +def image(path): + with tarfile.open(path) as archive: + manifest=json.load(archive.extractfile('manifest.json'));assert len(manifest)==1 + configbytes=archive.extractfile(manifest[0]['Config']).read();config=json.loads(configbytes) + files={} + for name in manifest[0]['Layers']: + with tarfile.open(fileobj=archive.extractfile(name),mode='r|*') as layer: + for member in layer: + path=member.name + while path.startswith('./'):path=path[2:] + path=path.lstrip('/');p=Path(path) + if p.name=='.wh..wh..opq': + folder=p.parent.as_posix();prefix='' if folder=='.' else folder+'/' + files={key:value for key,value in files.items() if not key.startswith(prefix)};continue + if p.name.startswith('.wh.'): + removed=(p.parent/p.name[4:]).as_posix();files={key:value for key,value in files.items() if key!=removed and not key.startswith(removed+'/')};continue + if member.isfile(): + data=layer.extractfile(member).read();value=('file',member.mode,member.uid,member.gid,hashlib.sha256(data).hexdigest()) + elif member.isdir():value=('directory',member.mode,member.uid,member.gid,None) + elif member.issym() or member.islnk():value=('link',member.mode,member.uid,member.gid,member.linkname) + else:continue + files[path]=value + return config,hashlib.sha256(configbytes).hexdigest(),files +base,baseid,bfiles=image(root/'base-image.tar');candidate,candidateid,cfiles=image(root/'image.tar') +assert candidate['rootfs']['diff_ids'][:-2]==base['rootfs']['diff_ids'] +changed={name:{'before':bfiles.get(name),'after':cfiles.get(name)} for name in sorted(set(bfiles)|set(cfiles)) if bfiles.get(name)!=cfiles.get(name)} +expected={'usr/lib/libz.so.1.3.2','lib/apk/db/installed'} +assert set(changed)<=expected,set(changed) +a,b=base['config'].copy(),candidate['config'].copy() +labels_a=a.pop('Labels',{});labels_b=b.pop('Labels',{}) +a.pop('Image',None);b.pop('Image',None) +defaults={'Hostname':'','Domainname':'','AttachStdin':False,'AttachStdout':False,'AttachStderr':False,'Tty':False,'OpenStdin':False,'StdinOnce':False,'Cmd':None,'Volumes':None,'OnBuild':None} +for key,value in defaults.items(): + a.setdefault(key,value);b.setdefault(key,value) +assert a==b,(a,b) +components=[] +for name in ['base-sbom.cdx.json','sbom.cdx.json']: + data=json.loads((root/name).read_text());components.append({c['name']:c['version'] for c in data['components'] if c.get('purl')}) +sbom_delta={name:[components[0].get(name),components[1].get(name)] for name in set(components[0])|set(components[1]) if components[0].get(name)!=components[1].get(name)} +assert sbom_delta=={'zlib':['1.3.2-r0','1.3.2-r1']},sbom_delta +vulns=[] +for name in ['base-trivy-full.json','trivy-full.json']: + data=json.loads((root/name).read_text());vulns.append([v for r in data.get('Results',[]) for v in r.get('Vulnerabilities',[])]) +assert len(vulns[0])==1 and vulns[0][0]['VulnerabilityID']=='CVE-2026-85091' and vulns[0][0]['Severity']=='MEDIUM' +assert not vulns[1] +proof={'base_image_config_id':'sha256:'+baseid,'candidate_local_image_config_id':'sha256:'+candidateid,'candidate_registry_digest':None,'base_layers_preserved':len(base['rootfs']['diff_ids']),'new_layers':2,'effective_runtime_config_identical':True,'raw_config_bytes_identical':False,'serialization_note':'Legacy base explicitly serialized empty/false/null defaults; candidate Docker-save config omits equivalent known defaults. Exact closed default normalization only; runtime fields unchanged.','labels_before':labels_a,'labels_after':labels_b,'final_changed_files':changed,'directory_metadata_compared':True,'directory_count_base':sum(v[0]=='directory' for v in bfiles.values()),'directory_count_candidate':sum(v[0]=='directory' for v in cfiles.values()),'directory_metadata_delta':{k:v for k,v in changed.items() if (v['before'] and v['before'][0]=='directory') or (v['after'] and v['after'][0]=='directory')},'sbom_package_count_base':len(components[0]),'sbom_package_count_candidate':len(components[1]),'sbom_only_delta':sbom_delta,'full_scan_baseline_findings':1,'full_scan_candidate_allseverity_findings':0,'db_snapshot_same':True,'native_workload_changed':False} +(root/'artifact-comparison.json').write_text(json.dumps(proof,indent=2)+'\n');print(json.dumps({key:proof[key] for key in ['candidate_local_image_config_id','base_layers_preserved','effective_runtime_config_identical','sbom_only_delta','full_scan_candidate_allseverity_findings']}));print(json.dumps(list(changed))) diff --git a/docs/evidence/2026-10-11-zlib-remediation-candidate/intermediate-64509029/README.md b/docs/evidence/2026-10-11-zlib-remediation-candidate/intermediate-64509029/README.md new file mode 100644 index 0000000..b47535b --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-remediation-candidate/intermediate-64509029/README.md @@ -0,0 +1,11 @@ +# Separate T05 zlib-only candidate — local verified, unpublished/unapproved + +Exact current purpose image763c is the base. Signed official Alpine3.24/main/x86_64 zlib1.3.2-r1 and APKINDEX are preserved as exact public source artifacts in deploy/zlib-overlay with their HTTPS origin/SHA/packagecommit/signature metadata. Both actually verified against base trusted keys. The offline named-package upgrade uses only that repository, disables preupgrade/network/logging, restoresUID10001 and removes temporarypublic artifacts. Only final libz binary and APK installeddatabase differ; world/repository/keys/app36files/Python/OpenSSL/policy9d remain unchanged. Raw Docker legacy/OCI default serialization differs; effective runtime config is proved equal, not byte-identical. + +Local daemonimageID78bfdcc... differs from Docker-save OCIconfig625d... after serialization; both are explicitly identified in receipt. Neither is a registry/release digest. Localfull sameDB scan covers44packages: baseactual1MEDCVE85091, candidatezeroallseverity; fullbaseline/candidateJSON+CycloneDX and filesystemaudit retained. Alpine3.24 EOLlistwarning/detection coverage is disclosed. No filters/ignoreunfixed or estateRiskgrade. Four source tests include eight unrelatedpackage/source/identity/backend/database/Python/artifactmutation refusals; actualcompression/crypto/JWT/waitress andteninstalledpurpose variants pass. Purpose providertransport remains synthetic, no database/provider/customerdata accessed. + +Four-file sourcecontext hashc554e62a... is actualbuiltinput; localOCIrevision is honestly uncommitted preparation. New sourceworkflow uses exact GITHUB_SHA/archive/four inputhashes and existing admitted ownerregistry capability; no newPAT/login/grant. It publishes only a candidate with installedpackage/appidentity/purpose guards. CIpublication has NOT run. Root must commit/source-sync thenverifyactualregistry/nativeCI provenance and fullscan/SBOM before any new release question. Do notpin a localimageID in owneradmission/servicevalues. + +T05 staysprogress/planactive, manualfollowupdueOct18 withoutautotimer. T04/nativec96/protectedjournals/snapshotcustody/helpers/current763deployment remain untouched. Only after actualpublishedproof, exact scopedfounderapproval andnativeinstalledr1/runtime/fullrescan canT05 close. Futureimage-onlyrollbackkeepslatestDB and prior763, neverrestoresoldrecords. See proposal.json/local-candidate-verification.json for exactproofs/refinementlimits. + +Platform audit refinement (same T05 proposal): the checker now refuses optimized Python before artifact reads and compares directory mode, UID and GID. The actual existing image passed the expanded audit with no directory changes and the same two changed files. Three synthetic tests cover optimization and three directory drift cases. Original 27-file source/manifest and actual scan receipts are retained in `initial-8d345bb2/`; this was a source guard correction, not an original candidate failure. Recipe, four-file build context, image78 and full scan bytes are unchanged. diff --git a/docs/evidence/2026-10-11-zlib-remediation-candidate/intermediate-64509029/archive-map.json b/docs/evidence/2026-10-11-zlib-remediation-candidate/intermediate-64509029/archive-map.json new file mode 100644 index 0000000..d7d8965 --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-remediation-candidate/intermediate-64509029/archive-map.json @@ -0,0 +1,30 @@ +{ + "original_manifest_sha256": "64509029b3de6d33e3675587663ccdae027d9ea18aba83750892480766dd03b8", + "retained_changed_evidence": [ + { + "path": "verify_local_artifacts.py", + "sha256": "53778a2c3c89aee4c1256ed7e5896db033d960c6345d490620e4f06d03268794" + }, + { + "path": "test_artifact_audit.py", + "sha256": "e9c5a628e40acc3ae241bb3f3bf9c2846c064601761a11aecce81ba4803c8f71" + }, + { + "path": "artifact-comparison.json", + "sha256": "689fa7cbd322cb31b215fd2e86e0be267c1398f9b71e5615446d5f7b82dcce89" + }, + { + "path": "local-candidate-verification.json", + "sha256": "9ed9bfebae3618936f6b916819949adfb23668fedeb350ae63b43cd2aa6a7d92" + }, + { + "path": "audit-refinement.json", + "sha256": "020514b7514999699512fb338d89630e7eaf51a739e68bf77342eeefe8ad507f" + }, + { + "path": "README.md", + "sha256": "4d0b0ed0b41f2098adfa2e626c641360855cd0e717bbd2d7a6c155cee2ae91ec" + } + ], + "other_original_bytes_retained_at": "initial-8d345bb2/owner-snapshot; unchanged paths also remain at current source paths" +} diff --git a/docs/evidence/2026-10-11-zlib-remediation-candidate/intermediate-64509029/artifact-comparison.json b/docs/evidence/2026-10-11-zlib-remediation-candidate/intermediate-64509029/artifact-comparison.json new file mode 100644 index 0000000..c99f1fb --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-remediation-candidate/intermediate-64509029/artifact-comparison.json @@ -0,0 +1,75 @@ +{ + "base_image_config_id": "sha256:f34de21379c4f50ea0361ca1d8296c8e72f989499ad288016b81204997ae4779", + "candidate_local_image_config_id": "sha256:625d066416e901eaa2db5e18b96c37559b25dd91bdc3afb3d1ff5e916c7a8a3f", + "candidate_registry_digest": null, + "base_layers_preserved": 9, + "new_layers": 2, + "effective_runtime_config_identical": true, + "raw_config_bytes_identical": false, + "serialization_note": "Legacy base explicitly serialized empty/false/null defaults; candidate Docker-save config omits equivalent known defaults. Exact closed default normalization only; runtime fields unchanged.", + "labels_before": { + "org.opencontainers.image.base.digest": "sha256:7f5c6cb29c9f70a026bfe30e72934274ddc69261676cf6d476f81dd32812d173", + "org.opencontainers.image.revision": "3e4bcb26f8eeaa8c64345c565477b5ac8ccbb168", + "social.coulomb.release.scope": "INFD-WP-0009-T04/purpose-overlay-v1", + "social.coulomb.source.policy.sha256": "9d7c1be4cb6199d14ef0aaead5f85951f45b0ccbd7c800a7fde922a253566b62" + }, + "labels_after": { + "org.opencontainers.image.base.digest": "sha256:763c36402c8be7cc4c1bd1a61623d1aff9116d52241877425b45a7018cc0883a", + "org.opencontainers.image.revision": "uncommitted-T05-local-preparation", + "social.coulomb.release.scope": "INFD-WP-0009-T05/zlib-85091-r1", + "social.coulomb.source.context.sha256": "c554e62a84af340cba15d469a4568f6d0c40923e580b08ed7565e22702b1207d", + "social.coulomb.source.policy.sha256": "9d7c1be4cb6199d14ef0aaead5f85951f45b0ccbd7c800a7fde922a253566b62" + }, + "final_changed_files": { + "lib/apk/db/installed": { + "before": [ + "file", + 420, + 0, + 0, + "6383ea3806247e8dbf9ebee8cb30eb8eca63a8ea59662a793127d6a61b988d70" + ], + "after": [ + "file", + 420, + 0, + 0, + "f590762196710e25c0e9f72da0642cad8a5dcba0aa9e58a0cbaa65684d15c001" + ] + }, + "usr/lib/libz.so.1.3.2": { + "before": [ + "file", + 493, + 0, + 0, + "a1e2c03dcdedba98a06a00cadfb67a0e0b1cd93986860ec0c5ce66e789c44e57" + ], + "after": [ + "file", + 493, + 0, + 0, + "ecc8b9dfc45eb7fa29b410ffaca6257873890de53b80fe91735737b49067c5f2" + ] + } + }, + "directory_metadata_compared": true, + "directory_count_base": 313, + "directory_count_candidate": 313, + "directory_metadata_delta": {}, + "sbom_package_count_base": 44, + "sbom_package_count_candidate": 44, + "sbom_only_delta": { + "zlib": [ + "1.3.2-r0", + "1.3.2-r1" + ] + }, + "full_scan_baseline_findings": 1, + "full_scan_candidate_allseverity_findings": 0, + "db_snapshot_same": true, + "native_workload_changed": false, + "candidate_docker_daemon_image_id": "sha256:78bfdcc00a62367ae6190f6569a02b18abf9a943f760e4ac8fb946703348af31", + "candidate_local_image_config_id_kind": "Docker-save OCI export config SHA; distinct from legacy daemon imageID; closed default serialization differs." +} diff --git a/docs/evidence/2026-10-11-zlib-remediation-candidate/intermediate-64509029/audit-refinement.json b/docs/evidence/2026-10-11-zlib-remediation-candidate/intermediate-64509029/audit-refinement.json new file mode 100644 index 0000000..948fb25 --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-remediation-candidate/intermediate-64509029/audit-refinement.json @@ -0,0 +1,21 @@ +{ + "proposal_id": "INFD-WP-0009-T05/zlib-85091-r1", + "same_trial": true, + "original_manifest_sha256": "8d345bb2bde3efce4d0cc99dfc2f883a64f79c42d2cd4abb288229a995e9ad66", + "original_local_verification_sha256": "c82fa8aab33426fdd6f7730b627d226d3469b9d31c525bca7c28a52ab4847fc1", + "reason": "Platform source-review guard gaps; original actual candidate/build/scan did not fail", + "changes": [ + "Explicit optimized Python refusal before any archive/JSON read", + "Filesystem audit includes final directory mode/UID/GID metadata", + "Three synthetic tests: optimized malformed artifact refuses before read; unchanged directory passes; mode/UID/GID mutation refuses" + ], + "actual_existing_artifact_reaudit": "Passed; no directory metadata differences, same two changed files", + "candidate_image_unchanged": "sha256:78bfdcc00a62367ae6190f6569a02b18abf9a943f760e4ac8fb946703348af31", + "four_file_build_context_unchanged": "c554e62a84af340cba15d469a4568f6d0c40923e580b08ed7565e22702b1207d", + "registry_publication": false, + "native_changes": false, + "checker_sha256": "53778a2c3c89aee4c1256ed7e5896db033d960c6345d490620e4f06d03268794", + "tests_sha256": "e9c5a628e40acc3ae241bb3f3bf9c2846c064601761a11aecce81ba4803c8f71", + "comparison_sha256": "689fa7cbd322cb31b215fd2e86e0be267c1398f9b71e5615446d5f7b82dcce89", + "verification_sha256": "9ed9bfebae3618936f6b916819949adfb23668fedeb350ae63b43cd2aa6a7d92" +} diff --git a/docs/evidence/2026-10-11-zlib-remediation-candidate/intermediate-64509029/local-candidate-verification.json b/docs/evidence/2026-10-11-zlib-remediation-candidate/intermediate-64509029/local-candidate-verification.json new file mode 100644 index 0000000..a5a42c8 --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-remediation-candidate/intermediate-64509029/local-candidate-verification.json @@ -0,0 +1,110 @@ +{ + "task_id": "INFD-WP-0009-T05", + "risk_record": "INFD-RISK-20261011-ZLIB-85091", + "state": "local-source-candidate-verified-unpublished-unapproved", + "base_image": "forgejo.coulomb.social/coulomb/informed-decision@sha256:763c36402c8be7cc4c1bd1a61623d1aff9116d52241877425b45a7018cc0883a", + "candidate_docker_daemon_image_id": "sha256:78bfdcc00a62367ae6190f6569a02b18abf9a943f760e4ac8fb946703348af31", + "candidate_saved_oci_config_digest": "sha256:625d066416e901eaa2db5e18b96c37559b25dd91bdc3afb3d1ff5e916c7a8a3f", + "candidate_registry_digest": null, + "source_revision": "uncommitted-T05-local-preparation", + "source_context_sha256": "c554e62a84af340cba15d469a4568f6d0c40923e580b08ed7565e22702b1207d", + "build_inputs": { + ".dockerignore": "ce3fa53cfe2c963c7fec4f2333a8af84a40740f144605a5aea795bcd6ac9eb8a", + "Containerfile": "5e4d9b39e37fed95d729503deb0e9c414ae63d2779b02306beaadc94675d4f15", + "zlib-1.3.2-r1.apk": "63aeea03c15a2f9018f81805cfc8aa926bdf5cd68921f22149c2fbb5d0ee9f47", + "APKINDEX.tar.gz": "24fc2ccb08f3125429a38b31bd6c76a7b394c6236df0975760dc8259e50dfbd5" + }, + "official_downloads": { + "zlib-1.3.2-r1.apk": { + "url": "https://dl-cdn.alpinelinux.org/alpine/v3.24/main/x86_64/zlib-1.3.2-r1.apk", + "sha256": "63aeea03c15a2f9018f81805cfc8aa926bdf5cd68921f22149c2fbb5d0ee9f47", + "bytes": 56210 + }, + "APKINDEX.tar.gz": { + "url": "https://dl-cdn.alpinelinux.org/alpine/v3.24/main/x86_64/APKINDEX.tar.gz", + "sha256": "24fc2ccb08f3125429a38b31bd6c76a7b394c6236df0975760dc8259e50dfbd5", + "bytes": 528370 + } + }, + "signature_verification": "Actual apk verify package+index returned OK against keys installed in exact763 base; no allow-untrusted", + "package_delta": { + "zlib": [ + "1.3.2-r0", + "1.3.2-r1" + ] + }, + "official_aports_commit": "0afa2da0e8c8051c6f8f64a7a388e5a259904245", + "final_files_changed": [ + "lib/apk/db/installed", + "usr/lib/libz.so.1.3.2" + ], + "base_layers_preserved": 9, + "effective_runtime_configuration_unchanged": true, + "raw_config_serialization_unchanged": false, + "serialization_caveat": "Legacy base explicitly serialized empty/false/null defaults; candidate Docker-save config omits equivalent known defaults. Exact closed default normalization only; runtime fields unchanged.", + "app_files_unchanged": 36, + "policy_sha256": "9d7c1be4cb6199d14ef0aaead5f85951f45b0ccbd7c800a7fde922a253566b62", + "installed_purpose_variants_pass": 10, + "purpose_transport_synthetic": true, + "native_provider_test": false, + "compression_vectors_pass": 4, + "malformed_zlib_refusals": 3, + "crypto_jwt_waitress_smoke": true, + "source_negative_tests": 4, + "source_negative_mutations": 8, + "full_sbom_package_count": 44, + "baseline_full_scan_findings": { + "MEDIUM": 1, + "id": "CVE-2026-85091" + }, + "candidate_full_scan_allseverity_findings": 0, + "scanner": "aquasec/trivy@sha256:62b1e65e8869bc4b4c6aa4fa2b21595256c7c2f6018a9d9ad61caf87187c1969 v0.74", + "scanner_db_metadata": { + "Version": 2, + "NextUpdate": "2026-10-11T18:59:50.889010572Z", + "UpdatedAt": "2026-10-10T18:59:50.889010923Z", + "DownloadedAt": "2026-10-10T23:32:32.380033131Z" + }, + "scanner_db_sha256": "03cacb40452ceb74afdfca072cb82f79ee884dfac006ef24a4dfdad133b0f917", + "scan_caveat": "Alpine3.24 absent EOL list warning; actual OS detector ran38OS+6Python. Zero findings is this DB snapshot, not unknown-future vulnerability assurance or estate risk grade.", + "suppression_or_severity_filter": false, + "evidence_file_sha256": { + "artifact-comparison.json": "689fa7cbd322cb31b215fd2e86e0be267c1398f9b71e5615446d5f7b82dcce89", + "base-runtime.json": "20aabb9f4846ab4fa6e28e0763d153188da151ee32293366a51b0fdf872a4d24", + "base-sbom.cdx.json": "bb40bcd500ec91ad16affe116e74357ab4090827dd930e2186dc99988403bc50", + "base-trivy-full.json": "1b683afb558fedcc20b921599eca536551296afecbc81ce062c359f1b26cfac6", + "candidate-image-inspect.json": "56466225f35cdf23c5540c0cc37c77424755ca42794e81f2c99ccf13840c34de", + "candidate-runtime.json": "d58e60bdc69458fe42af8248e02acd924b3b605c828877352a7d9a3953e90124", + "context-source.json": "cccf41cf766a037f31f9ab29ae57f6b34c00e0237c94a8a0ce61c9c78fd06828", + "download-receipt.json": "847fce8466807e88a54ea5e374c2ac49ffa25e208697e71e94d83a5cc185b40d", + "official-zlib-index-entry.txt": "63b6831755f33c4fe7c8d7dd49cf2a60251edfcd45e4555f2731941939cb8d0a", + "official-zlib-package-info.txt": "395e0ee97996853c6cf03f17dfe25b57d109b0432c6faabb585d78e6ac6f534a", + "sbom.cdx.json": "287a61e1aaf78b58c014726e9bcc1ddc2c46949ac0ee74d53fccae3007eac1bb", + "trivy-full.json": "fd37bc2d502a9f017f673486f0f960433fc0fc12dcd745e5ed8074e9c3b600d9", + "verify_local_artifacts.py": "53778a2c3c89aee4c1256ed7e5896db033d960c6345d490620e4f06d03268794", + "test_artifact_audit.py": "e9c5a628e40acc3ae241bb3f3bf9c2846c064601761a11aecce81ba4803c8f71" + }, + "local_saved_image_tar_sha256": "0142526048de5662b4afc1ff7b82b5bf4554642ff811e29f364082e5de9be075", + "local_saved_image_tar_owner_attachment": false, + "build_resource_bound": "legacy builder --network none,256MiB/oneCPU; runtime128MiB/oneCPU; scanner1GiB/oneCPU", + "native_runtime_or_database_or_customer_data_or_credentials_accessed": false, + "native_backup_or_rollout": false, + "owner_source_edits_or_push": false, + "registry_publication_executed": false, + "founder_release_approval": false, + "workflow_yaml_and_bash_syntax": "passed, exact SHA/fixedowner context and admittedexistingregistry capability; CIactualbuild not executed", + "local_refinements_retained": [ + "Initial build --cpus flag unavailable in buildx; switched to explicit existinglegacy builder boundedquota", + "APK preupgrade=false argument refused; corrected no-preupgrade flag", + "Filesystem check found apk.log metadata delta; no-logfile confines finaldiff to twofiles", + "One intermediate local build context accidentally included public scan cache/export artifacts1.529GB; corrected separate4file context and .dockerignore(finaltransfer589.8kB); no secrets/native data involved", + "Read-only cache copy tried inaccessible priorfanal; isolated DB-only copy exactSHA03cacb... used; no ownership/permission loosening" + ], + "directory_metadata_compared": true, + "directory_count_base": 313, + "directory_count_candidate": 313, + "directory_metadata_delta": {}, + "artifact_audit_regression_tests": 3, + "artifact_audit_negative_cases": 4, + "initial_source_manifest_sha256": "8d345bb2bde3efce4d0cc99dfc2f883a64f79c42d2cd4abb288229a995e9ad66" +} diff --git a/docs/evidence/2026-10-11-zlib-remediation-candidate/intermediate-64509029/original-manifest.json b/docs/evidence/2026-10-11-zlib-remediation-candidate/intermediate-64509029/original-manifest.json new file mode 100644 index 0000000..5c9ebd2 --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-remediation-candidate/intermediate-64509029/original-manifest.json @@ -0,0 +1,408 @@ +[ + { + "repo": "informed-decision", + "path": ".forgejo/workflows/zlib-overlay-image.yaml", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/.forgejo/workflows/zlib-overlay-image.yaml", + "original_sha256": null, + "staged_sha256": "789ef77c30ee55a2e4ef2b7edbe781bb2e92056ac11f5f3b9328ce0dfec38e72" + }, + { + "repo": "informed-decision", + "path": "deploy/zlib-overlay/.dockerignore", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/deploy/zlib-overlay/.dockerignore", + "original_sha256": null, + "staged_sha256": "ce3fa53cfe2c963c7fec4f2333a8af84a40740f144605a5aea795bcd6ac9eb8a" + }, + { + "repo": "informed-decision", + "path": "deploy/zlib-overlay/APKINDEX.tar.gz", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/deploy/zlib-overlay/APKINDEX.tar.gz", + "original_sha256": null, + "staged_sha256": "24fc2ccb08f3125429a38b31bd6c76a7b394c6236df0975760dc8259e50dfbd5" + }, + { + "repo": "informed-decision", + "path": "deploy/zlib-overlay/Containerfile", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/deploy/zlib-overlay/Containerfile", + "original_sha256": null, + "staged_sha256": "5e4d9b39e37fed95d729503deb0e9c414ae63d2779b02306beaadc94675d4f15" + }, + { + "repo": "informed-decision", + "path": "deploy/zlib-overlay/pins.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/deploy/zlib-overlay/pins.json", + "original_sha256": null, + "staged_sha256": "0bd2c79633030056a89ae7f055020e6398aa79d481587d4b41f0974b29dc77b5" + }, + { + "repo": "informed-decision", + "path": "deploy/zlib-overlay/zlib-1.3.2-r1.apk", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/deploy/zlib-overlay/zlib-1.3.2-r1.apk", + "original_sha256": null, + "staged_sha256": "63aeea03c15a2f9018f81805cfc8aa926bdf5cd68921f22149c2fbb5d0ee9f47" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/README.md", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/README.md", + "original_sha256": null, + "staged_sha256": "4d0b0ed0b41f2098adfa2e626c641360855cd0e717bbd2d7a6c155cee2ae91ec" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/artifact-comparison.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/artifact-comparison.json", + "original_sha256": null, + "staged_sha256": "689fa7cbd322cb31b215fd2e86e0be267c1398f9b71e5615446d5f7b82dcce89" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/audit-refinement.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/audit-refinement.json", + "original_sha256": null, + "staged_sha256": "020514b7514999699512fb338d89630e7eaf51a739e68bf77342eeefe8ad507f" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/base-runtime.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/base-runtime.json", + "original_sha256": null, + "staged_sha256": "20aabb9f4846ab4fa6e28e0763d153188da151ee32293366a51b0fdf872a4d24" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/base-sbom.cdx.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/base-sbom.cdx.json", + "original_sha256": null, + "staged_sha256": "bb40bcd500ec91ad16affe116e74357ab4090827dd930e2186dc99988403bc50" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/base-trivy-full.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/base-trivy-full.json", + "original_sha256": null, + "staged_sha256": "1b683afb558fedcc20b921599eca536551296afecbc81ce062c359f1b26cfac6" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/candidate-image-inspect.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/candidate-image-inspect.json", + "original_sha256": null, + "staged_sha256": "56466225f35cdf23c5540c0cc37c77424755ca42794e81f2c99ccf13840c34de" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/candidate-runtime.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/candidate-runtime.json", + "original_sha256": null, + "staged_sha256": "d58e60bdc69458fe42af8248e02acd924b3b605c828877352a7d9a3953e90124" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/context-source.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/context-source.json", + "original_sha256": null, + "staged_sha256": "cccf41cf766a037f31f9ab29ae57f6b34c00e0237c94a8a0ce61c9c78fd06828" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/download-receipt.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/download-receipt.json", + "original_sha256": null, + "staged_sha256": "847fce8466807e88a54ea5e374c2ac49ffa25e208697e71e94d83a5cc185b40d" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/archive-map.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/archive-map.json", + "original_sha256": null, + "staged_sha256": "91384b270c0462223af1ff66e3ca75db5fce692c56c6bde6df435e6a2a079c5e" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/original-manifest.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/original-manifest.json", + "original_sha256": null, + "staged_sha256": "8d345bb2bde3efce4d0cc99dfc2f883a64f79c42d2cd4abb288229a995e9ad66" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/.forgejo/workflows/zlib-overlay-image.yaml", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/.forgejo/workflows/zlib-overlay-image.yaml", + "original_sha256": null, + "staged_sha256": "789ef77c30ee55a2e4ef2b7edbe781bb2e92056ac11f5f3b9328ce0dfec38e72" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/deploy/zlib-overlay/.dockerignore", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/deploy/zlib-overlay/.dockerignore", + "original_sha256": null, + "staged_sha256": "ce3fa53cfe2c963c7fec4f2333a8af84a40740f144605a5aea795bcd6ac9eb8a" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/deploy/zlib-overlay/APKINDEX.tar.gz", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/deploy/zlib-overlay/APKINDEX.tar.gz", + "original_sha256": null, + "staged_sha256": "24fc2ccb08f3125429a38b31bd6c76a7b394c6236df0975760dc8259e50dfbd5" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/deploy/zlib-overlay/Containerfile", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/deploy/zlib-overlay/Containerfile", + "original_sha256": null, + "staged_sha256": "5e4d9b39e37fed95d729503deb0e9c414ae63d2779b02306beaadc94675d4f15" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/deploy/zlib-overlay/pins.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/deploy/zlib-overlay/pins.json", + "original_sha256": null, + "staged_sha256": "0bd2c79633030056a89ae7f055020e6398aa79d481587d4b41f0974b29dc77b5" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/deploy/zlib-overlay/zlib-1.3.2-r1.apk", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/deploy/zlib-overlay/zlib-1.3.2-r1.apk", + "original_sha256": null, + "staged_sha256": "63aeea03c15a2f9018f81805cfc8aa926bdf5cd68921f22149c2fbb5d0ee9f47" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/README.md", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/README.md", + "original_sha256": null, + "staged_sha256": "cc53d16b5dc8375be0d5f63b1144f0a422477e3a5638c397a214275d7ea1d0cb" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/artifact-comparison.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/artifact-comparison.json", + "original_sha256": null, + "staged_sha256": "8d84bfb20cc6c64c85b4b6fcb76d7e1113ebbfcadcd4d5c54ffb4121d73e4dfa" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/base-runtime.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/base-runtime.json", + "original_sha256": null, + "staged_sha256": "20aabb9f4846ab4fa6e28e0763d153188da151ee32293366a51b0fdf872a4d24" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/base-sbom.cdx.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/base-sbom.cdx.json", + "original_sha256": null, + "staged_sha256": "bb40bcd500ec91ad16affe116e74357ab4090827dd930e2186dc99988403bc50" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/base-trivy-full.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/base-trivy-full.json", + "original_sha256": null, + "staged_sha256": "1b683afb558fedcc20b921599eca536551296afecbc81ce062c359f1b26cfac6" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/candidate-image-inspect.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/candidate-image-inspect.json", + "original_sha256": null, + "staged_sha256": "56466225f35cdf23c5540c0cc37c77424755ca42794e81f2c99ccf13840c34de" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/candidate-runtime.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/candidate-runtime.json", + "original_sha256": null, + "staged_sha256": "d58e60bdc69458fe42af8248e02acd924b3b605c828877352a7d9a3953e90124" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/context-source.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/context-source.json", + "original_sha256": null, + "staged_sha256": "cccf41cf766a037f31f9ab29ae57f6b34c00e0237c94a8a0ce61c9c78fd06828" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/download-receipt.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/download-receipt.json", + "original_sha256": null, + "staged_sha256": "847fce8466807e88a54ea5e374c2ac49ffa25e208697e71e94d83a5cc185b40d" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/local-candidate-verification.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/local-candidate-verification.json", + "original_sha256": null, + "staged_sha256": "c82fa8aab33426fdd6f7730b627d226d3469b9d31c525bca7c28a52ab4847fc1" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/official-zlib-index-entry.txt", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/official-zlib-index-entry.txt", + "original_sha256": null, + "staged_sha256": "63b6831755f33c4fe7c8d7dd49cf2a60251edfcd45e4555f2731941939cb8d0a" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/official-zlib-package-info.txt", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/official-zlib-package-info.txt", + "original_sha256": null, + "staged_sha256": "395e0ee97996853c6cf03f17dfe25b57d109b0432c6faabb585d78e6ac6f534a" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/proposal.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/proposal.json", + "original_sha256": null, + "staged_sha256": "a12877b149427713c12e67f2597bf330d32dd0b30464008c0f79fc593f05d894" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/sbom.cdx.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/sbom.cdx.json", + "original_sha256": null, + "staged_sha256": "287a61e1aaf78b58c014726e9bcc1ddc2c46949ac0ee74d53fccae3007eac1bb" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/trivy-full.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/trivy-full.json", + "original_sha256": null, + "staged_sha256": "fd37bc2d502a9f017f673486f0f960433fc0fc12dcd745e5ed8074e9c3b600d9" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/verify_local_artifacts.py", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/docs/evidence/2026-10-11-zlib-remediation-candidate/verify_local_artifacts.py", + "original_sha256": null, + "staged_sha256": "6706f62937a742a9c5cc00c42d6261d67d4f1e675b868e67db70dc0b5be03afa" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/tools/zlib_overlay/check_build_inputs.py", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/tools/zlib_overlay/check_build_inputs.py", + "original_sha256": null, + "staged_sha256": "1bf0219765dbcf5f7e26495ac4d49f240affa21deeb9b06c65e275afd10d2e06" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/tools/zlib_overlay/check_runtime.py", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/tools/zlib_overlay/check_runtime.py", + "original_sha256": null, + "staged_sha256": "eb1fca9a43d3394d652f748cde2e8d28cbe646ad61c40f990c0b8878c522a3be" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/tools/zlib_overlay/compare_runtime.py", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/tools/zlib_overlay/compare_runtime.py", + "original_sha256": null, + "staged_sha256": "545f04844f90d028f5d8bb65fb16f3805ee5735ac687ec28303eb9dbb4195b0d" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/tools/zlib_overlay/test_candidate.py", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/tools/zlib_overlay/test_candidate.py", + "original_sha256": null, + "staged_sha256": "68677b91c34101776381abcabffcd983bf2452076f983f32599ab1f7ad177bb9" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/workplans/INFD-WP-0009-lifecycle-consumer-pin-repair.md", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/initial-8d345bb2/owner-snapshot/workplans/INFD-WP-0009-lifecycle-consumer-pin-repair.md", + "original_sha256": null, + "staged_sha256": "af785afbf188184b72563c10813663d44117df7cb7394ecb1b9a25cbdfea67a4" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/local-candidate-verification.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/local-candidate-verification.json", + "original_sha256": null, + "staged_sha256": "9ed9bfebae3618936f6b916819949adfb23668fedeb350ae63b43cd2aa6a7d92" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/official-zlib-index-entry.txt", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/official-zlib-index-entry.txt", + "original_sha256": null, + "staged_sha256": "63b6831755f33c4fe7c8d7dd49cf2a60251edfcd45e4555f2731941939cb8d0a" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/official-zlib-package-info.txt", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/official-zlib-package-info.txt", + "original_sha256": null, + "staged_sha256": "395e0ee97996853c6cf03f17dfe25b57d109b0432c6faabb585d78e6ac6f534a" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/proposal.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/proposal.json", + "original_sha256": null, + "staged_sha256": "a12877b149427713c12e67f2597bf330d32dd0b30464008c0f79fc593f05d894" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/sbom.cdx.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/sbom.cdx.json", + "original_sha256": null, + "staged_sha256": "287a61e1aaf78b58c014726e9bcc1ddc2c46949ac0ee74d53fccae3007eac1bb" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/test_artifact_audit.py", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/test_artifact_audit.py", + "original_sha256": null, + "staged_sha256": "e9c5a628e40acc3ae241bb3f3bf9c2846c064601761a11aecce81ba4803c8f71" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/trivy-full.json", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/trivy-full.json", + "original_sha256": null, + "staged_sha256": "fd37bc2d502a9f017f673486f0f960433fc0fc12dcd745e5ed8074e9c3b600d9" + }, + { + "repo": "informed-decision", + "path": "docs/evidence/2026-10-11-zlib-remediation-candidate/verify_local_artifacts.py", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/docs/evidence/2026-10-11-zlib-remediation-candidate/verify_local_artifacts.py", + "original_sha256": null, + "staged_sha256": "53778a2c3c89aee4c1256ed7e5896db033d960c6345d490620e4f06d03268794" + }, + { + "repo": "informed-decision", + "path": "tools/zlib_overlay/check_build_inputs.py", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/tools/zlib_overlay/check_build_inputs.py", + "original_sha256": null, + "staged_sha256": "1bf0219765dbcf5f7e26495ac4d49f240affa21deeb9b06c65e275afd10d2e06" + }, + { + "repo": "informed-decision", + "path": "tools/zlib_overlay/check_runtime.py", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/tools/zlib_overlay/check_runtime.py", + "original_sha256": null, + "staged_sha256": "eb1fca9a43d3394d652f748cde2e8d28cbe646ad61c40f990c0b8878c522a3be" + }, + { + "repo": "informed-decision", + "path": "tools/zlib_overlay/compare_runtime.py", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/tools/zlib_overlay/compare_runtime.py", + "original_sha256": null, + "staged_sha256": "545f04844f90d028f5d8bb65fb16f3805ee5735ac687ec28303eb9dbb4195b0d" + }, + { + "repo": "informed-decision", + "path": "tools/zlib_overlay/test_candidate.py", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/tools/zlib_overlay/test_candidate.py", + "original_sha256": null, + "staged_sha256": "68677b91c34101776381abcabffcd983bf2452076f983f32599ab1f7ad177bb9" + }, + { + "repo": "informed-decision", + "path": "workplans/INFD-WP-0009-lifecycle-consumer-pin-repair.md", + "staged_path": "/tmp/infd-zlib-candidate-stage/informed-decision/workplans/INFD-WP-0009-lifecycle-consumer-pin-repair.md", + "original_sha256": "73fe52f0a188067d3e9c9d78584117b9cfa40ce417bb31530cbc2e9bbe858223", + "staged_sha256": "af785afbf188184b72563c10813663d44117df7cb7394ecb1b9a25cbdfea67a4" + } +] diff --git a/docs/evidence/2026-10-11-zlib-remediation-candidate/intermediate-64509029/test_artifact_audit.py b/docs/evidence/2026-10-11-zlib-remediation-candidate/intermediate-64509029/test_artifact_audit.py new file mode 100644 index 0000000..332e2e8 --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-remediation-candidate/intermediate-64509029/test_artifact_audit.py @@ -0,0 +1,47 @@ +"""Synthetic artifact boundaries; never access owner/native databases.""" +from pathlib import Path +import io,json,subprocess,sys,tarfile,tempfile,unittest +CHECKER=Path(__file__).with_name('verify_local_artifacts.py') +def add(t,name,data=None,metadata=(0o755,0,0)): + m=tarfile.TarInfo(name);m.mode,m.uid,m.gid=metadata + if data is None:m.type=tarfile.DIRTYPE;t.addfile(m) + else:m.size=len(data);t.addfile(m,io.BytesIO(data)) +def archive(path,layers,ids): + with tarfile.open(path,'w') as t: + add(t,'manifest.json',json.dumps([{'Config':'config.json','Layers':[f'{i}.tar' for i in range(len(layers))]}]).encode()) + add(t,'config.json',json.dumps({'rootfs':{'diff_ids':ids},'config':{}}).encode()) + for i,data in enumerate(layers):add(t,f'{i}.tar',data) +def layer(metadata): + b=io.BytesIO() + with tarfile.open(fileobj=b,mode='w') as t:add(t,'usr',metadata=metadata) + return b.getvalue() +def fixture(root,metadata=(0o755,0,0)): + base=layer((0o755,0,0));candidate=layer(metadata) + archive(root/'base-image.tar',[base],['base']) + archive(root/'image.tar',[base,candidate,layer(metadata)],['base','overlay','cleanup']) + for name,version in [('base-sbom.cdx.json','1.3.2-r0'),('sbom.cdx.json','1.3.2-r1')]: + (root/name).write_text(json.dumps({'components':[{'name':'zlib','version':version,'purl':'pkg:apk/zlib'}]})) + for name,findings in [('base-trivy-full.json',[{'VulnerabilityID':'CVE-2026-85091','Severity':'MEDIUM'}]),('trivy-full.json',[])]: + (root/name).write_text(json.dumps({'Results':[{'Vulnerabilities':findings}]})) +class ArtifactAuditTests(unittest.TestCase): + def execute(self,root,optimize=False): + return subprocess.run([sys.executable,*(['-O'] if optimize else []),str(CHECKER),str(root)],capture_output=True,text=True) + def test_optimized_tampered_artifacts_refused_before_read(self): + with tempfile.TemporaryDirectory() as tmp: + root=Path(tmp);(root/'base-image.tar').write_bytes(b'tampered not an archive') + r=self.execute(root,True) + self.assertNotEqual(r.returncode,0);self.assertIn('REFUSED: optimized Python',r.stderr) + self.assertNotIn('ReadError',r.stderr);self.assertFalse((root/'artifact-comparison.json').exists()) + def test_matching_directory_metadata_passes(self): + with tempfile.TemporaryDirectory() as tmp: + root=Path(tmp);fixture(root);r=self.execute(root) + self.assertEqual(r.returncode,0,r.stderr) + proof=json.loads((root/'artifact-comparison.json').read_text()) + self.assertTrue(proof['directory_metadata_compared']);self.assertEqual(proof['directory_metadata_delta'],{}) + def test_directory_mode_uid_gid_drift_refuses(self): + for metadata in [(0o777,0,0),(0o755,10001,0),(0o755,0,10001)]: + with self.subTest(metadata=metadata),tempfile.TemporaryDirectory() as tmp: + root=Path(tmp);fixture(root,metadata);r=self.execute(root) + self.assertNotEqual(r.returncode,0);self.assertIn("{'usr'}",r.stderr) + self.assertFalse((root/'artifact-comparison.json').exists()) +if __name__=='__main__':unittest.main() diff --git a/docs/evidence/2026-10-11-zlib-remediation-candidate/intermediate-64509029/verify_local_artifacts.py b/docs/evidence/2026-10-11-zlib-remediation-candidate/intermediate-64509029/verify_local_artifacts.py new file mode 100644 index 0000000..81654b4 --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-remediation-candidate/intermediate-64509029/verify_local_artifacts.py @@ -0,0 +1,49 @@ +from pathlib import Path +import hashlib,io,json,tarfile,sys +if sys.flags.optimize: + raise SystemExit("REFUSED: optimized Python disables required artifact validation") +root=Path(sys.argv[1]) if len(sys.argv)==2 else Path('/tmp/infd-zlib-remediation-build') +def image(path): + with tarfile.open(path) as archive: + manifest=json.load(archive.extractfile('manifest.json'));assert len(manifest)==1 + configbytes=archive.extractfile(manifest[0]['Config']).read();config=json.loads(configbytes) + files={} + for name in manifest[0]['Layers']: + with tarfile.open(fileobj=archive.extractfile(name),mode='r|*') as layer: + for member in layer: + path=member.name.lstrip('./');p=Path(path) + if p.name=='.wh..wh..opq': + folder=p.parent.as_posix();files={key:value for key,value in files.items() if not key.startswith(folder+'/')};continue + if p.name.startswith('.wh.'): + removed=(p.parent/p.name[4:]).as_posix();files={key:value for key,value in files.items() if key!=removed and not key.startswith(removed+'/')};continue + if member.isfile(): + data=layer.extractfile(member).read();value=('file',member.mode,member.uid,member.gid,hashlib.sha256(data).hexdigest()) + elif member.isdir():value=('directory',member.mode,member.uid,member.gid,None) + elif member.issym() or member.islnk():value=('link',member.mode,member.uid,member.gid,member.linkname) + else:continue + files[path]=value + return config,hashlib.sha256(configbytes).hexdigest(),files +base,baseid,bfiles=image(root/'base-image.tar');candidate,candidateid,cfiles=image(root/'image.tar') +assert candidate['rootfs']['diff_ids'][:-2]==base['rootfs']['diff_ids'] +changed={name:{'before':bfiles.get(name),'after':cfiles.get(name)} for name in sorted(set(bfiles)|set(cfiles)) if bfiles.get(name)!=cfiles.get(name)} +expected={'usr/lib/libz.so.1.3.2','lib/apk/db/installed'} +assert set(changed)<=expected,set(changed) +a,b=base['config'].copy(),candidate['config'].copy() +labels_a=a.pop('Labels',{});labels_b=b.pop('Labels',{}) +a.pop('Image',None);b.pop('Image',None) +defaults={'Hostname':'','Domainname':'','AttachStdin':False,'AttachStdout':False,'AttachStderr':False,'Tty':False,'OpenStdin':False,'StdinOnce':False,'Cmd':None,'Volumes':None,'OnBuild':None} +for key,value in defaults.items(): + a.setdefault(key,value);b.setdefault(key,value) +assert a==b,(a,b) +components=[] +for name in ['base-sbom.cdx.json','sbom.cdx.json']: + data=json.loads((root/name).read_text());components.append({c['name']:c['version'] for c in data['components'] if c.get('purl')}) +sbom_delta={name:[components[0].get(name),components[1].get(name)] for name in set(components[0])|set(components[1]) if components[0].get(name)!=components[1].get(name)} +assert sbom_delta=={'zlib':['1.3.2-r0','1.3.2-r1']},sbom_delta +vulns=[] +for name in ['base-trivy-full.json','trivy-full.json']: + data=json.loads((root/name).read_text());vulns.append([v for r in data.get('Results',[]) for v in r.get('Vulnerabilities',[])]) +assert len(vulns[0])==1 and vulns[0][0]['VulnerabilityID']=='CVE-2026-85091' and vulns[0][0]['Severity']=='MEDIUM' +assert not vulns[1] +proof={'base_image_config_id':'sha256:'+baseid,'candidate_local_image_config_id':'sha256:'+candidateid,'candidate_registry_digest':None,'base_layers_preserved':len(base['rootfs']['diff_ids']),'new_layers':2,'effective_runtime_config_identical':True,'raw_config_bytes_identical':False,'serialization_note':'Legacy base explicitly serialized empty/false/null defaults; candidate Docker-save config omits equivalent known defaults. Exact closed default normalization only; runtime fields unchanged.','labels_before':labels_a,'labels_after':labels_b,'final_changed_files':changed,'directory_metadata_compared':True,'directory_count_base':sum(v[0]=='directory' for v in bfiles.values()),'directory_count_candidate':sum(v[0]=='directory' for v in cfiles.values()),'directory_metadata_delta':{k:v for k,v in changed.items() if (v['before'] and v['before'][0]=='directory') or (v['after'] and v['after'][0]=='directory')},'sbom_package_count_base':len(components[0]),'sbom_package_count_candidate':len(components[1]),'sbom_only_delta':sbom_delta,'full_scan_baseline_findings':1,'full_scan_candidate_allseverity_findings':0,'db_snapshot_same':True,'native_workload_changed':False} +(root/'artifact-comparison.json').write_text(json.dumps(proof,indent=2)+'\n');print(json.dumps({key:proof[key] for key in ['candidate_local_image_config_id','base_layers_preserved','effective_runtime_config_identical','sbom_only_delta','full_scan_candidate_allseverity_findings']}));print(json.dumps(list(changed))) diff --git a/docs/evidence/2026-10-11-zlib-remediation-candidate/local-candidate-verification.json b/docs/evidence/2026-10-11-zlib-remediation-candidate/local-candidate-verification.json new file mode 100644 index 0000000..fba581b --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-remediation-candidate/local-candidate-verification.json @@ -0,0 +1,111 @@ +{ + "task_id": "INFD-WP-0009-T05", + "risk_record": "INFD-RISK-20261011-ZLIB-85091", + "state": "local-source-candidate-verified-unpublished-unapproved", + "base_image": "forgejo.coulomb.social/coulomb/informed-decision@sha256:763c36402c8be7cc4c1bd1a61623d1aff9116d52241877425b45a7018cc0883a", + "candidate_docker_daemon_image_id": "sha256:78bfdcc00a62367ae6190f6569a02b18abf9a943f760e4ac8fb946703348af31", + "candidate_saved_oci_config_digest": "sha256:625d066416e901eaa2db5e18b96c37559b25dd91bdc3afb3d1ff5e916c7a8a3f", + "candidate_registry_digest": null, + "source_revision": "uncommitted-T05-local-preparation", + "source_context_sha256": "c554e62a84af340cba15d469a4568f6d0c40923e580b08ed7565e22702b1207d", + "build_inputs": { + ".dockerignore": "ce3fa53cfe2c963c7fec4f2333a8af84a40740f144605a5aea795bcd6ac9eb8a", + "Containerfile": "5e4d9b39e37fed95d729503deb0e9c414ae63d2779b02306beaadc94675d4f15", + "zlib-1.3.2-r1.apk": "63aeea03c15a2f9018f81805cfc8aa926bdf5cd68921f22149c2fbb5d0ee9f47", + "APKINDEX.tar.gz": "24fc2ccb08f3125429a38b31bd6c76a7b394c6236df0975760dc8259e50dfbd5" + }, + "official_downloads": { + "zlib-1.3.2-r1.apk": { + "url": "https://dl-cdn.alpinelinux.org/alpine/v3.24/main/x86_64/zlib-1.3.2-r1.apk", + "sha256": "63aeea03c15a2f9018f81805cfc8aa926bdf5cd68921f22149c2fbb5d0ee9f47", + "bytes": 56210 + }, + "APKINDEX.tar.gz": { + "url": "https://dl-cdn.alpinelinux.org/alpine/v3.24/main/x86_64/APKINDEX.tar.gz", + "sha256": "24fc2ccb08f3125429a38b31bd6c76a7b394c6236df0975760dc8259e50dfbd5", + "bytes": 528370 + } + }, + "signature_verification": "Actual apk verify package+index returned OK against keys installed in exact763 base; no allow-untrusted", + "package_delta": { + "zlib": [ + "1.3.2-r0", + "1.3.2-r1" + ] + }, + "official_aports_commit": "0afa2da0e8c8051c6f8f64a7a388e5a259904245", + "final_files_changed": [ + "lib/apk/db/installed", + "usr/lib/libz.so.1.3.2" + ], + "base_layers_preserved": 9, + "effective_runtime_configuration_unchanged": true, + "raw_config_serialization_unchanged": false, + "serialization_caveat": "Legacy base explicitly serialized empty/false/null defaults; candidate Docker-save config omits equivalent known defaults. Exact closed default normalization only; runtime fields unchanged.", + "app_files_unchanged": 36, + "policy_sha256": "9d7c1be4cb6199d14ef0aaead5f85951f45b0ccbd7c800a7fde922a253566b62", + "installed_purpose_variants_pass": 10, + "purpose_transport_synthetic": true, + "native_provider_test": false, + "compression_vectors_pass": 4, + "malformed_zlib_refusals": 3, + "crypto_jwt_waitress_smoke": true, + "source_negative_tests": 4, + "source_negative_mutations": 8, + "full_sbom_package_count": 44, + "baseline_full_scan_findings": { + "MEDIUM": 1, + "id": "CVE-2026-85091" + }, + "candidate_full_scan_allseverity_findings": 0, + "scanner": "aquasec/trivy@sha256:62b1e65e8869bc4b4c6aa4fa2b21595256c7c2f6018a9d9ad61caf87187c1969 v0.74", + "scanner_db_metadata": { + "Version": 2, + "NextUpdate": "2026-10-11T18:59:50.889010572Z", + "UpdatedAt": "2026-10-10T18:59:50.889010923Z", + "DownloadedAt": "2026-10-10T23:32:32.380033131Z" + }, + "scanner_db_sha256": "03cacb40452ceb74afdfca072cb82f79ee884dfac006ef24a4dfdad133b0f917", + "scan_caveat": "Alpine3.24 absent EOL list warning; actual OS detector ran38OS+6Python. Zero findings is this DB snapshot, not unknown-future vulnerability assurance or estate risk grade.", + "suppression_or_severity_filter": false, + "evidence_file_sha256": { + "artifact-comparison.json": "689fa7cbd322cb31b215fd2e86e0be267c1398f9b71e5615446d5f7b82dcce89", + "base-runtime.json": "20aabb9f4846ab4fa6e28e0763d153188da151ee32293366a51b0fdf872a4d24", + "base-sbom.cdx.json": "bb40bcd500ec91ad16affe116e74357ab4090827dd930e2186dc99988403bc50", + "base-trivy-full.json": "1b683afb558fedcc20b921599eca536551296afecbc81ce062c359f1b26cfac6", + "candidate-image-inspect.json": "56466225f35cdf23c5540c0cc37c77424755ca42794e81f2c99ccf13840c34de", + "candidate-runtime.json": "d58e60bdc69458fe42af8248e02acd924b3b605c828877352a7d9a3953e90124", + "context-source.json": "cccf41cf766a037f31f9ab29ae57f6b34c00e0237c94a8a0ce61c9c78fd06828", + "download-receipt.json": "847fce8466807e88a54ea5e374c2ac49ffa25e208697e71e94d83a5cc185b40d", + "official-zlib-index-entry.txt": "63b6831755f33c4fe7c8d7dd49cf2a60251edfcd45e4555f2731941939cb8d0a", + "official-zlib-package-info.txt": "395e0ee97996853c6cf03f17dfe25b57d109b0432c6faabb585d78e6ac6f534a", + "sbom.cdx.json": "287a61e1aaf78b58c014726e9bcc1ddc2c46949ac0ee74d53fccae3007eac1bb", + "trivy-full.json": "fd37bc2d502a9f017f673486f0f960433fc0fc12dcd745e5ed8074e9c3b600d9", + "verify_local_artifacts.py": "d727f60edd004184c79903c20619643033fac68afbecfb1990cce855cdb924e3", + "test_artifact_audit.py": "12ba4ce8c082450241118d73139c59e06b3a337b152e3364918a5b2850f2dc47" + }, + "local_saved_image_tar_sha256": "0142526048de5662b4afc1ff7b82b5bf4554642ff811e29f364082e5de9be075", + "local_saved_image_tar_owner_attachment": false, + "build_resource_bound": "legacy builder --network none,256MiB/oneCPU; runtime128MiB/oneCPU; scanner1GiB/oneCPU", + "native_runtime_or_database_or_customer_data_or_credentials_accessed": false, + "native_backup_or_rollout": false, + "owner_source_edits_or_push": false, + "registry_publication_executed": false, + "founder_release_approval": false, + "workflow_yaml_and_bash_syntax": "passed, exact SHA/fixedowner context and admittedexistingregistry capability; CIactualbuild not executed", + "local_refinements_retained": [ + "Initial build --cpus flag unavailable in buildx; switched to explicit existinglegacy builder boundedquota", + "APK preupgrade=false argument refused; corrected no-preupgrade flag", + "Filesystem check found apk.log metadata delta; no-logfile confines finaldiff to twofiles", + "One intermediate local build context accidentally included public scan cache/export artifacts1.529GB; corrected separate4file context and .dockerignore(finaltransfer589.8kB); no secrets/native data involved", + "Read-only cache copy tried inaccessible priorfanal; isolated DB-only copy exactSHA03cacb... used; no ownership/permission loosening" + ], + "directory_metadata_compared": true, + "directory_count_base": 313, + "directory_count_candidate": 313, + "directory_metadata_delta": {}, + "artifact_audit_regression_tests": 5, + "artifact_audit_negative_cases": 4, + "initial_source_manifest_sha256": "8d345bb2bde3efce4d0cc99dfc2f883a64f79c42d2cd4abb288229a995e9ad66", + "whiteout_semantic_cases": 12 +} diff --git a/docs/evidence/2026-10-11-zlib-remediation-candidate/official-zlib-index-entry.txt b/docs/evidence/2026-10-11-zlib-remediation-candidate/official-zlib-index-entry.txt new file mode 100644 index 0000000..5cc6c46 --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-remediation-candidate/official-zlib-index-entry.txt @@ -0,0 +1,15 @@ +C:Q1T1JcjMIE+EuLTKQNs744mVjwVsY= +P:zlib +V:1.3.2-r1 +A:x86_64 +S:56210 +I:108376 +T:A compression/decompression Library +U:https://zlib.net/ +L:Zlib +o:zlib +m:Natanael Copa +t:1791318860 +c:0afa2da0e8c8051c6f8f64a7a388e5a259904245 +D:so:libc.musl-x86_64.so.1 +p:so:libz.so.1=1.3.2 diff --git a/docs/evidence/2026-10-11-zlib-remediation-candidate/official-zlib-package-info.txt b/docs/evidence/2026-10-11-zlib-remediation-candidate/official-zlib-package-info.txt new file mode 100644 index 0000000..35e8543 --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-remediation-candidate/official-zlib-package-info.txt @@ -0,0 +1,18 @@ +# Generated by abuild 3.17.0-r0 +# using fakeroot version 1.37.2 +pkgname = zlib +pkgver = 1.3.2-r1 +pkgdesc = A compression/decompression Library +url = https://zlib.net/ +builddate = 1791318860 +packager = Buildozer +size = 108376 +arch = x86_64 +origin = zlib +commit = 0afa2da0e8c8051c6f8f64a7a388e5a259904245 +maintainer = Natanael Copa +license = Zlib +# automatically detected: +provides = so:libz.so.1=1.3.2 +depend = so:libc.musl-x86_64.so.1 +datahash = 9839ce70203b5f89b54614de122f9086f58d09ad01cb95b3ba85049655f47d3b diff --git a/docs/evidence/2026-10-11-zlib-remediation-candidate/proposal.json b/docs/evidence/2026-10-11-zlib-remediation-candidate/proposal.json new file mode 100644 index 0000000..3fc6402 --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-remediation-candidate/proposal.json @@ -0,0 +1,26 @@ +{ + "proposal_id": "INFD-WP-0009-T05/zlib-85091-r1", + "state": "prepared-local-candidate-unpublished-unapproved", + "task_id": "INFD-WP-0009-T05", + "risk_record": "INFD-RISK-20261011-ZLIB-85091", + "candidate_local_image_id": "sha256:78bfdcc00a62367ae6190f6569a02b18abf9a943f760e4ac8fb946703348af31", + "candidate_registry_digest": null, + "base_image": "forgejo.coulomb.social/coulomb/informed-decision@sha256:763c36402c8be7cc4c1bd1a61623d1aff9116d52241877425b45a7018cc0883a", + "source_context_sha256": "c554e62a84af340cba15d469a4568f6d0c40923e580b08ed7565e22702b1207d", + "scope": "Only zlib1.3.2-r0\u2192r1 from signedofficialAlpine3.24/x86_64main package; no broaderAlpine/Python/base/app refresh", + "scan": "Actualfull44package sameDB base1MED\u2192candidate0allseverity,no suppressions", + "native_effect": "None prepared/applied; laterpublishedregistryproof and distinct exactfounderDeployment-only release proposal required. Current763 image/schema5/config/policy9d/identity/PVC/credentials/nativec96T04outcome and protectedjournals untouched.", + "next_gates": [ + "Rootsourceapply/review/commit and normaladmittedownerCIcandidatepublication(no borrowedcredential/newgrant)", + "Exact CI/sourceSHA registrydescriptor/layer/config/signature/pkgreadback + actualpublishedfullscan/SBOM/sourcecontext proof", + "Scopednewimagecandidate sourcevalues onlyafteractualdigest, freshmetadata/admission/diff/UID/capacity/sealedconfig/storage checks and exactdistinctinformeddecisionfounderapproval", + "Actualinstalledr1/hash/runtimepurpose/reliability/fullscan verification beforeT05complete; same-schema rollbackto763 preservescurrentDB" + ], + "rollback": "Futureimage-onlyrollbacktoexact763, keepcurrentDB/schema5/config/records; no snapshotrestore/helper/journalrewrite", + "manual_review_due": "2026-10-18", + "automatic_controller": false, + "cost_estimate_EUR": 0, + "cost_caveat": "Existinglocal/CI compute and~0.6MiBpublicsourcecontext, image/scan artifacts andattendedengineering unpriced; no estateincidentloss/autonomygrant", + "maker_only": true, + "human_native_release_approval": false +} diff --git a/docs/evidence/2026-10-11-zlib-remediation-candidate/sbom.cdx.json b/docs/evidence/2026-10-11-zlib-remediation-candidate/sbom.cdx.json new file mode 100644 index 0000000..c37c6b8 --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-remediation-candidate/sbom.cdx.json @@ -0,0 +1,2517 @@ +{ + "$schema": "http://cyclonedx.org/schema/bom-1.7.schema.json", + "bomFormat": "CycloneDX", + "specVersion": "1.7", + "serialNumber": "urn:uuid:d5bad06c-fbb6-43dc-ad11-350bac137879", + "version": 1, + "metadata": { + "timestamp": "2026-10-11T07:31:28+00:00", + "tools": { + "components": [ + { + "type": "application", + "manufacturer": { + "name": "Aqua Security Software Ltd." + }, + "group": "aquasecurity", + "name": "trivy", + "version": "0.74.0" + } + ] + }, + "component": { + "bom-ref": "826fbc25-7bf3-47dc-8757-1977ae81aac7", + "type": "container", + "name": "/artifact/image.tar", + "properties": [ + { + "name": "aquasecurity:trivy:DiffID", + "value": "sha256:21ff9188cb29ca95fe9be11355f70ab5586e8499e33b52a253d953fb3b75aea3" + }, + { + "name": "aquasecurity:trivy:DiffID", + "value": "sha256:264cd36fa61846dbe59ce642a36e8d738c415368e666ed0b6c680dc856e1202e" + }, + { + "name": "aquasecurity:trivy:DiffID", + "value": "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c" + }, + { + "name": "aquasecurity:trivy:DiffID", + "value": "sha256:361430a1113969743b99e237b20f023d5497493bcf96fb91af99ac0a0dbc4a59" + }, + { + "name": "aquasecurity:trivy:DiffID", + "value": "sha256:3ca4be2c6e9ac0223715355253725381000486c2b45bfcb22cf571b6a85a12dd" + }, + { + "name": "aquasecurity:trivy:DiffID", + "value": "sha256:4098ad033525263f92a8a9c51865596025d47018e078c0b1f7d9cd5663fc1ffe" + }, + { + "name": "aquasecurity:trivy:DiffID", + "value": "sha256:648451a0dda84ad04681e32b5ecc7cd5d3a4f0ad84f783e9598d72bc69620d5c" + }, + { + "name": "aquasecurity:trivy:DiffID", + "value": "sha256:7d2d2d36795c42e5fe8826af00b9751f2d8c328005571c0ca46c1d8c06bd3007" + }, + { + "name": "aquasecurity:trivy:DiffID", + "value": "sha256:cfc5939674d67f60b4411c24dfcde5622b712eeb7376cd0941a2751da80a6b02" + }, + { + "name": "aquasecurity:trivy:DiffID", + "value": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + { + "name": "aquasecurity:trivy:DiffID", + "value": "sha256:f9b4a8a412a0c07a489e46fb5db41f9d0dc84d4ec38a4e2c6ab9531f44e0d9f1" + }, + { + "name": "aquasecurity:trivy:ImageID", + "value": "sha256:625d066416e901eaa2db5e18b96c37559b25dd91bdc3afb3d1ff5e916c7a8a3f" + }, + { + "name": "aquasecurity:trivy:Labels:org.opencontainers.image.base.digest", + "value": "sha256:763c36402c8be7cc4c1bd1a61623d1aff9116d52241877425b45a7018cc0883a" + }, + { + "name": "aquasecurity:trivy:Labels:org.opencontainers.image.revision", + "value": "uncommitted-T05-local-preparation" + }, + { + "name": "aquasecurity:trivy:Labels:social.coulomb.release.scope", + "value": "INFD-WP-0009-T05/zlib-85091-r1" + }, + { + "name": "aquasecurity:trivy:Labels:social.coulomb.source.context.sha256", + "value": "c554e62a84af340cba15d469a4568f6d0c40923e580b08ed7565e22702b1207d" + }, + { + "name": "aquasecurity:trivy:Labels:social.coulomb.source.policy.sha256", + "value": "9d7c1be4cb6199d14ef0aaead5f85951f45b0ccbd7c800a7fde922a253566b62" + }, + { + "name": "aquasecurity:trivy:Reference", + "value": "informed-decision:zlib-r1-local-20261011" + }, + { + "name": "aquasecurity:trivy:RepoTag", + "value": "informed-decision:zlib-r1-local-20261011" + }, + { + "name": "aquasecurity:trivy:SchemaVersion", + "value": "2" + }, + { + "name": "aquasecurity:trivy:Size", + "value": "89032192" + } + ] + } + }, + "components": [ + { + "bom-ref": "e38bd52f-08ed-4477-902a-c1cdf68a9c1b", + "type": "operating-system", + "name": "alpine", + "version": "3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:Class", + "value": "os-pkgs" + }, + { + "name": "aquasecurity:trivy:Type", + "value": "alpine" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/.python-rundeps@20260901.001029?arch=noarch&distro=3.24.1", + "type": "library", + "name": ".python-rundeps", + "version": "20260901.001029", + "hashes": [ + { + "alg": "SHA-1", + "content": "51d0c1e7d88a414345799f0309185c625013ef32" + } + ], + "purl": "pkg:apk/alpine/.python-rundeps@20260901.001029?arch=noarch&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": ".python-rundeps@20260901.001029" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/alpine-baselayout-data@3.7.2-r1?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Natanael Copa " + }, + "name": "alpine-baselayout-data", + "version": "3.7.2-r1", + "hashes": [ + { + "alg": "SHA-1", + "content": "c6f9bded17d844b6f1b0bb5766d2c35c0d5c8508" + } + ], + "licenses": [ + { + "license": { + "id": "GPL-2.0-only" + } + } + ], + "purl": "pkg:apk/alpine/alpine-baselayout-data@3.7.2-r1?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:55afa1ecc21d2bb5e5045f32dafee56272ffd89860bac26f6c32123439af26a4" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "alpine-baselayout-data@3.7.2-r1" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "alpine-baselayout" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "3.7.2-r1" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/alpine-baselayout@3.7.2-r1?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Natanael Copa " + }, + "name": "alpine-baselayout", + "version": "3.7.2-r1", + "hashes": [ + { + "alg": "SHA-1", + "content": "f0fcfdc2f4da058af6473bc45c4eab62916225b2" + } + ], + "licenses": [ + { + "license": { + "id": "GPL-2.0-only" + } + } + ], + "purl": "pkg:apk/alpine/alpine-baselayout@3.7.2-r1?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:55afa1ecc21d2bb5e5045f32dafee56272ffd89860bac26f6c32123439af26a4" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "alpine-baselayout@3.7.2-r1" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "alpine-baselayout" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "3.7.2-r1" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/alpine-keys@2.6-r0?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Natanael Copa " + }, + "name": "alpine-keys", + "version": "2.6-r0", + "hashes": [ + { + "alg": "SHA-1", + "content": "d8d6b80e53c059a77e4915da78ba964f3ffea240" + } + ], + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "purl": "pkg:apk/alpine/alpine-keys@2.6-r0?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:55afa1ecc21d2bb5e5045f32dafee56272ffd89860bac26f6c32123439af26a4" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "alpine-keys@2.6-r0" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "alpine-keys" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "2.6-r0" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/alpine-release@3.24.1-r0?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Natanael Copa " + }, + "name": "alpine-release", + "version": "3.24.1-r0", + "hashes": [ + { + "alg": "SHA-1", + "content": "bc6912a25cdc7733e0035ed509eceaa4026946e3" + } + ], + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "purl": "pkg:apk/alpine/alpine-release@3.24.1-r0?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:55afa1ecc21d2bb5e5045f32dafee56272ffd89860bac26f6c32123439af26a4" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "alpine-release@3.24.1-r0" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "alpine-base" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "3.24.1-r0" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/apk-tools@3.0.6-r0?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Natanael Copa " + }, + "name": "apk-tools", + "version": "3.0.6-r0", + "hashes": [ + { + "alg": "SHA-1", + "content": "043333589798a1f52e09ae63f026c6c8fa676d34" + } + ], + "licenses": [ + { + "license": { + "id": "GPL-2.0-only" + } + } + ], + "purl": "pkg:apk/alpine/apk-tools@3.0.6-r0?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:55afa1ecc21d2bb5e5045f32dafee56272ffd89860bac26f6c32123439af26a4" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "apk-tools@3.0.6-r0" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "apk-tools" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "3.0.6-r0" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/busybox-binsh@1.37.0-r31?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Sören Tempel " + }, + "name": "busybox-binsh", + "version": "1.37.0-r31", + "hashes": [ + { + "alg": "SHA-1", + "content": "5cbd14acc6f1804c5bac6c77dc2c492f010b0fc7" + } + ], + "licenses": [ + { + "license": { + "id": "GPL-2.0-only" + } + } + ], + "purl": "pkg:apk/alpine/busybox-binsh@1.37.0-r31?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:55afa1ecc21d2bb5e5045f32dafee56272ffd89860bac26f6c32123439af26a4" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "busybox-binsh@1.37.0-r31" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "busybox" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "1.37.0-r31" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/busybox@1.37.0-r31?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Sören Tempel " + }, + "name": "busybox", + "version": "1.37.0-r31", + "hashes": [ + { + "alg": "SHA-1", + "content": "b5405ebc02f7dd8be95b6265c54b243d5456ab8f" + } + ], + "licenses": [ + { + "license": { + "id": "GPL-2.0-only" + } + } + ], + "purl": "pkg:apk/alpine/busybox@1.37.0-r31?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:55afa1ecc21d2bb5e5045f32dafee56272ffd89860bac26f6c32123439af26a4" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "busybox@1.37.0-r31" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "busybox" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "1.37.0-r31" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/ca-certificates-bundle@20260611-r0?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Natanael Copa " + }, + "name": "ca-certificates-bundle", + "version": "20260611-r0", + "hashes": [ + { + "alg": "SHA-1", + "content": "c9534a03750bdfae341f10969016090fc11febbd" + } + ], + "licenses": [ + { + "license": { + "id": "MPL-2.0" + } + }, + { + "license": { + "id": "MIT" + } + } + ], + "purl": "pkg:apk/alpine/ca-certificates-bundle@20260611-r0?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:55afa1ecc21d2bb5e5045f32dafee56272ffd89860bac26f6c32123439af26a4" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "ca-certificates-bundle@20260611-r0" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "ca-certificates" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "20260611-r0" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/ca-certificates@20260611-r0?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Natanael Copa " + }, + "name": "ca-certificates", + "version": "20260611-r0", + "hashes": [ + { + "alg": "SHA-1", + "content": "8f2a04abeb54b331e2970a0a0dffb7bd6bdde567" + } + ], + "licenses": [ + { + "license": { + "id": "MPL-2.0" + } + }, + { + "license": { + "id": "MIT" + } + } + ], + "purl": "pkg:apk/alpine/ca-certificates@20260611-r0?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:3ca4be2c6e9ac0223715355253725381000486c2b45bfcb22cf571b6a85a12dd" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:47393b668ce535d06e8967917d424c177e2ecccae83856d48b2e99164f8cc6cb" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "ca-certificates@20260611-r0" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "ca-certificates" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "20260611-r0" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/gdbm@1.26-r0?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Natanael Copa " + }, + "name": "gdbm", + "version": "1.26-r0", + "hashes": [ + { + "alg": "SHA-1", + "content": "619493d8124fe49a8ee1d8f7a1372cf7e3977337" + } + ], + "licenses": [ + { + "license": { + "id": "GPL-3.0-or-later" + } + } + ], + "purl": "pkg:apk/alpine/gdbm@1.26-r0?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "gdbm@1.26-r0" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "gdbm" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "1.26-r0" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/keyutils-libs@1.6.3-r4?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Natanael Copa " + }, + "name": "keyutils-libs", + "version": "1.6.3-r4", + "hashes": [ + { + "alg": "SHA-1", + "content": "b7331c96f077fc3522ee4361a441d1097204cd90" + } + ], + "licenses": [ + { + "license": { + "id": "GPL-2.0-or-later" + } + }, + { + "license": { + "id": "LGPL-2.0-or-later" + } + } + ], + "purl": "pkg:apk/alpine/keyutils-libs@1.6.3-r4?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "keyutils-libs@1.6.3-r4" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "keyutils" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "1.6.3-r4" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/krb5-conf@1.0-r2?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Natanael Copa " + }, + "name": "krb5-conf", + "version": "1.0-r2", + "hashes": [ + { + "alg": "SHA-1", + "content": "40a11e0690a59e110367b62a80661024e9942a2d" + } + ], + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "purl": "pkg:apk/alpine/krb5-conf@1.0-r2?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "krb5-conf@1.0-r2" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "krb5-conf" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "1.0-r2" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/krb5-libs@1.22.2-r1?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Natanael Copa " + }, + "name": "krb5-libs", + "version": "1.22.2-r1", + "hashes": [ + { + "alg": "SHA-1", + "content": "ef02346e21b817ff379e4601e5b1fc9760e5e31a" + } + ], + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "purl": "pkg:apk/alpine/krb5-libs@1.22.2-r1?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "krb5-libs@1.22.2-r1" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "krb5" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "1.22.2-r1" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/libapk@3.0.6-r0?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Natanael Copa " + }, + "name": "libapk", + "version": "3.0.6-r0", + "hashes": [ + { + "alg": "SHA-1", + "content": "523a8f58104589f74f743d501c81bf6517155378" + } + ], + "licenses": [ + { + "license": { + "id": "GPL-2.0-only" + } + } + ], + "purl": "pkg:apk/alpine/libapk@3.0.6-r0?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:55afa1ecc21d2bb5e5045f32dafee56272ffd89860bac26f6c32123439af26a4" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "libapk@3.0.6-r0" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "apk-tools" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "3.0.6-r0" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/libbz2@1.0.8-r6?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Natanael Copa " + }, + "name": "libbz2", + "version": "1.0.8-r6", + "hashes": [ + { + "alg": "SHA-1", + "content": "08566ba5c7af97c25474be8b24e8b48f0116b67d" + } + ], + "licenses": [ + { + "license": { + "name": "bzip-2-1.0.6" + } + } + ], + "purl": "pkg:apk/alpine/libbz2@1.0.8-r6?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "libbz2@1.0.8-r6" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "bzip2" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "1.0.8-r6" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/libcom_err@1.47.4-r0?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Natanael Copa " + }, + "name": "libcom_err", + "version": "1.47.4-r0", + "hashes": [ + { + "alg": "SHA-1", + "content": "4b9fb5899ea0b1c0cfbb2a2c5952704437d4ecef" + } + ], + "licenses": [ + { + "license": { + "id": "GPL-2.0-or-later" + } + }, + { + "license": { + "id": "LGPL-2.0-or-later" + } + }, + { + "license": { + "id": "BSD-3-Clause" + } + }, + { + "license": { + "id": "MIT" + } + } + ], + "purl": "pkg:apk/alpine/libcom_err@1.47.4-r0?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "libcom_err@1.47.4-r0" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "e2fsprogs" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "1.47.4-r0" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/libcrypto3@3.5.8-r0?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Natanael Copa " + }, + "name": "libcrypto3", + "version": "3.5.8-r0", + "hashes": [ + { + "alg": "SHA-1", + "content": "1b3b9fc0c136f4936932bcb2ec21499f0ae5dfd3" + } + ], + "licenses": [ + { + "license": { + "id": "Apache-2.0" + } + } + ], + "purl": "pkg:apk/alpine/libcrypto3@3.5.8-r0?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "libcrypto3@3.5.8-r0" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "openssl" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "3.5.8-r0" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/libffi@3.5.2-r1?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Natanael Copa " + }, + "name": "libffi", + "version": "3.5.2-r1", + "hashes": [ + { + "alg": "SHA-1", + "content": "2f7b261f7fcecc4eebd8b330e7f6fb80713bfe3a" + } + ], + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "purl": "pkg:apk/alpine/libffi@3.5.2-r1?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "libffi@3.5.2-r1" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "libffi" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "3.5.2-r1" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/libintl@1.0-r0?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Carlo Landmeter " + }, + "name": "libintl", + "version": "1.0-r0", + "hashes": [ + { + "alg": "SHA-1", + "content": "282d6642ccac87237e43a864159d73cf5abe7550" + } + ], + "licenses": [ + { + "license": { + "id": "LGPL-2.1-or-later" + } + } + ], + "purl": "pkg:apk/alpine/libintl@1.0-r0?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "libintl@1.0-r0" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "gettext" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "1.0-r0" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/libncursesw@6.6_p20260516-r0?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Milan P. Stanić " + }, + "name": "libncursesw", + "version": "6.6_p20260516-r0", + "hashes": [ + { + "alg": "SHA-1", + "content": "9f318e6e324d6827274829194cf6ac6afbaded12" + } + ], + "licenses": [ + { + "license": { + "name": "X-11" + } + } + ], + "purl": "pkg:apk/alpine/libncursesw@6.6_p20260516-r0?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "libncursesw@6.6_p20260516-r0" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "ncurses" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "6.6_p20260516-r0" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/libnsl@2.0.1-r2?arch=x86_64&distro=3.24.1", + "type": "library", + "name": "libnsl", + "version": "2.0.1-r2", + "hashes": [ + { + "alg": "SHA-1", + "content": "5194adbf26560b52be318481a7af294ab05fd795" + } + ], + "licenses": [ + { + "license": { + "id": "LGPL-2.0-or-later" + } + } + ], + "purl": "pkg:apk/alpine/libnsl@2.0.1-r2?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "libnsl@2.0.1-r2" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "libnsl" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "2.0.1-r2" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/libpanelw@6.6_p20260516-r0?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Milan P. Stanić " + }, + "name": "libpanelw", + "version": "6.6_p20260516-r0", + "hashes": [ + { + "alg": "SHA-1", + "content": "149bdc434232ed11fc5bb975ba519a07154a6f56" + } + ], + "licenses": [ + { + "license": { + "name": "X-11" + } + } + ], + "purl": "pkg:apk/alpine/libpanelw@6.6_p20260516-r0?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "libpanelw@6.6_p20260516-r0" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "ncurses" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "6.6_p20260516-r0" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/libssl3@3.5.8-r0?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Natanael Copa " + }, + "name": "libssl3", + "version": "3.5.8-r0", + "hashes": [ + { + "alg": "SHA-1", + "content": "5f9b1e55d821953d2e2b1db322dad70a3b5041ea" + } + ], + "licenses": [ + { + "license": { + "id": "Apache-2.0" + } + } + ], + "purl": "pkg:apk/alpine/libssl3@3.5.8-r0?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "libssl3@3.5.8-r0" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "openssl" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "3.5.8-r0" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/libtirpc-conf@1.3.5-r1?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Natanael Copa " + }, + "name": "libtirpc-conf", + "version": "1.3.5-r1", + "hashes": [ + { + "alg": "SHA-1", + "content": "0c17d9988dc986c90e22f79778df047eca9973ff" + } + ], + "licenses": [ + { + "license": { + "id": "BSD-3-Clause" + } + } + ], + "purl": "pkg:apk/alpine/libtirpc-conf@1.3.5-r1?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "libtirpc-conf@1.3.5-r1" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "libtirpc" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "1.3.5-r1" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/libtirpc@1.3.5-r1?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Natanael Copa " + }, + "name": "libtirpc", + "version": "1.3.5-r1", + "hashes": [ + { + "alg": "SHA-1", + "content": "c32865bd86a8b8829d152279cabbc5ac6d430eb2" + } + ], + "licenses": [ + { + "license": { + "id": "BSD-3-Clause" + } + } + ], + "purl": "pkg:apk/alpine/libtirpc@1.3.5-r1?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "libtirpc@1.3.5-r1" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "libtirpc" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "1.3.5-r1" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/libuuid@2.42.3-r1?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Natanael Copa " + }, + "name": "libuuid", + "version": "2.42.3-r1", + "hashes": [ + { + "alg": "SHA-1", + "content": "8f041ef637ad75f381cc0c034f2afbbb0303264e" + } + ], + "licenses": [ + { + "license": { + "id": "BSD-3-Clause" + } + } + ], + "purl": "pkg:apk/alpine/libuuid@2.42.3-r1?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:f9b4a8a412a0c07a489e46fb5db41f9d0dc84d4ec38a4e2c6ab9531f44e0d9f1" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:f0fe3e08ab046c0c5e29d34ee73bc8c7e03398eb891e4498e0a67088a5ea3e86" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "libuuid@2.42.3-r1" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "util-linux" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "2.42.3-r1" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/libverto@0.3.2-r2?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Francesco Colista " + }, + "name": "libverto", + "version": "0.3.2-r2", + "hashes": [ + { + "alg": "SHA-1", + "content": "73233059338142e4ac6d8fb8bb0074e93da75dc1" + } + ], + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "purl": "pkg:apk/alpine/libverto@0.3.2-r2?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "libverto@0.3.2-r2" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "libverto" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "0.3.2-r2" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/musl-utils@1.2.6-r2?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Natanael Copa " + }, + "name": "musl-utils", + "version": "1.2.6-r2", + "hashes": [ + { + "alg": "SHA-1", + "content": "75ada3c48d63ec5d87c42fdf934a3fdd11298dc5" + } + ], + "licenses": [ + { + "license": { + "id": "MIT" + } + }, + { + "license": { + "id": "BSD-2-Clause" + } + }, + { + "license": { + "id": "GPL-2.0-or-later" + } + } + ], + "purl": "pkg:apk/alpine/musl-utils@1.2.6-r2?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:55afa1ecc21d2bb5e5045f32dafee56272ffd89860bac26f6c32123439af26a4" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "musl-utils@1.2.6-r2" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "musl" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "1.2.6-r2" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Natanael Copa " + }, + "name": "musl", + "version": "1.2.6-r2", + "hashes": [ + { + "alg": "SHA-1", + "content": "0f7e5827e4e1a73631beda27b78431a8ba240e05" + } + ], + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "purl": "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:55afa1ecc21d2bb5e5045f32dafee56272ffd89860bac26f6c32123439af26a4" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "musl@1.2.6-r2" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "musl" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "1.2.6-r2" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/ncurses-terminfo-base@6.6_p20260516-r0?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Milan P. Stanić " + }, + "name": "ncurses-terminfo-base", + "version": "6.6_p20260516-r0", + "hashes": [ + { + "alg": "SHA-1", + "content": "9d551d828e9c8ee52c5801c1d6046828ebf15752" + } + ], + "licenses": [ + { + "license": { + "name": "X-11" + } + } + ], + "purl": "pkg:apk/alpine/ncurses-terminfo-base@6.6_p20260516-r0?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "ncurses-terminfo-base@6.6_p20260516-r0" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "ncurses" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "6.6_p20260516-r0" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/readline@8.3.3-r1?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "qaqland " + }, + "name": "readline", + "version": "8.3.3-r1", + "hashes": [ + { + "alg": "SHA-1", + "content": "945b16e378bc00e44d89d4de8124bba7647fdf4d" + } + ], + "licenses": [ + { + "license": { + "id": "GPL-3.0-or-later" + } + } + ], + "purl": "pkg:apk/alpine/readline@8.3.3-r1?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "readline@8.3.3-r1" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "readline" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "8.3.3-r1" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/scanelf@1.3.9-r1?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Natanael Copa " + }, + "name": "scanelf", + "version": "1.3.9-r1", + "hashes": [ + { + "alg": "SHA-1", + "content": "013f903d0ba219673aebbdd04f74bb5ed82b01f0" + } + ], + "licenses": [ + { + "license": { + "id": "GPL-2.0-only" + } + } + ], + "purl": "pkg:apk/alpine/scanelf@1.3.9-r1?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:55afa1ecc21d2bb5e5045f32dafee56272ffd89860bac26f6c32123439af26a4" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "scanelf@1.3.9-r1" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "pax-utils" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "1.3.9-r1" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/sqlite-libs@3.53.4-r0?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Jingyun Hua " + }, + "name": "sqlite-libs", + "version": "3.53.4-r0", + "hashes": [ + { + "alg": "SHA-1", + "content": "f7630ceb37c232b6609861aeab6cdb9cd120e6fa" + } + ], + "licenses": [ + { + "license": { + "id": "blessing" + } + } + ], + "purl": "pkg:apk/alpine/sqlite-libs@3.53.4-r0?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "sqlite-libs@3.53.4-r0" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "sqlite" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "3.53.4-r0" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/ssl_client@1.37.0-r31?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Sören Tempel " + }, + "name": "ssl_client", + "version": "1.37.0-r31", + "hashes": [ + { + "alg": "SHA-1", + "content": "c220f4a5125a313af733e98def94132bb1e9d40d" + } + ], + "licenses": [ + { + "license": { + "id": "GPL-2.0-only" + } + } + ], + "purl": "pkg:apk/alpine/ssl_client@1.37.0-r31?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:55afa1ecc21d2bb5e5045f32dafee56272ffd89860bac26f6c32123439af26a4" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "ssl_client@1.37.0-r31" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "busybox" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "1.37.0-r31" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/tzdata@2026c-r0?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Natanael Copa " + }, + "name": "tzdata", + "version": "2026c-r0", + "hashes": [ + { + "alg": "SHA-1", + "content": "61f7544ecd8dd63eac23fe3e645702fda92ef02a" + } + ], + "licenses": [ + { + "license": { + "name": "Public-Domain" + } + } + ], + "purl": "pkg:apk/alpine/tzdata@2026c-r0?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:3ca4be2c6e9ac0223715355253725381000486c2b45bfcb22cf571b6a85a12dd" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:47393b668ce535d06e8967917d424c177e2ecccae83856d48b2e99164f8cc6cb" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "tzdata@2026c-r0" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "tzdata" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "2026c-r0" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/xz-libs@5.8.3-r0?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Natanael Copa " + }, + "name": "xz-libs", + "version": "5.8.3-r0", + "hashes": [ + { + "alg": "SHA-1", + "content": "4c92c5be0c5bef404e93c880eba9037a9b147347" + } + ], + "licenses": [ + { + "license": { + "id": "GPL-2.0-or-later" + } + }, + { + "license": { + "id": "0BSD" + } + }, + { + "license": { + "name": "Public-Domain" + } + }, + { + "license": { + "id": "LGPL-2.1-or-later" + } + } + ], + "purl": "pkg:apk/alpine/xz-libs@5.8.3-r0?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "xz-libs@5.8.3-r0" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "xz" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "5.8.3-r0" + } + ] + }, + { + "bom-ref": "pkg:apk/alpine/zlib@1.3.2-r1?arch=x86_64&distro=3.24.1", + "type": "library", + "supplier": { + "name": "Natanael Copa " + }, + "name": "zlib", + "version": "1.3.2-r1", + "hashes": [ + { + "alg": "SHA-1", + "content": "4f525c8cc204f84b8b4ca40db3be389958f056c6" + } + ], + "licenses": [ + { + "license": { + "id": "Zlib" + } + } + ], + "purl": "pkg:apk/alpine/zlib@1.3.2-r1?arch=x86_64&distro=3.24.1", + "properties": [ + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:264cd36fa61846dbe59ce642a36e8d738c415368e666ed0b6c680dc856e1202e" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:645872f9a17cb984e868cc31e749d9db7227a520a47e5d39cc5836f98eb2f731" + }, + { + "name": "aquasecurity:trivy:PkgID", + "value": "zlib@1.3.2-r1" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "alpine" + }, + { + "name": "aquasecurity:trivy:SrcName", + "value": "zlib" + }, + { + "name": "aquasecurity:trivy:SrcVersion", + "value": "1.3.2-r1" + } + ] + }, + { + "bom-ref": "pkg:pypi/cffi@2.1.1", + "type": "library", + "name": "cffi", + "version": "2.1.1", + "licenses": [ + { + "license": { + "id": "MIT-0" + } + } + ], + "purl": "pkg:pypi/cffi@2.1.1", + "properties": [ + { + "name": "aquasecurity:trivy:FilePath", + "value": "opt/venv/lib/python3.12/site-packages/cffi-2.1.1.dist-info/METADATA" + }, + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:648451a0dda84ad04681e32b5ecc7cd5d3a4f0ad84f783e9598d72bc69620d5c" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:82ff17b555d91096dd328eb1e829daaeba9a48d7757143d0b97c35a721f6fb87" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "python-pkg" + } + ] + }, + { + "bom-ref": "pkg:pypi/cryptography@50.0.1", + "type": "library", + "name": "cryptography", + "version": "50.0.1", + "licenses": [ + { + "expression": "Apache-2.0 OR BSD-3-Clause" + } + ], + "purl": "pkg:pypi/cryptography@50.0.1", + "properties": [ + { + "name": "aquasecurity:trivy:FilePath", + "value": "opt/venv/lib/python3.12/site-packages/cryptography-50.0.1.dist-info/METADATA" + }, + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:648451a0dda84ad04681e32b5ecc7cd5d3a4f0ad84f783e9598d72bc69620d5c" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:82ff17b555d91096dd328eb1e829daaeba9a48d7757143d0b97c35a721f6fb87" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "python-pkg" + } + ] + }, + { + "bom-ref": "pkg:pypi/informed-decision@0.2.0", + "type": "library", + "name": "informed-decision", + "version": "0.2.0", + "purl": "pkg:pypi/informed-decision@0.2.0", + "properties": [ + { + "name": "aquasecurity:trivy:FilePath", + "value": "opt/venv/lib/python3.12/site-packages/informed_decision-0.2.0.dist-info/METADATA" + }, + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:648451a0dda84ad04681e32b5ecc7cd5d3a4f0ad84f783e9598d72bc69620d5c" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:82ff17b555d91096dd328eb1e829daaeba9a48d7757143d0b97c35a721f6fb87" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "python-pkg" + } + ] + }, + { + "bom-ref": "pkg:pypi/pycparser@3.0", + "type": "library", + "name": "pycparser", + "version": "3.0", + "licenses": [ + { + "license": { + "id": "BSD-3-Clause" + } + } + ], + "purl": "pkg:pypi/pycparser@3.0", + "properties": [ + { + "name": "aquasecurity:trivy:FilePath", + "value": "opt/venv/lib/python3.12/site-packages/pycparser-3.0.dist-info/METADATA" + }, + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:648451a0dda84ad04681e32b5ecc7cd5d3a4f0ad84f783e9598d72bc69620d5c" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:82ff17b555d91096dd328eb1e829daaeba9a48d7757143d0b97c35a721f6fb87" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "python-pkg" + } + ] + }, + { + "bom-ref": "pkg:pypi/pyjwt@2.15.1", + "type": "library", + "name": "PyJWT", + "version": "2.15.1", + "licenses": [ + { + "license": { + "id": "MIT" + } + } + ], + "purl": "pkg:pypi/pyjwt@2.15.1", + "properties": [ + { + "name": "aquasecurity:trivy:FilePath", + "value": "opt/venv/lib/python3.12/site-packages/pyjwt-2.15.1.dist-info/METADATA" + }, + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:648451a0dda84ad04681e32b5ecc7cd5d3a4f0ad84f783e9598d72bc69620d5c" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:82ff17b555d91096dd328eb1e829daaeba9a48d7757143d0b97c35a721f6fb87" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "python-pkg" + } + ] + }, + { + "bom-ref": "pkg:pypi/waitress@3.0.2", + "type": "library", + "name": "waitress", + "version": "3.0.2", + "licenses": [ + { + "license": { + "id": "ZPL-2.1" + } + } + ], + "purl": "pkg:pypi/waitress@3.0.2", + "properties": [ + { + "name": "aquasecurity:trivy:FilePath", + "value": "opt/venv/lib/python3.12/site-packages/waitress-3.0.2.dist-info/METADATA" + }, + { + "name": "aquasecurity:trivy:LayerDiffID", + "value": "sha256:648451a0dda84ad04681e32b5ecc7cd5d3a4f0ad84f783e9598d72bc69620d5c" + }, + { + "name": "aquasecurity:trivy:LayerDigest", + "value": "sha256:82ff17b555d91096dd328eb1e829daaeba9a48d7757143d0b97c35a721f6fb87" + }, + { + "name": "aquasecurity:trivy:PkgType", + "value": "python-pkg" + } + ] + } + ], + "dependencies": [ + { + "ref": "826fbc25-7bf3-47dc-8757-1977ae81aac7", + "dependsOn": [ + "e38bd52f-08ed-4477-902a-c1cdf68a9c1b", + "pkg:pypi/cffi@2.1.1", + "pkg:pypi/cryptography@50.0.1", + "pkg:pypi/informed-decision@0.2.0", + "pkg:pypi/pycparser@3.0", + "pkg:pypi/pyjwt@2.15.1", + "pkg:pypi/waitress@3.0.2" + ] + }, + { + "ref": "e38bd52f-08ed-4477-902a-c1cdf68a9c1b", + "dependsOn": [ + "pkg:apk/alpine/.python-rundeps@20260901.001029?arch=noarch&distro=3.24.1", + "pkg:apk/alpine/alpine-baselayout@3.7.2-r1?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/alpine-release@3.24.1-r0?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/apk-tools@3.0.6-r0?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/ca-certificates@20260611-r0?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/musl-utils@1.2.6-r2?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/ssl_client@1.37.0-r31?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/tzdata@2026c-r0?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:apk/alpine/.python-rundeps@20260901.001029?arch=noarch&distro=3.24.1", + "dependsOn": [ + "pkg:apk/alpine/gdbm@1.26-r0?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/libbz2@1.0.8-r6?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/libcrypto3@3.5.8-r0?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/libffi@3.5.2-r1?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/libncursesw@6.6_p20260516-r0?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/libnsl@2.0.1-r2?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/libpanelw@6.6_p20260516-r0?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/libssl3@3.5.8-r0?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/libtirpc@1.3.5-r1?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/libuuid@2.42.3-r1?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/readline@8.3.3-r1?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/sqlite-libs@3.53.4-r0?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/xz-libs@5.8.3-r0?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/zlib@1.3.2-r1?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:apk/alpine/alpine-baselayout-data@3.7.2-r1?arch=x86_64&distro=3.24.1", + "dependsOn": [] + }, + { + "ref": "pkg:apk/alpine/alpine-baselayout@3.7.2-r1?arch=x86_64&distro=3.24.1", + "dependsOn": [ + "pkg:apk/alpine/alpine-baselayout-data@3.7.2-r1?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/busybox-binsh@1.37.0-r31?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:apk/alpine/alpine-keys@2.6-r0?arch=x86_64&distro=3.24.1", + "dependsOn": [] + }, + { + "ref": "pkg:apk/alpine/alpine-release@3.24.1-r0?arch=x86_64&distro=3.24.1", + "dependsOn": [ + "pkg:apk/alpine/alpine-keys@2.6-r0?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:apk/alpine/apk-tools@3.0.6-r0?arch=x86_64&distro=3.24.1", + "dependsOn": [ + "pkg:apk/alpine/ca-certificates-bundle@20260611-r0?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/libapk@3.0.6-r0?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/libcrypto3@3.5.8-r0?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/zlib@1.3.2-r1?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:apk/alpine/busybox-binsh@1.37.0-r31?arch=x86_64&distro=3.24.1", + "dependsOn": [ + "pkg:apk/alpine/busybox@1.37.0-r31?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:apk/alpine/busybox@1.37.0-r31?arch=x86_64&distro=3.24.1", + "dependsOn": [ + "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:apk/alpine/ca-certificates-bundle@20260611-r0?arch=x86_64&distro=3.24.1", + "dependsOn": [] + }, + { + "ref": "pkg:apk/alpine/ca-certificates@20260611-r0?arch=x86_64&distro=3.24.1", + "dependsOn": [ + "pkg:apk/alpine/busybox-binsh@1.37.0-r31?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/libcrypto3@3.5.8-r0?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:apk/alpine/gdbm@1.26-r0?arch=x86_64&distro=3.24.1", + "dependsOn": [ + "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:apk/alpine/keyutils-libs@1.6.3-r4?arch=x86_64&distro=3.24.1", + "dependsOn": [ + "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:apk/alpine/krb5-conf@1.0-r2?arch=x86_64&distro=3.24.1", + "dependsOn": [] + }, + { + "ref": "pkg:apk/alpine/krb5-libs@1.22.2-r1?arch=x86_64&distro=3.24.1", + "dependsOn": [ + "pkg:apk/alpine/keyutils-libs@1.6.3-r4?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/krb5-conf@1.0-r2?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/libcom_err@1.47.4-r0?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/libcrypto3@3.5.8-r0?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/libssl3@3.5.8-r0?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/libverto@0.3.2-r2?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:apk/alpine/libapk@3.0.6-r0?arch=x86_64&distro=3.24.1", + "dependsOn": [ + "pkg:apk/alpine/libcrypto3@3.5.8-r0?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/libssl3@3.5.8-r0?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/zlib@1.3.2-r1?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:apk/alpine/libbz2@1.0.8-r6?arch=x86_64&distro=3.24.1", + "dependsOn": [ + "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:apk/alpine/libcom_err@1.47.4-r0?arch=x86_64&distro=3.24.1", + "dependsOn": [ + "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:apk/alpine/libcrypto3@3.5.8-r0?arch=x86_64&distro=3.24.1", + "dependsOn": [ + "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:apk/alpine/libffi@3.5.2-r1?arch=x86_64&distro=3.24.1", + "dependsOn": [ + "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:apk/alpine/libintl@1.0-r0?arch=x86_64&distro=3.24.1", + "dependsOn": [ + "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:apk/alpine/libncursesw@6.6_p20260516-r0?arch=x86_64&distro=3.24.1", + "dependsOn": [ + "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/ncurses-terminfo-base@6.6_p20260516-r0?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:apk/alpine/libnsl@2.0.1-r2?arch=x86_64&distro=3.24.1", + "dependsOn": [ + "pkg:apk/alpine/libintl@1.0-r0?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/libtirpc@1.3.5-r1?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:apk/alpine/libpanelw@6.6_p20260516-r0?arch=x86_64&distro=3.24.1", + "dependsOn": [ + "pkg:apk/alpine/libncursesw@6.6_p20260516-r0?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/ncurses-terminfo-base@6.6_p20260516-r0?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:apk/alpine/libssl3@3.5.8-r0?arch=x86_64&distro=3.24.1", + "dependsOn": [ + "pkg:apk/alpine/libcrypto3@3.5.8-r0?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:apk/alpine/libtirpc-conf@1.3.5-r1?arch=x86_64&distro=3.24.1", + "dependsOn": [] + }, + { + "ref": "pkg:apk/alpine/libtirpc@1.3.5-r1?arch=x86_64&distro=3.24.1", + "dependsOn": [ + "pkg:apk/alpine/krb5-libs@1.22.2-r1?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/libtirpc-conf@1.3.5-r1?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:apk/alpine/libuuid@2.42.3-r1?arch=x86_64&distro=3.24.1", + "dependsOn": [ + "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:apk/alpine/libverto@0.3.2-r2?arch=x86_64&distro=3.24.1", + "dependsOn": [ + "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:apk/alpine/musl-utils@1.2.6-r2?arch=x86_64&distro=3.24.1", + "dependsOn": [ + "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/scanelf@1.3.9-r1?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1", + "dependsOn": [] + }, + { + "ref": "pkg:apk/alpine/ncurses-terminfo-base@6.6_p20260516-r0?arch=x86_64&distro=3.24.1", + "dependsOn": [] + }, + { + "ref": "pkg:apk/alpine/readline@8.3.3-r1?arch=x86_64&distro=3.24.1", + "dependsOn": [ + "pkg:apk/alpine/libncursesw@6.6_p20260516-r0?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:apk/alpine/scanelf@1.3.9-r1?arch=x86_64&distro=3.24.1", + "dependsOn": [ + "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:apk/alpine/sqlite-libs@3.53.4-r0?arch=x86_64&distro=3.24.1", + "dependsOn": [ + "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:apk/alpine/ssl_client@1.37.0-r31?arch=x86_64&distro=3.24.1", + "dependsOn": [ + "pkg:apk/alpine/libcrypto3@3.5.8-r0?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/libssl3@3.5.8-r0?arch=x86_64&distro=3.24.1", + "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:apk/alpine/tzdata@2026c-r0?arch=x86_64&distro=3.24.1", + "dependsOn": [] + }, + { + "ref": "pkg:apk/alpine/xz-libs@5.8.3-r0?arch=x86_64&distro=3.24.1", + "dependsOn": [ + "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:apk/alpine/zlib@1.3.2-r1?arch=x86_64&distro=3.24.1", + "dependsOn": [ + "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1" + ] + }, + { + "ref": "pkg:pypi/cffi@2.1.1", + "dependsOn": [] + }, + { + "ref": "pkg:pypi/cryptography@50.0.1", + "dependsOn": [] + }, + { + "ref": "pkg:pypi/informed-decision@0.2.0", + "dependsOn": [] + }, + { + "ref": "pkg:pypi/pycparser@3.0", + "dependsOn": [] + }, + { + "ref": "pkg:pypi/pyjwt@2.15.1", + "dependsOn": [] + }, + { + "ref": "pkg:pypi/waitress@3.0.2", + "dependsOn": [] + } + ], + "vulnerabilities": [] +} diff --git a/docs/evidence/2026-10-11-zlib-remediation-candidate/test_artifact_audit.py b/docs/evidence/2026-10-11-zlib-remediation-candidate/test_artifact_audit.py new file mode 100644 index 0000000..8f64c91 --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-remediation-candidate/test_artifact_audit.py @@ -0,0 +1,82 @@ +"""Synthetic artifact boundaries; never access owner/native databases.""" +from pathlib import Path +import io,json,subprocess,sys,tarfile,tempfile,unittest +CHECKER=Path(__file__).with_name('verify_local_artifacts.py') +def add(t,name,data=None,metadata=(0o755,0,0)): + m=tarfile.TarInfo(name);m.mode,m.uid,m.gid=metadata + if data is None:m.type=tarfile.DIRTYPE;t.addfile(m) + else:m.size=len(data);t.addfile(m,io.BytesIO(data)) +def archive(path,layers,ids): + with tarfile.open(path,'w') as t: + add(t,'manifest.json',json.dumps([{'Config':'config.json','Layers':[f'{i}.tar' for i in range(len(layers))]}]).encode()) + add(t,'config.json',json.dumps({'rootfs':{'diff_ids':ids},'config':{}}).encode()) + for i,data in enumerate(layers):add(t,f'{i}.tar',data) +def layer(metadata): + b=io.BytesIO() + with tarfile.open(fileobj=b,mode='w') as t:add(t,'usr',metadata=metadata) + return b.getvalue() +def fixture(root,metadata=(0o755,0,0)): + base=layer((0o755,0,0));candidate=layer(metadata) + archive(root/'base-image.tar',[base],['base']) + archive(root/'image.tar',[base,candidate,layer(metadata)],['base','overlay','cleanup']) + for name,version in [('base-sbom.cdx.json','1.3.2-r0'),('sbom.cdx.json','1.3.2-r1')]: + (root/name).write_text(json.dumps({'components':[{'name':'zlib','version':version,'purl':'pkg:apk/zlib'}]})) + for name,findings in [('base-trivy-full.json',[{'VulnerabilityID':'CVE-2026-85091','Severity':'MEDIUM'}]),('trivy-full.json',[])]: + (root/name).write_text(json.dumps({'Results':[{'Vulnerabilities':findings}]})) +class ArtifactAuditTests(unittest.TestCase): + def execute(self,root,optimize=False): + return subprocess.run([sys.executable,*(['-O'] if optimize else []),str(CHECKER),str(root)],capture_output=True,text=True) + def test_optimized_tampered_artifacts_refused_before_read(self): + with tempfile.TemporaryDirectory() as tmp: + root=Path(tmp);(root/'base-image.tar').write_bytes(b'tampered not an archive') + r=self.execute(root,True) + self.assertNotEqual(r.returncode,0);self.assertIn('REFUSED: optimized Python',r.stderr) + self.assertNotIn('ReadError',r.stderr);self.assertFalse((root/'artifact-comparison.json').exists()) + def test_matching_directory_metadata_passes(self): + with tempfile.TemporaryDirectory() as tmp: + root=Path(tmp);fixture(root);r=self.execute(root) + self.assertEqual(r.returncode,0,r.stderr) + proof=json.loads((root/'artifact-comparison.json').read_text()) + self.assertTrue(proof['directory_metadata_compared']);self.assertEqual(proof['directory_metadata_delta'],{}) + def test_directory_mode_uid_gid_drift_refuses(self): + for metadata in [(0o777,0,0),(0o755,10001,0),(0o755,0,10001)]: + with self.subTest(metadata=metadata),tempfile.TemporaryDirectory() as tmp: + root=Path(tmp);fixture(root,metadata);r=self.execute(root) + self.assertNotEqual(r.returncode,0);self.assertIn("{'usr'}",r.stderr) + self.assertFalse((root/'artifact-comparison.json').exists()) + def test_root_and_nested_whiteout_semantics(self): + # Extract only the archive reader definition: the full CLI proof is tested above. + import ast + tree=ast.parse(CHECKER.read_text());function=next(n for n in tree.body if isinstance(n,ast.FunctionDef) and n.name=='image') + namespace={'Path':Path,'tarfile':tarfile,'json':json,'hashlib':__import__('hashlib')} + exec(compile(ast.Module(body=[function],type_ignores=[]),'reader','exec'),namespace) + for marker,expected in [('.wh.usr',set()),('usr/.wh.child',{'usr'}),('usr/.wh..wh..opq',{'usr'}),('.wh..wh..opq',set())]: + with self.subTest(marker=marker),tempfile.TemporaryDirectory() as tmp: + before=io.BytesIO() + with tarfile.open(fileobj=before,mode='w') as t: + add(t,'usr');add(t,'usr/child');add(t,'usr/child/file',b'original') + after=io.BytesIO() + with tarfile.open(fileobj=after,mode='w') as t:add(t,'./'+marker,b'') + path=Path(tmp)/'image.tar';archive(path,[before.getvalue(),after.getvalue()],['base','overlay']) + _,_,files=namespace['image'](path) + self.assertEqual(set(files),expected) + def test_whiteouts_only_mask_lower_layers_in_either_order(self): + import ast + tree=ast.parse(CHECKER.read_text());function=next(n for n in tree.body if isinstance(n,ast.FunctionDef) and n.name=='image') + namespace={'Path':Path,'tarfile':tarfile,'json':json,'hashlib':__import__('hashlib')} + exec(compile(ast.Module(body=[function],type_ignores=[]),'reader','exec'),namespace) + cases=[('usr/.wh..wh..opq','usr/new',{'usr','usr/new'}),('.wh..wh..opq','new',{'new'}),('usr/.wh.child','usr/child',{'usr','usr/child'}),('.wh.usr','usr',{'usr'})] + for marker,new,expected in cases: + for marker_first in [True,False]: + with self.subTest(marker=marker,marker_first=marker_first),tempfile.TemporaryDirectory() as tmp: + before=io.BytesIO() + with tarfile.open(fileobj=before,mode='w') as t: + add(t,'usr');add(t,'usr/child');add(t,'usr/child/old',b'lower') + after=io.BytesIO() + with tarfile.open(fileobj=after,mode='w') as t: + entries=[(marker,b''),(new,b'new')] + if not marker_first:entries.reverse() + for name,data in entries:add(t,name,data) + path=Path(tmp)/'image.tar';archive(path,[before.getvalue(),after.getvalue()],['base','overlay']) + _,_,files=namespace['image'](path);self.assertEqual(set(files),expected) +if __name__=='__main__':unittest.main() diff --git a/docs/evidence/2026-10-11-zlib-remediation-candidate/trivy-full.json b/docs/evidence/2026-10-11-zlib-remediation-candidate/trivy-full.json new file mode 100644 index 0000000..2206ce4 --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-remediation-candidate/trivy-full.json @@ -0,0 +1,2394 @@ +{ + "SchemaVersion": 2, + "Trivy": { + "Version": "0.74.0" + }, + "ReportID": "01a129df-705c-7447-93b1-af5b8eaa125c", + "CreatedAt": "2026-10-11T07:31:11.580284541Z", + "ArtifactID": "sha256:b504e33e63ad77e2e103c2924d2f16f73d279b0a1ddd6affac01422524b96eb3", + "ArtifactName": "/artifact/image.tar", + "ArtifactType": "container_image", + "Metadata": { + "Size": 89032192, + "OS": { + "Family": "alpine", + "Name": "3.24.1" + }, + "ImageID": "sha256:625d066416e901eaa2db5e18b96c37559b25dd91bdc3afb3d1ff5e916c7a8a3f", + "DiffIDs": [ + "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c", + "sha256:3ca4be2c6e9ac0223715355253725381000486c2b45bfcb22cf571b6a85a12dd", + "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366", + "sha256:4098ad033525263f92a8a9c51865596025d47018e078c0b1f7d9cd5663fc1ffe", + "sha256:f9b4a8a412a0c07a489e46fb5db41f9d0dc84d4ec38a4e2c6ab9531f44e0d9f1", + "sha256:648451a0dda84ad04681e32b5ecc7cd5d3a4f0ad84f783e9598d72bc69620d5c", + "sha256:361430a1113969743b99e237b20f023d5497493bcf96fb91af99ac0a0dbc4a59", + "sha256:cfc5939674d67f60b4411c24dfcde5622b712eeb7376cd0941a2751da80a6b02", + "sha256:21ff9188cb29ca95fe9be11355f70ab5586e8499e33b52a253d953fb3b75aea3", + "sha256:7d2d2d36795c42e5fe8826af00b9751f2d8c328005571c0ca46c1d8c06bd3007", + "sha256:264cd36fa61846dbe59ce642a36e8d738c415368e666ed0b6c680dc856e1202e" + ], + "RepoTags": [ + "informed-decision:zlib-r1-local-20261011" + ], + "Reference": "informed-decision:zlib-r1-local-20261011", + "ImageConfig": { + "architecture": "amd64", + "created": "2026-10-11T09:29:32.511197114+02:00", + "history": [ + { + "created": "2026-06-16T00:01:29.967161902Z", + "created_by": "ADD alpine-minirootfs-3.24.1-x86_64.tar.gz / # buildkit", + "comment": "buildkit.dockerfile.v0" + }, + { + "created": "2026-06-16T00:01:29.967161902Z", + "created_by": "CMD [\"/bin/sh\"]", + "comment": "buildkit.dockerfile.v0", + "empty_layer": true + }, + { + "created": "2026-09-01T00:05:24.224544843Z", + "created_by": "ENV PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", + "comment": "buildkit.dockerfile.v0", + "empty_layer": true + }, + { + "created": "2026-09-01T00:05:24.224544843Z", + "created_by": "ENV LANG=C.UTF-8", + "comment": "buildkit.dockerfile.v0", + "empty_layer": true + }, + { + "created": "2026-09-01T00:05:24.224544843Z", + "created_by": "RUN /bin/sh -c set -eux; \tapk add --no-cache \t\tca-certificates \t\ttzdata \t; # buildkit", + "comment": "buildkit.dockerfile.v0" + }, + { + "created": "2026-09-01T00:05:24.224544843Z", + "created_by": "ENV GPG_KEY=7169605F62C751356D054A26A821E680E5FA6305", + "comment": "buildkit.dockerfile.v0", + "empty_layer": true + }, + { + "created": "2026-09-01T00:05:24.224544843Z", + "created_by": "ENV PYTHON_VERSION=3.12.14", + "comment": "buildkit.dockerfile.v0", + "empty_layer": true + }, + { + "created": "2026-09-01T00:05:24.224544843Z", + "created_by": "ENV PYTHON_SHA256=5c8462af5790baf43a321a1559dbe0db06d1be4300fb85fb53c40060668e548a", + "comment": "buildkit.dockerfile.v0", + "empty_layer": true + }, + { + "created": "2026-09-01T00:10:30.672225972Z", + "created_by": "RUN /bin/sh -c set -eux; \t\tapk add --no-cache --virtual .build-deps \t\tbluez-dev \t\tbzip2-dev \t\tdpkg-dev dpkg \t\tfindutils \t\tg++ \t\tgcc \t\tgdbm-dev \t\tgnupg \t\tlibc-dev \t\tlibffi-dev \t\tlibnsl-dev \t\tlibtirpc-dev \t\tlinux-headers \t\tmake \t\tncurses-dev \t\topenssl-dev \t\tpax-utils \t\treadline-dev \t\tsqlite-dev \t\ttar \t\ttcl-dev \t\ttk \t\ttk-dev \t\tutil-linux-dev \t\txz \t\txz-dev \t\tzlib-dev \t; \t\twget -O python.tar.xz \"https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz\"; \techo \"$PYTHON_SHA256 *python.tar.xz\" | sha256sum -c -; \twget -O python.tar.xz.asc \"https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz.asc\"; \tGNUPGHOME=\"$(mktemp -d)\"; export GNUPGHOME; \tgpg --batch --keyserver hkps://keys.openpgp.org --recv-keys \"$GPG_KEY\"; \tgpg --batch --verify python.tar.xz.asc python.tar.xz; \tgpgconf --kill all; \trm -rf \"$GNUPGHOME\" python.tar.xz.asc; \tmkdir -p /usr/src/python; \ttar --extract --directory /usr/src/python --strip-components=1 --file python.tar.xz; \trm python.tar.xz; \t\tcd /usr/src/python; \tgnuArch=\"$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)\"; \t./configure \t\t--build=\"$gnuArch\" \t\t--enable-loadable-sqlite-extensions \t\t--enable-option-checking=fatal \t\t--enable-shared \t\t$(test \"${gnuArch%%-*}\" != 'riscv64' \u0026\u0026 echo '--with-lto') \t\t--with-ensurepip \t; \tnproc=\"$(nproc)\"; \tEXTRA_CFLAGS=\"-DTHREAD_STACK_SIZE=0x100000\"; \tLDFLAGS=\"${LDFLAGS:-} -Wl,--strip-all\"; \tarch=\"$(apk --print-arch)\"; \tcase \"$arch\" in \t\tx86_64|aarch64) \t\t\tEXTRA_CFLAGS=\"${EXTRA_CFLAGS:-} -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer\"; \t\t\t;; \t\tx86) \t\t\t;; \t\t*) \t\t\tEXTRA_CFLAGS=\"${EXTRA_CFLAGS:-} -fno-omit-frame-pointer\"; \t\t\t;; \tesac; \tmake -j \"$nproc\" \t\t\"EXTRA_CFLAGS=${EXTRA_CFLAGS:-}\" \t\t\"LDFLAGS=${LDFLAGS:-}\" \t; \trm python; \tmake -j \"$nproc\" \t\t\"EXTRA_CFLAGS=${EXTRA_CFLAGS:-}\" \t\t\"LDFLAGS=${LDFLAGS:-} -Wl,-rpath='\\$\\$ORIGIN/../lib'\" \t\tpython \t; \tmake install; \t\tcd /; \trm -rf /usr/src/python; \t\tfind /usr/local -depth \t\t\\( \t\t\t\\( -type d -a \\( -name test -o -name tests -o -name idle_test \\) \\) \t\t\t-o \\( -type f -a \\( -name '*.pyc' -o -name '*.pyo' -o -name 'libpython*.a' \\) \\) \t\t\\) -exec rm -rf '{}' + \t; \t\tfind /usr/local -type f -executable -not \\( -name '*tkinter*' \\) -exec scanelf --needed --nobanner --format '%n#p' '{}' ';' \t\t| tr ',' '\\n' \t\t| sort -u \t\t| awk 'system(\"[ -e /usr/local/lib/\" $1 \" ]\") == 0 { next } { print \"so:\" $1 }' \t\t| xargs -rt apk add --no-network --virtual .python-rundeps \t; \tapk del --no-network .build-deps; \t\texport PYTHONDONTWRITEBYTECODE=1; \tpython3 --version; \tpip3 --version # buildkit", + "comment": "buildkit.dockerfile.v0" + }, + { + "created": "2026-09-01T00:10:30.782726003Z", + "created_by": "RUN /bin/sh -c set -eux; \tfor src in idle3 pip3 pydoc3 python3 python3-config; do \t\tdst=\"$(echo \"$src\" | tr -d 3)\"; \t\t[ -s \"/usr/local/bin/$src\" ]; \t\t[ ! -e \"/usr/local/bin/$dst\" ]; \t\tln -svT \"$src\" \"/usr/local/bin/$dst\"; \tdone # buildkit", + "comment": "buildkit.dockerfile.v0" + }, + { + "created": "2026-09-01T00:10:30.782726003Z", + "created_by": "CMD [\"python3\"]", + "comment": "buildkit.dockerfile.v0", + "empty_layer": true + }, + { + "created": "2026-09-11T00:49:47.962156876+02:00", + "created_by": "ENV PYTHONDONTWRITEBYTECODE=1 PYTHONUNBUFFERED=1 PATH=/opt/venv/bin:/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", + "comment": "buildkit.dockerfile.v0", + "empty_layer": true + }, + { + "created": "2026-09-11T00:49:47.962156876+02:00", + "created_by": "RUN /bin/sh -c apk add --no-cache 'libuuid\u003e=2.42.3-r1' \u0026\u0026 addgroup -S -g 10001 informed \u0026\u0026 adduser -S -u 10001 -G informed -H informed # buildkit", + "comment": "buildkit.dockerfile.v0" + }, + { + "created": "2026-10-05T01:03:55.351944978+02:00", + "created_by": "COPY /opt/venv /opt/venv # buildkit", + "comment": "buildkit.dockerfile.v0" + }, + { + "created": "2026-10-05T01:03:56.462092072+02:00", + "created_by": "RUN /bin/sh -c rm -rf /usr/local/bin/pip* /usr/local/lib/python3.12/site-packages/pip* /usr/local/lib/python3.12/site-packages/setuptools* /usr/local/lib/python3.12/site-packages/pkg_resources /opt/venv/bin/pip* /opt/venv/lib/python3.12/site-packages/pip* /opt/venv/lib/python3.12/site-packages/setuptools* /opt/venv/lib/python3.12/site-packages/pkg_resources # buildkit", + "comment": "buildkit.dockerfile.v0" + }, + { + "created": "2026-10-05T01:03:56.675216821+02:00", + "created_by": "WORKDIR /app", + "comment": "buildkit.dockerfile.v0" + }, + { + "created": "2026-10-05T01:03:56.675216821+02:00", + "created_by": "USER 10001:10001", + "comment": "buildkit.dockerfile.v0", + "empty_layer": true + }, + { + "created": "2026-10-05T01:03:56.675216821+02:00", + "created_by": "EXPOSE [8080/tcp 8081/tcp]", + "comment": "buildkit.dockerfile.v0", + "empty_layer": true + }, + { + "created": "2026-10-05T01:03:56.675216821+02:00", + "created_by": "ENTRYPOINT [\"informed-decision-container\"]", + "comment": "buildkit.dockerfile.v0", + "empty_layer": true + }, + { + "created": "2026-10-11T01:15:11.991443676Z", + "created_by": "/bin/sh -c #(nop) ARG SOURCE_REVISION", + "empty_layer": true + }, + { + "created": "2026-10-11T01:21:04.716126392Z", + "created_by": "/bin/sh -c #(nop) LABEL org.opencontainers.image.revision=3e4bcb26f8eeaa8c64345c565477b5ac8ccbb168 org.opencontainers.image.base.digest=sha256:7f5c6cb29c9f70a026bfe30e72934274ddc69261676cf6d476f81dd32812d173 social.coulomb.source.policy.sha256=9d7c1be4cb6199d14ef0aaead5f85951f45b0ccbd7c800a7fde922a253566b62 social.coulomb.release.scope=INFD-WP-0009-T04/purpose-overlay-v1", + "empty_layer": true + }, + { + "created": "2026-10-11T01:21:04.787527697Z", + "created_by": "/bin/sh -c #(nop) COPY file:2be9cb36e7253e15733673359cda8caa22986b6888822a008c1b360d909994e0 in /opt/venv/lib/python3.12/site-packages/informed_decision/policy.py " + }, + { + "created": "2026-10-11T09:23:35.324082353+02:00", + "created_by": "/bin/sh -c #(nop) ARG SOURCE_REVISION=uncommitted-T05-local-preparation", + "empty_layer": true + }, + { + "created": "2026-10-11T09:23:36.10318027+02:00", + "created_by": "/bin/sh -c #(nop) ARG SOURCE_CONTEXT_SHA256", + "empty_layer": true + }, + { + "created": "2026-10-11T09:23:36.876646839+02:00", + "created_by": "/bin/sh -c #(nop) USER 0:0", + "empty_layer": true + }, + { + "created": "2026-10-11T07:23:37.652390037Z", + "created_by": "/bin/sh -c #(nop) COPY multi:e4d183fdf93ea6320911bb7398e4860a1b9b96fe0768cfd3d0260955517dd272 in /tmp/infd-zlib/x86_64/ " + }, + { + "created": "2026-10-11T09:29:30.865525337+02:00", + "created_by": "|2 SOURCE_CONTEXT_SHA256=c554e62a84af340cba15d469a4568f6d0c40923e580b08ed7565e22702b1207d SOURCE_REVISION=uncommitted-T05-local-preparation /bin/sh -c echo '63aeea03c15a2f9018f81805cfc8aa926bdf5cd68921f22149c2fbb5d0ee9f47 /tmp/infd-zlib/x86_64/zlib-1.3.2-r1.apk' | sha256sum -c - \u0026\u0026 echo '24fc2ccb08f3125429a38b31bd6c76a7b394c6236df0975760dc8259e50dfbd5 /tmp/infd-zlib/x86_64/APKINDEX.tar.gz' | sha256sum -c - \u0026\u0026 apk verify /tmp/infd-zlib/x86_64/zlib-1.3.2-r1.apk /tmp/infd-zlib/x86_64/APKINDEX.tar.gz \u0026\u0026 apk upgrade --no-logfile --no-network --no-cache --no-preupgrade --repositories-file /dev/null --repository /tmp/infd-zlib zlib \u0026\u0026 apk info --exists 'zlib=1.3.2-r1' \u0026\u0026 rm -rf /tmp/infd-zlib" + }, + { + "created": "2026-10-11T09:29:31.735346534+02:00", + "created_by": "/bin/sh -c #(nop) USER 10001:10001", + "empty_layer": true + }, + { + "created": "2026-10-11T09:29:32.511197114+02:00", + "created_by": "/bin/sh -c #(nop) LABEL org.opencontainers.image.revision=uncommitted-T05-local-preparation org.opencontainers.image.base.digest=sha256:763c36402c8be7cc4c1bd1a61623d1aff9116d52241877425b45a7018cc0883a social.coulomb.source.context.sha256=c554e62a84af340cba15d469a4568f6d0c40923e580b08ed7565e22702b1207d social.coulomb.source.policy.sha256=9d7c1be4cb6199d14ef0aaead5f85951f45b0ccbd7c800a7fde922a253566b62 social.coulomb.release.scope=INFD-WP-0009-T05/zlib-85091-r1", + "empty_layer": true + } + ], + "os": "linux", + "rootfs": { + "type": "layers", + "diff_ids": [ + "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c", + "sha256:3ca4be2c6e9ac0223715355253725381000486c2b45bfcb22cf571b6a85a12dd", + "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366", + "sha256:4098ad033525263f92a8a9c51865596025d47018e078c0b1f7d9cd5663fc1ffe", + "sha256:f9b4a8a412a0c07a489e46fb5db41f9d0dc84d4ec38a4e2c6ab9531f44e0d9f1", + "sha256:648451a0dda84ad04681e32b5ecc7cd5d3a4f0ad84f783e9598d72bc69620d5c", + "sha256:361430a1113969743b99e237b20f023d5497493bcf96fb91af99ac0a0dbc4a59", + "sha256:cfc5939674d67f60b4411c24dfcde5622b712eeb7376cd0941a2751da80a6b02", + "sha256:21ff9188cb29ca95fe9be11355f70ab5586e8499e33b52a253d953fb3b75aea3", + "sha256:7d2d2d36795c42e5fe8826af00b9751f2d8c328005571c0ca46c1d8c06bd3007", + "sha256:264cd36fa61846dbe59ce642a36e8d738c415368e666ed0b6c680dc856e1202e" + ] + }, + "config": { + "Entrypoint": [ + "informed-decision-container" + ], + "Env": [ + "PATH=/opt/venv/bin:/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", + "LANG=C.UTF-8", + "GPG_KEY=7169605F62C751356D054A26A821E680E5FA6305", + "PYTHON_VERSION=3.12.14", + "PYTHON_SHA256=5c8462af5790baf43a321a1559dbe0db06d1be4300fb85fb53c40060668e548a", + "PYTHONDONTWRITEBYTECODE=1", + "PYTHONUNBUFFERED=1" + ], + "Labels": { + "org.opencontainers.image.base.digest": "sha256:763c36402c8be7cc4c1bd1a61623d1aff9116d52241877425b45a7018cc0883a", + "org.opencontainers.image.revision": "uncommitted-T05-local-preparation", + "social.coulomb.release.scope": "INFD-WP-0009-T05/zlib-85091-r1", + "social.coulomb.source.context.sha256": "c554e62a84af340cba15d469a4568f6d0c40923e580b08ed7565e22702b1207d", + "social.coulomb.source.policy.sha256": "9d7c1be4cb6199d14ef0aaead5f85951f45b0ccbd7c800a7fde922a253566b62" + }, + "User": "10001:10001", + "WorkingDir": "/app", + "ExposedPorts": { + "8080/tcp": {}, + "8081/tcp": {} + } + } + }, + "Layers": [ + { + "Size": 8697856, + "Digest": "sha256:55afa1ecc21d2bb5e5045f32dafee56272ffd89860bac26f6c32123439af26a4", + "DiffID": "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c" + }, + { + "Size": 1538048, + "Digest": "sha256:47393b668ce535d06e8967917d424c177e2ecccae83856d48b2e99164f8cc6cb", + "DiffID": "sha256:3ca4be2c6e9ac0223715355253725381000486c2b45bfcb22cf571b6a85a12dd" + }, + { + "Size": 47150592, + "Digest": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235", + "DiffID": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + { + "Size": 5120, + "Digest": "sha256:ed62c91ccd94e36a928e96d704cfcf20861302590245cc12aa89a15a5d6be29b", + "DiffID": "sha256:4098ad033525263f92a8a9c51865596025d47018e078c0b1f7d9cd5663fc1ffe" + }, + { + "Size": 131584, + "Digest": "sha256:f0fe3e08ab046c0c5e29d34ee73bc8c7e03398eb891e4498e0a67088a5ea3e86", + "DiffID": "sha256:f9b4a8a412a0c07a489e46fb5db41f9d0dc84d4ec38a4e2c6ab9531f44e0d9f1" + }, + { + "Size": 30705664, + "Digest": "sha256:82ff17b555d91096dd328eb1e829daaeba9a48d7757143d0b97c35a721f6fb87", + "DiffID": "sha256:648451a0dda84ad04681e32b5ecc7cd5d3a4f0ad84f783e9598d72bc69620d5c" + }, + { + "Size": 12288, + "Digest": "sha256:16a3dba6b720d3059eab918cd3596f94145ac9cf4d456f925a21f0f72522863f", + "DiffID": "sha256:361430a1113969743b99e237b20f023d5497493bcf96fb91af99ac0a0dbc4a59" + }, + { + "Size": 1536, + "Digest": "sha256:e73dd464fbff5607cc62a1b2b66b0eefe737dfad4db8e7b58a48cda7c12d94d3", + "DiffID": "sha256:cfc5939674d67f60b4411c24dfcde5622b712eeb7376cd0941a2751da80a6b02" + }, + { + "Size": 15360, + "Digest": "sha256:cfee29c2f8119d2a39714ecbe5095a2dc1c986054f2e1fe0a6565163242417e3", + "DiffID": "sha256:21ff9188cb29ca95fe9be11355f70ab5586e8499e33b52a253d953fb3b75aea3" + }, + { + "Size": 588288, + "Digest": "sha256:aa48f13a5258c67abfc00447e2ca2490ee838e166e83bfe7a8b7bb2bf2ee2466", + "DiffID": "sha256:7d2d2d36795c42e5fe8826af00b9751f2d8c328005571c0ca46c1d8c06bd3007" + }, + { + "Size": 185856, + "Digest": "sha256:645872f9a17cb984e868cc31e749d9db7227a520a47e5d39cc5836f98eb2f731", + "DiffID": "sha256:264cd36fa61846dbe59ce642a36e8d738c415368e666ed0b6c680dc856e1202e" + } + ] + }, + "Results": [ + { + "Target": "/artifact/image.tar (alpine 3.24.1)", + "Class": "os-pkgs", + "Type": "alpine", + "Packages": [ + { + "ID": ".python-rundeps@20260901.001029", + "Name": ".python-rundeps", + "Identifier": { + "PURL": "pkg:apk/alpine/.python-rundeps@20260901.001029?arch=noarch\u0026distro=3.24.1", + "UID": "62fa84f88695c077" + }, + "Version": "20260901.001029", + "Arch": "noarch", + "DependsOn": [ + "gdbm@1.26-r0", + "libbz2@1.0.8-r6", + "libcrypto3@3.5.8-r0", + "libffi@3.5.2-r1", + "libncursesw@6.6_p20260516-r0", + "libnsl@2.0.1-r2", + "libpanelw@6.6_p20260516-r0", + "libssl3@3.5.8-r0", + "libtirpc@1.3.5-r1", + "libuuid@2.42.3-r1", + "musl@1.2.6-r2", + "readline@8.3.3-r1", + "sqlite-libs@3.53.4-r0", + "xz-libs@5.8.3-r0", + "zlib@1.3.2-r1" + ], + "Layer": { + "Digest": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235", + "DiffID": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + "Digest": "sha1:51d0c1e7d88a414345799f0309185c625013ef32", + "AnalyzedBy": "apk" + }, + { + "ID": "alpine-baselayout@3.7.2-r1", + "Name": "alpine-baselayout", + "Identifier": { + "PURL": "pkg:apk/alpine/alpine-baselayout@3.7.2-r1?arch=x86_64\u0026distro=3.24.1", + "UID": "1b9c543300f8073e" + }, + "Version": "3.7.2-r1", + "Arch": "x86_64", + "SrcName": "alpine-baselayout", + "SrcVersion": "3.7.2-r1", + "Licenses": [ + "GPL-2.0-only" + ], + "Maintainer": "Natanael Copa \u003cncopa@alpinelinux.org\u003e", + "DependsOn": [ + "alpine-baselayout-data@3.7.2-r1", + "busybox-binsh@1.37.0-r31" + ], + "Layer": { + "Digest": "sha256:55afa1ecc21d2bb5e5045f32dafee56272ffd89860bac26f6c32123439af26a4", + "DiffID": "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c" + }, + "Digest": "sha1:f0fcfdc2f4da058af6473bc45c4eab62916225b2", + "InstalledFiles": [ + "etc/motd", + "etc/crontabs/root", + "etc/modprobe.d/aliases.conf", + "etc/modprobe.d/blacklist.conf", + "etc/modprobe.d/i386.conf", + "etc/profile.d/20locale.sh", + "etc/profile.d/README", + "etc/profile.d/color_prompt.sh.disabled", + "usr/lib/sysctl.d/00-alpine.conf", + "var/lock", + "var/run", + "var/spool/mail", + "var/spool/cron/crontabs" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "alpine-baselayout-data@3.7.2-r1", + "Name": "alpine-baselayout-data", + "Identifier": { + "PURL": "pkg:apk/alpine/alpine-baselayout-data@3.7.2-r1?arch=x86_64\u0026distro=3.24.1", + "UID": "fcc3cd90122d8aa7" + }, + "Version": "3.7.2-r1", + "Arch": "x86_64", + "SrcName": "alpine-baselayout", + "SrcVersion": "3.7.2-r1", + "Licenses": [ + "GPL-2.0-only" + ], + "Maintainer": "Natanael Copa \u003cncopa@alpinelinux.org\u003e", + "Layer": { + "Digest": "sha256:55afa1ecc21d2bb5e5045f32dafee56272ffd89860bac26f6c32123439af26a4", + "DiffID": "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c" + }, + "Digest": "sha1:c6f9bded17d844b6f1b0bb5766d2c35c0d5c8508", + "InstalledFiles": [ + "etc/fstab", + "etc/group", + "etc/hostname", + "etc/hosts", + "etc/inittab", + "etc/modules", + "etc/mtab", + "etc/nsswitch.conf", + "etc/passwd", + "etc/profile", + "etc/protocols", + "etc/services", + "etc/shadow", + "etc/shells", + "etc/sysctl.conf" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "alpine-keys@2.6-r0", + "Name": "alpine-keys", + "Identifier": { + "PURL": "pkg:apk/alpine/alpine-keys@2.6-r0?arch=x86_64\u0026distro=3.24.1", + "UID": "cb1f6c8fa74713e0" + }, + "Version": "2.6-r0", + "Arch": "x86_64", + "SrcName": "alpine-keys", + "SrcVersion": "2.6-r0", + "Licenses": [ + "MIT" + ], + "Maintainer": "Natanael Copa \u003cncopa@alpinelinux.org\u003e", + "Layer": { + "Digest": "sha256:55afa1ecc21d2bb5e5045f32dafee56272ffd89860bac26f6c32123439af26a4", + "DiffID": "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c" + }, + "Digest": "sha1:d8d6b80e53c059a77e4915da78ba964f3ffea240", + "InstalledFiles": [ + "etc/apk/keys/alpine-devel@lists.alpinelinux.org-4a6a0840.rsa.pub", + "etc/apk/keys/alpine-devel@lists.alpinelinux.org-5261cecb.rsa.pub", + "etc/apk/keys/alpine-devel@lists.alpinelinux.org-6165ee59.rsa.pub", + "usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-4a6a0840.rsa.pub", + "usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-5243ef4b.rsa.pub", + "usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-524d27bb.rsa.pub", + "usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-5261cecb.rsa.pub", + "usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-58199dcc.rsa.pub", + "usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-58cbb476.rsa.pub", + "usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-58e4f17d.rsa.pub", + "usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-5e69ca50.rsa.pub", + "usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-60ac2099.rsa.pub", + "usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-6165ee59.rsa.pub", + "usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-61666e3f.rsa.pub", + "usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-616a9724.rsa.pub", + "usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-616abc23.rsa.pub", + "usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-616ac3bc.rsa.pub", + "usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-616adfeb.rsa.pub", + "usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-616ae350.rsa.pub", + "usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-616db30d.rsa.pub", + "usr/share/apk/keys/alpine-devel@lists.alpinelinux.org-66ba20fe.rsa.pub", + "usr/share/apk/keys/aarch64/alpine-devel@lists.alpinelinux.org-58199dcc.rsa.pub", + "usr/share/apk/keys/aarch64/alpine-devel@lists.alpinelinux.org-616ae350.rsa.pub", + "usr/share/apk/keys/armhf/alpine-devel@lists.alpinelinux.org-524d27bb.rsa.pub", + "usr/share/apk/keys/armhf/alpine-devel@lists.alpinelinux.org-616a9724.rsa.pub", + "usr/share/apk/keys/armv7/alpine-devel@lists.alpinelinux.org-524d27bb.rsa.pub", + "usr/share/apk/keys/armv7/alpine-devel@lists.alpinelinux.org-616adfeb.rsa.pub", + "usr/share/apk/keys/loongarch64/alpine-devel@lists.alpinelinux.org-66ba20fe.rsa.pub", + "usr/share/apk/keys/mips64/alpine-devel@lists.alpinelinux.org-5e69ca50.rsa.pub", + "usr/share/apk/keys/ppc64le/alpine-devel@lists.alpinelinux.org-58cbb476.rsa.pub", + "usr/share/apk/keys/ppc64le/alpine-devel@lists.alpinelinux.org-616abc23.rsa.pub", + "usr/share/apk/keys/riscv64/alpine-devel@lists.alpinelinux.org-60ac2099.rsa.pub", + "usr/share/apk/keys/riscv64/alpine-devel@lists.alpinelinux.org-616db30d.rsa.pub", + "usr/share/apk/keys/s390x/alpine-devel@lists.alpinelinux.org-58e4f17d.rsa.pub", + "usr/share/apk/keys/s390x/alpine-devel@lists.alpinelinux.org-616ac3bc.rsa.pub", + "usr/share/apk/keys/x86/alpine-devel@lists.alpinelinux.org-4a6a0840.rsa.pub", + "usr/share/apk/keys/x86/alpine-devel@lists.alpinelinux.org-5243ef4b.rsa.pub", + "usr/share/apk/keys/x86/alpine-devel@lists.alpinelinux.org-61666e3f.rsa.pub", + "usr/share/apk/keys/x86_64/alpine-devel@lists.alpinelinux.org-4a6a0840.rsa.pub", + "usr/share/apk/keys/x86_64/alpine-devel@lists.alpinelinux.org-5261cecb.rsa.pub", + "usr/share/apk/keys/x86_64/alpine-devel@lists.alpinelinux.org-6165ee59.rsa.pub" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "alpine-release@3.24.1-r0", + "Name": "alpine-release", + "Identifier": { + "PURL": "pkg:apk/alpine/alpine-release@3.24.1-r0?arch=x86_64\u0026distro=3.24.1", + "UID": "6cfad6f36e1f31aa" + }, + "Version": "3.24.1-r0", + "Arch": "x86_64", + "SrcName": "alpine-base", + "SrcVersion": "3.24.1-r0", + "Licenses": [ + "MIT" + ], + "Maintainer": "Natanael Copa \u003cncopa@alpinelinux.org\u003e", + "DependsOn": [ + "alpine-keys@2.6-r0" + ], + "Layer": { + "Digest": "sha256:55afa1ecc21d2bb5e5045f32dafee56272ffd89860bac26f6c32123439af26a4", + "DiffID": "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c" + }, + "Digest": "sha1:bc6912a25cdc7733e0035ed509eceaa4026946e3", + "InstalledFiles": [ + "etc/alpine-release", + "etc/issue", + "etc/os-release", + "etc/secfixes.d/alpine", + "usr/lib/os-release" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "apk-tools@3.0.6-r0", + "Name": "apk-tools", + "Identifier": { + "PURL": "pkg:apk/alpine/apk-tools@3.0.6-r0?arch=x86_64\u0026distro=3.24.1", + "UID": "b37730591f24ae44" + }, + "Version": "3.0.6-r0", + "Arch": "x86_64", + "SrcName": "apk-tools", + "SrcVersion": "3.0.6-r0", + "Licenses": [ + "GPL-2.0-only" + ], + "Maintainer": "Natanael Copa \u003cncopa@alpinelinux.org\u003e", + "DependsOn": [ + "ca-certificates-bundle@20260611-r0", + "libapk@3.0.6-r0", + "libcrypto3@3.5.8-r0", + "musl@1.2.6-r2", + "zlib@1.3.2-r1" + ], + "Layer": { + "Digest": "sha256:55afa1ecc21d2bb5e5045f32dafee56272ffd89860bac26f6c32123439af26a4", + "DiffID": "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c" + }, + "Digest": "sha1:043333589798a1f52e09ae63f026c6c8fa676d34", + "InstalledFiles": [ + "sbin/apk" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "busybox@1.37.0-r31", + "Name": "busybox", + "Identifier": { + "PURL": "pkg:apk/alpine/busybox@1.37.0-r31?arch=x86_64\u0026distro=3.24.1", + "UID": "771020c43c8440bf" + }, + "Version": "1.37.0-r31", + "Arch": "x86_64", + "SrcName": "busybox", + "SrcVersion": "1.37.0-r31", + "Licenses": [ + "GPL-2.0-only" + ], + "Maintainer": "Sören Tempel \u003csoeren+alpine@soeren-tempel.net\u003e", + "DependsOn": [ + "musl@1.2.6-r2" + ], + "Layer": { + "Digest": "sha256:55afa1ecc21d2bb5e5045f32dafee56272ffd89860bac26f6c32123439af26a4", + "DiffID": "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c" + }, + "Digest": "sha1:b5405ebc02f7dd8be95b6265c54b243d5456ab8f", + "InstalledFiles": [ + "bin/busybox", + "etc/securetty", + "etc/busybox-paths.d/busybox", + "etc/logrotate.d/acpid", + "etc/network/if-up.d/dad", + "etc/udhcpc/udhcpc.conf", + "usr/share/udhcpc/default.script" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "busybox-binsh@1.37.0-r31", + "Name": "busybox-binsh", + "Identifier": { + "PURL": "pkg:apk/alpine/busybox-binsh@1.37.0-r31?arch=x86_64\u0026distro=3.24.1", + "UID": "1ec8a3d5d2b63297" + }, + "Version": "1.37.0-r31", + "Arch": "x86_64", + "SrcName": "busybox", + "SrcVersion": "1.37.0-r31", + "Licenses": [ + "GPL-2.0-only" + ], + "Maintainer": "Sören Tempel \u003csoeren+alpine@soeren-tempel.net\u003e", + "DependsOn": [ + "busybox@1.37.0-r31" + ], + "Layer": { + "Digest": "sha256:55afa1ecc21d2bb5e5045f32dafee56272ffd89860bac26f6c32123439af26a4", + "DiffID": "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c" + }, + "Digest": "sha1:5cbd14acc6f1804c5bac6c77dc2c492f010b0fc7", + "InstalledFiles": [ + "bin/sh" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "ca-certificates@20260611-r0", + "Name": "ca-certificates", + "Identifier": { + "PURL": "pkg:apk/alpine/ca-certificates@20260611-r0?arch=x86_64\u0026distro=3.24.1", + "UID": "2a3c316ee83c6198" + }, + "Version": "20260611-r0", + "Arch": "x86_64", + "SrcName": "ca-certificates", + "SrcVersion": "20260611-r0", + "Licenses": [ + "MPL-2.0", + "MIT" + ], + "Maintainer": "Natanael Copa \u003cncopa@alpinelinux.org\u003e", + "DependsOn": [ + "busybox-binsh@1.37.0-r31", + "libcrypto3@3.5.8-r0", + "musl@1.2.6-r2" + ], + "Layer": { + "Digest": "sha256:47393b668ce535d06e8967917d424c177e2ecccae83856d48b2e99164f8cc6cb", + "DiffID": "sha256:3ca4be2c6e9ac0223715355253725381000486c2b45bfcb22cf571b6a85a12dd" + }, + "Digest": "sha1:8f2a04abeb54b331e2970a0a0dffb7bd6bdde567", + "InstalledFiles": [ + "etc/ca-certificates.conf", + "etc/apk/protected_paths.d/ca-certificates.list", + "etc/ca-certificates/update.d/certhash", + "usr/bin/c_rehash", + "usr/sbin/update-ca-certificates", + "usr/share/ca-certificates/mozilla/ACCVRAIZ1.crt", + "usr/share/ca-certificates/mozilla/AC_RAIZ_FNMT-RCM.crt", + "usr/share/ca-certificates/mozilla/AC_RAIZ_FNMT-RCM_SERVIDORES_SEGUROS.crt", + "usr/share/ca-certificates/mozilla/ANF_Secure_Server_Root_CA.crt", + "usr/share/ca-certificates/mozilla/Actalis_Authentication_Root_CA.crt", + "usr/share/ca-certificates/mozilla/Amazon_Root_CA_1.crt", + "usr/share/ca-certificates/mozilla/Amazon_Root_CA_2.crt", + "usr/share/ca-certificates/mozilla/Amazon_Root_CA_3.crt", + "usr/share/ca-certificates/mozilla/Amazon_Root_CA_4.crt", + "usr/share/ca-certificates/mozilla/Atos_TrustedRoot_2011.crt", + "usr/share/ca-certificates/mozilla/Atos_TrustedRoot_Root_CA_ECC_TLS_2021.crt", + "usr/share/ca-certificates/mozilla/Atos_TrustedRoot_Root_CA_RSA_TLS_2021.crt", + "usr/share/ca-certificates/mozilla/Autoridad_de_Certificacion_Firmaprofesional_CIF_A62634068.crt", + "usr/share/ca-certificates/mozilla/BJCA_Global_Root_CA1.crt", + "usr/share/ca-certificates/mozilla/BJCA_Global_Root_CA2.crt", + "usr/share/ca-certificates/mozilla/Buypass_Class_2_Root_CA.crt", + "usr/share/ca-certificates/mozilla/Buypass_Class_3_Root_CA.crt", + "usr/share/ca-certificates/mozilla/CA_Disig_Root_R2.crt", + "usr/share/ca-certificates/mozilla/CFCA_EV_ROOT.crt", + "usr/share/ca-certificates/mozilla/COMODO_ECC_Certification_Authority.crt", + "usr/share/ca-certificates/mozilla/COMODO_RSA_Certification_Authority.crt", + "usr/share/ca-certificates/mozilla/Certainly_Root_E1.crt", + "usr/share/ca-certificates/mozilla/Certainly_Root_R1.crt", + "usr/share/ca-certificates/mozilla/Certigna_Root_CA.crt", + "usr/share/ca-certificates/mozilla/Certum_EC-384_CA.crt", + "usr/share/ca-certificates/mozilla/Certum_Trusted_Network_CA.crt", + "usr/share/ca-certificates/mozilla/Certum_Trusted_Network_CA_2.crt", + "usr/share/ca-certificates/mozilla/Certum_Trusted_Root_CA.crt", + "usr/share/ca-certificates/mozilla/D-TRUST_BR_Root_CA_1_2020.crt", + "usr/share/ca-certificates/mozilla/D-TRUST_BR_Root_CA_2_2023.crt", + "usr/share/ca-certificates/mozilla/D-TRUST_EV_Root_CA_1_2020.crt", + "usr/share/ca-certificates/mozilla/D-TRUST_EV_Root_CA_2_2023.crt", + "usr/share/ca-certificates/mozilla/D-TRUST_Root_Class_3_CA_2_2009.crt", + "usr/share/ca-certificates/mozilla/D-TRUST_Root_Class_3_CA_2_EV_2009.crt", + "usr/share/ca-certificates/mozilla/DigiCert_Assured_ID_Root_G2.crt", + "usr/share/ca-certificates/mozilla/DigiCert_Assured_ID_Root_G3.crt", + "usr/share/ca-certificates/mozilla/DigiCert_Global_Root_G2.crt", + "usr/share/ca-certificates/mozilla/DigiCert_Global_Root_G3.crt", + "usr/share/ca-certificates/mozilla/DigiCert_TLS_ECC_P384_Root_G5.crt", + "usr/share/ca-certificates/mozilla/DigiCert_TLS_RSA4096_Root_G5.crt", + "usr/share/ca-certificates/mozilla/DigiCert_Trusted_Root_G4.crt", + "usr/share/ca-certificates/mozilla/GDCA_TrustAUTH_R5_ROOT.crt", + "usr/share/ca-certificates/mozilla/GTS_Root_R1.crt", + "usr/share/ca-certificates/mozilla/GTS_Root_R3.crt", + "usr/share/ca-certificates/mozilla/GTS_Root_R4.crt", + "usr/share/ca-certificates/mozilla/GlobalSign_ECC_Root_CA_-_R4.crt", + "usr/share/ca-certificates/mozilla/GlobalSign_ECC_Root_CA_-_R5.crt", + "usr/share/ca-certificates/mozilla/GlobalSign_Root_CA_-_R3.crt", + "usr/share/ca-certificates/mozilla/GlobalSign_Root_CA_-_R6.crt", + "usr/share/ca-certificates/mozilla/GlobalSign_Root_E46.crt", + "usr/share/ca-certificates/mozilla/GlobalSign_Root_R46.crt", + "usr/share/ca-certificates/mozilla/Go_Daddy_Root_Certificate_Authority_-_G2.crt", + "usr/share/ca-certificates/mozilla/HARICA_TLS_ECC_Root_CA_2021.crt", + "usr/share/ca-certificates/mozilla/HARICA_TLS_RSA_Root_CA_2021.crt", + "usr/share/ca-certificates/mozilla/Hellenic_Academic_and_Research_Institutions_ECC_RootCA_2015.crt", + "usr/share/ca-certificates/mozilla/Hellenic_Academic_and_Research_Institutions_RootCA_2015.crt", + "usr/share/ca-certificates/mozilla/HiPKI_Root_CA_-_G1.crt", + "usr/share/ca-certificates/mozilla/Hongkong_Post_Root_CA_3.crt", + "usr/share/ca-certificates/mozilla/ISRG_Root_X1.crt", + "usr/share/ca-certificates/mozilla/ISRG_Root_X2.crt", + "usr/share/ca-certificates/mozilla/IdenTrust_Commercial_Root_CA_1.crt", + "usr/share/ca-certificates/mozilla/IdenTrust_Public_Sector_Root_CA_1.crt", + "usr/share/ca-certificates/mozilla/Izenpe.com.crt", + "usr/share/ca-certificates/mozilla/Microsec_e-Szigno_Root_CA_2009.crt", + "usr/share/ca-certificates/mozilla/Microsoft_ECC_Root_Certificate_Authority_2017.crt", + "usr/share/ca-certificates/mozilla/Microsoft_RSA_Root_Certificate_Authority_2017.crt", + "usr/share/ca-certificates/mozilla/NAVER_Global_Root_Certification_Authority.crt", + "usr/share/ca-certificates/mozilla/NetLock_Arany_=Class_Gold=_Főtanúsítvány.crt", + "usr/share/ca-certificates/mozilla/OISTE_Server_Root_ECC_G1.crt", + "usr/share/ca-certificates/mozilla/OISTE_Server_Root_RSA_G1.crt", + "usr/share/ca-certificates/mozilla/OISTE_WISeKey_Global_Root_GB_CA.crt", + "usr/share/ca-certificates/mozilla/OISTE_WISeKey_Global_Root_GC_CA.crt", + "usr/share/ca-certificates/mozilla/QuoVadis_Root_CA_1_G3.crt", + "usr/share/ca-certificates/mozilla/QuoVadis_Root_CA_2_G3.crt", + "usr/share/ca-certificates/mozilla/QuoVadis_Root_CA_3_G3.crt", + "usr/share/ca-certificates/mozilla/SSL.com_EV_Root_Certification_Authority_ECC.crt", + "usr/share/ca-certificates/mozilla/SSL.com_EV_Root_Certification_Authority_RSA_R2.crt", + "usr/share/ca-certificates/mozilla/SSL.com_Root_Certification_Authority_ECC.crt", + "usr/share/ca-certificates/mozilla/SSL.com_Root_Certification_Authority_RSA.crt", + "usr/share/ca-certificates/mozilla/SSL.com_TLS_ECC_Root_CA_2022.crt", + "usr/share/ca-certificates/mozilla/SSL.com_TLS_RSA_Root_CA_2022.crt", + "usr/share/ca-certificates/mozilla/SZAFIR_ROOT_CA2.crt", + "usr/share/ca-certificates/mozilla/Sectigo_Public_Server_Authentication_Root_E46.crt", + "usr/share/ca-certificates/mozilla/Sectigo_Public_Server_Authentication_Root_R46.crt", + "usr/share/ca-certificates/mozilla/SecureSign_Root_CA14.crt", + "usr/share/ca-certificates/mozilla/SecureSign_Root_CA15.crt", + "usr/share/ca-certificates/mozilla/Security_Communication_ECC_RootCA1.crt", + "usr/share/ca-certificates/mozilla/Security_Communication_RootCA2.crt", + "usr/share/ca-certificates/mozilla/Starfield_Root_Certificate_Authority_-_G2.crt", + "usr/share/ca-certificates/mozilla/Starfield_Services_Root_Certificate_Authority_-_G2.crt", + "usr/share/ca-certificates/mozilla/SwissSign_RSA_TLS_Root_CA_2022_-_1.crt", + "usr/share/ca-certificates/mozilla/T-TeleSec_GlobalRoot_Class_2.crt", + "usr/share/ca-certificates/mozilla/T-TeleSec_GlobalRoot_Class_3.crt", + "usr/share/ca-certificates/mozilla/TUBITAK_Kamu_SM_SSL_Kok_Sertifikasi_-_Surum_1.crt", + "usr/share/ca-certificates/mozilla/TWCA_CYBER_Root_CA.crt", + "usr/share/ca-certificates/mozilla/TWCA_Global_Root_CA.crt", + "usr/share/ca-certificates/mozilla/TWCA_Root_Certification_Authority.crt", + "usr/share/ca-certificates/mozilla/Telekom_Security_TLS_ECC_Root_2020.crt", + "usr/share/ca-certificates/mozilla/Telekom_Security_TLS_RSA_Root_2023.crt", + "usr/share/ca-certificates/mozilla/Telia_Root_CA_v2.crt", + "usr/share/ca-certificates/mozilla/TrustAsia_Global_Root_CA_G3.crt", + "usr/share/ca-certificates/mozilla/TrustAsia_Global_Root_CA_G4.crt", + "usr/share/ca-certificates/mozilla/TrustAsia_TLS_ECC_Root_CA.crt", + "usr/share/ca-certificates/mozilla/TrustAsia_TLS_RSA_Root_CA.crt", + "usr/share/ca-certificates/mozilla/TunTrust_Root_CA.crt", + "usr/share/ca-certificates/mozilla/UCA_Extended_Validation_Root.crt", + "usr/share/ca-certificates/mozilla/UCA_Global_G2_Root.crt", + "usr/share/ca-certificates/mozilla/USERTrust_ECC_Certification_Authority.crt", + "usr/share/ca-certificates/mozilla/USERTrust_RSA_Certification_Authority.crt", + "usr/share/ca-certificates/mozilla/certSIGN_Root_CA_G2.crt", + "usr/share/ca-certificates/mozilla/e-Szigno_Root_CA_2017.crt", + "usr/share/ca-certificates/mozilla/e-Szigno_TLS_Root_CA_2023.crt", + "usr/share/ca-certificates/mozilla/ePKI_Root_Certification_Authority.crt", + "usr/share/ca-certificates/mozilla/emSign_ECC_Root_CA_-_C3.crt", + "usr/share/ca-certificates/mozilla/emSign_ECC_Root_CA_-_G3.crt", + "usr/share/ca-certificates/mozilla/emSign_Root_CA_-_C1.crt", + "usr/share/ca-certificates/mozilla/emSign_Root_CA_-_G1.crt", + "usr/share/ca-certificates/mozilla/vTrus_ECC_Root_CA.crt", + "usr/share/ca-certificates/mozilla/vTrus_Root_CA.crt" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "ca-certificates-bundle@20260611-r0", + "Name": "ca-certificates-bundle", + "Identifier": { + "PURL": "pkg:apk/alpine/ca-certificates-bundle@20260611-r0?arch=x86_64\u0026distro=3.24.1", + "UID": "20337c2ea28bef28" + }, + "Version": "20260611-r0", + "Arch": "x86_64", + "SrcName": "ca-certificates", + "SrcVersion": "20260611-r0", + "Licenses": [ + "MPL-2.0", + "MIT" + ], + "Maintainer": "Natanael Copa \u003cncopa@alpinelinux.org\u003e", + "Layer": { + "Digest": "sha256:55afa1ecc21d2bb5e5045f32dafee56272ffd89860bac26f6c32123439af26a4", + "DiffID": "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c" + }, + "Digest": "sha1:c9534a03750bdfae341f10969016090fc11febbd", + "InstalledFiles": [ + "etc/ssl/cert.pem", + "etc/ssl/certs/ca-certificates.crt", + "etc/ssl1.1/cert.pem", + "etc/ssl1.1/certs" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "gdbm@1.26-r0", + "Name": "gdbm", + "Identifier": { + "PURL": "pkg:apk/alpine/gdbm@1.26-r0?arch=x86_64\u0026distro=3.24.1", + "UID": "5eb1a3f86262ca77" + }, + "Version": "1.26-r0", + "Arch": "x86_64", + "SrcName": "gdbm", + "SrcVersion": "1.26-r0", + "Licenses": [ + "GPL-3.0-or-later" + ], + "Maintainer": "Natanael Copa \u003cncopa@alpinelinux.org\u003e", + "DependsOn": [ + "musl@1.2.6-r2" + ], + "Layer": { + "Digest": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235", + "DiffID": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + "Digest": "sha1:619493d8124fe49a8ee1d8f7a1372cf7e3977337", + "InstalledFiles": [ + "usr/lib/libgdbm.so.6", + "usr/lib/libgdbm.so.6.0.0", + "usr/lib/libgdbm_compat.so.4", + "usr/lib/libgdbm_compat.so.4.0.0" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "keyutils-libs@1.6.3-r4", + "Name": "keyutils-libs", + "Identifier": { + "PURL": "pkg:apk/alpine/keyutils-libs@1.6.3-r4?arch=x86_64\u0026distro=3.24.1", + "UID": "a1a29120eb342032" + }, + "Version": "1.6.3-r4", + "Arch": "x86_64", + "SrcName": "keyutils", + "SrcVersion": "1.6.3-r4", + "Licenses": [ + "GPL-2.0-or-later", + "LGPL-2.0-or-later" + ], + "Maintainer": "Natanael Copa \u003cncopa@alpinelinux.org\u003e", + "DependsOn": [ + "musl@1.2.6-r2" + ], + "Layer": { + "Digest": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235", + "DiffID": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + "Digest": "sha1:b7331c96f077fc3522ee4361a441d1097204cd90", + "InstalledFiles": [ + "usr/lib/libkeyutils.so.1", + "usr/lib/libkeyutils.so.1.10" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "krb5-conf@1.0-r2", + "Name": "krb5-conf", + "Identifier": { + "PURL": "pkg:apk/alpine/krb5-conf@1.0-r2?arch=x86_64\u0026distro=3.24.1", + "UID": "e7cf94ba8b6dbc33" + }, + "Version": "1.0-r2", + "Arch": "x86_64", + "SrcName": "krb5-conf", + "SrcVersion": "1.0-r2", + "Licenses": [ + "MIT" + ], + "Maintainer": "Natanael Copa \u003cncopa@alpinelinux.org\u003e", + "Layer": { + "Digest": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235", + "DiffID": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + "Digest": "sha1:40a11e0690a59e110367b62a80661024e9942a2d", + "InstalledFiles": [ + "etc/krb5.conf" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "krb5-libs@1.22.2-r1", + "Name": "krb5-libs", + "Identifier": { + "PURL": "pkg:apk/alpine/krb5-libs@1.22.2-r1?arch=x86_64\u0026distro=3.24.1", + "UID": "958f8b4a4f087dac" + }, + "Version": "1.22.2-r1", + "Arch": "x86_64", + "SrcName": "krb5", + "SrcVersion": "1.22.2-r1", + "Licenses": [ + "MIT" + ], + "Maintainer": "Natanael Copa \u003cncopa@alpinelinux.org\u003e", + "DependsOn": [ + "keyutils-libs@1.6.3-r4", + "krb5-conf@1.0-r2", + "libcom_err@1.47.4-r0", + "libcrypto3@3.5.8-r0", + "libssl3@3.5.8-r0", + "libverto@0.3.2-r2", + "musl@1.2.6-r2" + ], + "Layer": { + "Digest": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235", + "DiffID": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + "Digest": "sha1:ef02346e21b817ff379e4601e5b1fc9760e5e31a", + "InstalledFiles": [ + "usr/lib/libgssapi_krb5.so.2", + "usr/lib/libgssapi_krb5.so.2.2", + "usr/lib/libgssrpc.so.4", + "usr/lib/libgssrpc.so.4.2", + "usr/lib/libk5crypto.so.3", + "usr/lib/libk5crypto.so.3.1", + "usr/lib/libkadm5clnt_mit.so.12", + "usr/lib/libkadm5clnt_mit.so.12.0", + "usr/lib/libkadm5srv_mit.so.12", + "usr/lib/libkadm5srv_mit.so.12.0", + "usr/lib/libkdb5.so.10", + "usr/lib/libkdb5.so.10.0", + "usr/lib/libkrad.so.0", + "usr/lib/libkrad.so.0.0", + "usr/lib/libkrb5.so.3", + "usr/lib/libkrb5.so.3.3", + "usr/lib/libkrb5support.so.0", + "usr/lib/libkrb5support.so.0.1", + "usr/lib/krb5/plugins/kdb/db2.so", + "usr/lib/krb5/plugins/preauth/otp.so", + "usr/lib/krb5/plugins/preauth/spake.so", + "usr/lib/krb5/plugins/preauth/test.so", + "usr/lib/krb5/plugins/tls/k5tls.so" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "libapk@3.0.6-r0", + "Name": "libapk", + "Identifier": { + "PURL": "pkg:apk/alpine/libapk@3.0.6-r0?arch=x86_64\u0026distro=3.24.1", + "UID": "779641db16cf6477" + }, + "Version": "3.0.6-r0", + "Arch": "x86_64", + "SrcName": "apk-tools", + "SrcVersion": "3.0.6-r0", + "Licenses": [ + "GPL-2.0-only" + ], + "Maintainer": "Natanael Copa \u003cncopa@alpinelinux.org\u003e", + "DependsOn": [ + "libcrypto3@3.5.8-r0", + "libssl3@3.5.8-r0", + "musl@1.2.6-r2", + "zlib@1.3.2-r1" + ], + "Layer": { + "Digest": "sha256:55afa1ecc21d2bb5e5045f32dafee56272ffd89860bac26f6c32123439af26a4", + "DiffID": "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c" + }, + "Digest": "sha1:523a8f58104589f74f743d501c81bf6517155378", + "InstalledFiles": [ + "usr/lib/libapk.so.3.0.0" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "libbz2@1.0.8-r6", + "Name": "libbz2", + "Identifier": { + "PURL": "pkg:apk/alpine/libbz2@1.0.8-r6?arch=x86_64\u0026distro=3.24.1", + "UID": "48e17539404e2d56" + }, + "Version": "1.0.8-r6", + "Arch": "x86_64", + "SrcName": "bzip2", + "SrcVersion": "1.0.8-r6", + "Licenses": [ + "bzip-2-1.0.6" + ], + "Maintainer": "Natanael Copa \u003cncopa@alpinelinux.org\u003e", + "DependsOn": [ + "musl@1.2.6-r2" + ], + "Layer": { + "Digest": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235", + "DiffID": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + "Digest": "sha1:08566ba5c7af97c25474be8b24e8b48f0116b67d", + "InstalledFiles": [ + "usr/lib/libbz2.so.1", + "usr/lib/libbz2.so.1.0.8" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "libcom_err@1.47.4-r0", + "Name": "libcom_err", + "Identifier": { + "PURL": "pkg:apk/alpine/libcom_err@1.47.4-r0?arch=x86_64\u0026distro=3.24.1", + "UID": "3fc35a3f66d192af" + }, + "Version": "1.47.4-r0", + "Arch": "x86_64", + "SrcName": "e2fsprogs", + "SrcVersion": "1.47.4-r0", + "Licenses": [ + "GPL-2.0-or-later", + "LGPL-2.0-or-later", + "BSD-3-Clause", + "MIT" + ], + "Maintainer": "Natanael Copa \u003cncopa@alpinelinux.org\u003e", + "DependsOn": [ + "musl@1.2.6-r2" + ], + "Layer": { + "Digest": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235", + "DiffID": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + "Digest": "sha1:4b9fb5899ea0b1c0cfbb2a2c5952704437d4ecef", + "InstalledFiles": [ + "usr/lib/libcom_err.so.2", + "usr/lib/libcom_err.so.2.1" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "libcrypto3@3.5.8-r0", + "Name": "libcrypto3", + "Identifier": { + "PURL": "pkg:apk/alpine/libcrypto3@3.5.8-r0?arch=x86_64\u0026distro=3.24.1", + "UID": "4299bba2ba9c96aa" + }, + "Version": "3.5.8-r0", + "Arch": "x86_64", + "SrcName": "openssl", + "SrcVersion": "3.5.8-r0", + "Licenses": [ + "Apache-2.0" + ], + "Maintainer": "Natanael Copa \u003cncopa@alpinelinux.org\u003e", + "DependsOn": [ + "musl@1.2.6-r2" + ], + "Layer": { + "Digest": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235", + "DiffID": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + "Digest": "sha1:1b3b9fc0c136f4936932bcb2ec21499f0ae5dfd3", + "InstalledFiles": [ + "etc/ssl/ct_log_list.cnf", + "etc/ssl/ct_log_list.cnf.dist", + "etc/ssl/openssl.cnf", + "etc/ssl/openssl.cnf.dist", + "usr/lib/libcrypto.so.3", + "usr/lib/engines-3/afalg.so", + "usr/lib/engines-3/capi.so", + "usr/lib/engines-3/loader_attic.so", + "usr/lib/engines-3/padlock.so", + "usr/lib/ossl-modules/legacy.so" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "libffi@3.5.2-r1", + "Name": "libffi", + "Identifier": { + "PURL": "pkg:apk/alpine/libffi@3.5.2-r1?arch=x86_64\u0026distro=3.24.1", + "UID": "d3eaa921287b1ccd" + }, + "Version": "3.5.2-r1", + "Arch": "x86_64", + "SrcName": "libffi", + "SrcVersion": "3.5.2-r1", + "Licenses": [ + "MIT" + ], + "Maintainer": "Natanael Copa \u003cncopa@alpinelinux.org\u003e", + "DependsOn": [ + "musl@1.2.6-r2" + ], + "Layer": { + "Digest": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235", + "DiffID": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + "Digest": "sha1:2f7b261f7fcecc4eebd8b330e7f6fb80713bfe3a", + "InstalledFiles": [ + "usr/lib/libffi.so.8", + "usr/lib/libffi.so.8.2.0" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "libintl@1.0-r0", + "Name": "libintl", + "Identifier": { + "PURL": "pkg:apk/alpine/libintl@1.0-r0?arch=x86_64\u0026distro=3.24.1", + "UID": "25c18808d8fc87e0" + }, + "Version": "1.0-r0", + "Arch": "x86_64", + "SrcName": "gettext", + "SrcVersion": "1.0-r0", + "Licenses": [ + "LGPL-2.1-or-later" + ], + "Maintainer": "Carlo Landmeter \u003cclandmeter@alpinelinux.org\u003e", + "DependsOn": [ + "musl@1.2.6-r2" + ], + "Layer": { + "Digest": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235", + "DiffID": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + "Digest": "sha1:282d6642ccac87237e43a864159d73cf5abe7550", + "InstalledFiles": [ + "usr/lib/libintl.so.8", + "usr/lib/libintl.so.8.4.6" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "libncursesw@6.6_p20260516-r0", + "Name": "libncursesw", + "Identifier": { + "PURL": "pkg:apk/alpine/libncursesw@6.6_p20260516-r0?arch=x86_64\u0026distro=3.24.1", + "UID": "e8939f45e2191bcc" + }, + "Version": "6.6_p20260516-r0", + "Arch": "x86_64", + "SrcName": "ncurses", + "SrcVersion": "6.6_p20260516-r0", + "Licenses": [ + "X-11" + ], + "Maintainer": "Milan P. Stanić \u003cmps@arvanta.net\u003e", + "DependsOn": [ + "musl@1.2.6-r2", + "ncurses-terminfo-base@6.6_p20260516-r0" + ], + "Layer": { + "Digest": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235", + "DiffID": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + "Digest": "sha1:9f318e6e324d6827274829194cf6ac6afbaded12", + "InstalledFiles": [ + "usr/lib/libncursesw.so.6", + "usr/lib/libncursesw.so.6.6" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "libnsl@2.0.1-r2", + "Name": "libnsl", + "Identifier": { + "PURL": "pkg:apk/alpine/libnsl@2.0.1-r2?arch=x86_64\u0026distro=3.24.1", + "UID": "3d893c60d41da67b" + }, + "Version": "2.0.1-r2", + "Arch": "x86_64", + "SrcName": "libnsl", + "SrcVersion": "2.0.1-r2", + "Licenses": [ + "LGPL-2.0-or-later" + ], + "DependsOn": [ + "libintl@1.0-r0", + "libtirpc@1.3.5-r1", + "musl@1.2.6-r2" + ], + "Layer": { + "Digest": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235", + "DiffID": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + "Digest": "sha1:5194adbf26560b52be318481a7af294ab05fd795", + "InstalledFiles": [ + "usr/lib/libnsl.so.3", + "usr/lib/libnsl.so.3.0.0" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "libpanelw@6.6_p20260516-r0", + "Name": "libpanelw", + "Identifier": { + "PURL": "pkg:apk/alpine/libpanelw@6.6_p20260516-r0?arch=x86_64\u0026distro=3.24.1", + "UID": "ef1ad9bb256b373" + }, + "Version": "6.6_p20260516-r0", + "Arch": "x86_64", + "SrcName": "ncurses", + "SrcVersion": "6.6_p20260516-r0", + "Licenses": [ + "X-11" + ], + "Maintainer": "Milan P. Stanić \u003cmps@arvanta.net\u003e", + "DependsOn": [ + "libncursesw@6.6_p20260516-r0", + "musl@1.2.6-r2", + "ncurses-terminfo-base@6.6_p20260516-r0" + ], + "Layer": { + "Digest": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235", + "DiffID": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + "Digest": "sha1:149bdc434232ed11fc5bb975ba519a07154a6f56", + "InstalledFiles": [ + "usr/lib/libpanelw.so.6", + "usr/lib/libpanelw.so.6.6" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "libssl3@3.5.8-r0", + "Name": "libssl3", + "Identifier": { + "PURL": "pkg:apk/alpine/libssl3@3.5.8-r0?arch=x86_64\u0026distro=3.24.1", + "UID": "f290ab59b88b1c4a" + }, + "Version": "3.5.8-r0", + "Arch": "x86_64", + "SrcName": "openssl", + "SrcVersion": "3.5.8-r0", + "Licenses": [ + "Apache-2.0" + ], + "Maintainer": "Natanael Copa \u003cncopa@alpinelinux.org\u003e", + "DependsOn": [ + "libcrypto3@3.5.8-r0", + "musl@1.2.6-r2" + ], + "Layer": { + "Digest": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235", + "DiffID": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + "Digest": "sha1:5f9b1e55d821953d2e2b1db322dad70a3b5041ea", + "InstalledFiles": [ + "usr/lib/libssl.so.3" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "libtirpc@1.3.5-r1", + "Name": "libtirpc", + "Identifier": { + "PURL": "pkg:apk/alpine/libtirpc@1.3.5-r1?arch=x86_64\u0026distro=3.24.1", + "UID": "471c8d955ca03be5" + }, + "Version": "1.3.5-r1", + "Arch": "x86_64", + "SrcName": "libtirpc", + "SrcVersion": "1.3.5-r1", + "Licenses": [ + "BSD-3-Clause" + ], + "Maintainer": "Natanael Copa \u003cncopa@alpinelinux.org\u003e", + "DependsOn": [ + "krb5-libs@1.22.2-r1", + "libtirpc-conf@1.3.5-r1", + "musl@1.2.6-r2" + ], + "Layer": { + "Digest": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235", + "DiffID": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + "Digest": "sha1:c32865bd86a8b8829d152279cabbc5ac6d430eb2", + "InstalledFiles": [ + "usr/lib/libtirpc.so.3", + "usr/lib/libtirpc.so.3.0.0" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "libtirpc-conf@1.3.5-r1", + "Name": "libtirpc-conf", + "Identifier": { + "PURL": "pkg:apk/alpine/libtirpc-conf@1.3.5-r1?arch=x86_64\u0026distro=3.24.1", + "UID": "3437392c14aad33f" + }, + "Version": "1.3.5-r1", + "Arch": "x86_64", + "SrcName": "libtirpc", + "SrcVersion": "1.3.5-r1", + "Licenses": [ + "BSD-3-Clause" + ], + "Maintainer": "Natanael Copa \u003cncopa@alpinelinux.org\u003e", + "Layer": { + "Digest": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235", + "DiffID": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + "Digest": "sha1:0c17d9988dc986c90e22f79778df047eca9973ff", + "InstalledFiles": [ + "etc/bindresvport.blacklist", + "etc/netconfig" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "libuuid@2.42.3-r1", + "Name": "libuuid", + "Identifier": { + "PURL": "pkg:apk/alpine/libuuid@2.42.3-r1?arch=x86_64\u0026distro=3.24.1", + "UID": "c444e9cdd1bdda40" + }, + "Version": "2.42.3-r1", + "Arch": "x86_64", + "SrcName": "util-linux", + "SrcVersion": "2.42.3-r1", + "Licenses": [ + "BSD-3-Clause" + ], + "Maintainer": "Natanael Copa \u003cncopa@alpinelinux.org\u003e", + "DependsOn": [ + "musl@1.2.6-r2" + ], + "Layer": { + "Digest": "sha256:f0fe3e08ab046c0c5e29d34ee73bc8c7e03398eb891e4498e0a67088a5ea3e86", + "DiffID": "sha256:f9b4a8a412a0c07a489e46fb5db41f9d0dc84d4ec38a4e2c6ab9531f44e0d9f1" + }, + "Digest": "sha1:8f041ef637ad75f381cc0c034f2afbbb0303264e", + "InstalledFiles": [ + "usr/lib/libuuid.so.1", + "usr/lib/libuuid.so.1.3.0" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "libverto@0.3.2-r2", + "Name": "libverto", + "Identifier": { + "PURL": "pkg:apk/alpine/libverto@0.3.2-r2?arch=x86_64\u0026distro=3.24.1", + "UID": "9df4321a283a6cf6" + }, + "Version": "0.3.2-r2", + "Arch": "x86_64", + "SrcName": "libverto", + "SrcVersion": "0.3.2-r2", + "Licenses": [ + "MIT" + ], + "Maintainer": "Francesco Colista \u003cfcolista@alpinelinux.org\u003e", + "DependsOn": [ + "musl@1.2.6-r2" + ], + "Layer": { + "Digest": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235", + "DiffID": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + "Digest": "sha1:73233059338142e4ac6d8fb8bb0074e93da75dc1", + "InstalledFiles": [ + "usr/lib/libverto.so.1", + "usr/lib/libverto.so.1.0.0" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "musl@1.2.6-r2", + "Name": "musl", + "Identifier": { + "PURL": "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64\u0026distro=3.24.1", + "UID": "1f8cb44befe503d4" + }, + "Version": "1.2.6-r2", + "Arch": "x86_64", + "SrcName": "musl", + "SrcVersion": "1.2.6-r2", + "Licenses": [ + "MIT" + ], + "Maintainer": "Natanael Copa \u003cncopa@alpinelinux.org\u003e", + "Layer": { + "Digest": "sha256:55afa1ecc21d2bb5e5045f32dafee56272ffd89860bac26f6c32123439af26a4", + "DiffID": "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c" + }, + "Digest": "sha1:0f7e5827e4e1a73631beda27b78431a8ba240e05", + "InstalledFiles": [ + "lib/ld-musl-x86_64.so.1", + "lib/libc.musl-x86_64.so.1" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "musl-utils@1.2.6-r2", + "Name": "musl-utils", + "Identifier": { + "PURL": "pkg:apk/alpine/musl-utils@1.2.6-r2?arch=x86_64\u0026distro=3.24.1", + "UID": "4497482ec1d943e1" + }, + "Version": "1.2.6-r2", + "Arch": "x86_64", + "SrcName": "musl", + "SrcVersion": "1.2.6-r2", + "Licenses": [ + "MIT", + "BSD-2-Clause", + "GPL-2.0-or-later" + ], + "Maintainer": "Natanael Copa \u003cncopa@alpinelinux.org\u003e", + "DependsOn": [ + "musl@1.2.6-r2", + "scanelf@1.3.9-r1" + ], + "Layer": { + "Digest": "sha256:55afa1ecc21d2bb5e5045f32dafee56272ffd89860bac26f6c32123439af26a4", + "DiffID": "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c" + }, + "Digest": "sha1:75ada3c48d63ec5d87c42fdf934a3fdd11298dc5", + "InstalledFiles": [ + "sbin/ldconfig", + "usr/bin/getconf", + "usr/bin/getent", + "usr/bin/iconv", + "usr/bin/ldd" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "ncurses-terminfo-base@6.6_p20260516-r0", + "Name": "ncurses-terminfo-base", + "Identifier": { + "PURL": "pkg:apk/alpine/ncurses-terminfo-base@6.6_p20260516-r0?arch=x86_64\u0026distro=3.24.1", + "UID": "e7fac5c6a6e9ae8" + }, + "Version": "6.6_p20260516-r0", + "Arch": "x86_64", + "SrcName": "ncurses", + "SrcVersion": "6.6_p20260516-r0", + "Licenses": [ + "X-11" + ], + "Maintainer": "Milan P. Stanić \u003cmps@arvanta.net\u003e", + "Layer": { + "Digest": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235", + "DiffID": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + "Digest": "sha1:9d551d828e9c8ee52c5801c1d6046828ebf15752", + "InstalledFiles": [ + "etc/terminfo/a/alacritty", + "etc/terminfo/a/ansi", + "etc/terminfo/d/dumb", + "etc/terminfo/g/gnome", + "etc/terminfo/g/gnome-256color", + "etc/terminfo/k/konsole", + "etc/terminfo/k/konsole-256color", + "etc/terminfo/k/konsole-linux", + "etc/terminfo/l/linux", + "etc/terminfo/p/putty", + "etc/terminfo/p/putty-256color", + "etc/terminfo/r/rxvt", + "etc/terminfo/r/rxvt-256color", + "etc/terminfo/s/screen", + "etc/terminfo/s/screen-256color", + "etc/terminfo/s/st-0.6", + "etc/terminfo/s/st-0.7", + "etc/terminfo/s/st-0.8", + "etc/terminfo/s/st-0.8.5", + "etc/terminfo/s/st-16color", + "etc/terminfo/s/st-256color", + "etc/terminfo/s/st-direct", + "etc/terminfo/s/sun", + "etc/terminfo/t/terminator", + "etc/terminfo/t/terminology", + "etc/terminfo/t/terminology-0.6.1", + "etc/terminfo/t/terminology-1.0.0", + "etc/terminfo/t/terminology-1.8.1", + "etc/terminfo/t/tmux", + "etc/terminfo/t/tmux-256color", + "etc/terminfo/v/vt100", + "etc/terminfo/v/vt102", + "etc/terminfo/v/vt200", + "etc/terminfo/v/vt220", + "etc/terminfo/v/vt52", + "etc/terminfo/v/vte", + "etc/terminfo/v/vte-256color", + "etc/terminfo/x/xterm", + "etc/terminfo/x/xterm-256color", + "etc/terminfo/x/xterm-color", + "etc/terminfo/x/xterm-xfree86" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "readline@8.3.3-r1", + "Name": "readline", + "Identifier": { + "PURL": "pkg:apk/alpine/readline@8.3.3-r1?arch=x86_64\u0026distro=3.24.1", + "UID": "f50058781c93e1f2" + }, + "Version": "8.3.3-r1", + "Arch": "x86_64", + "SrcName": "readline", + "SrcVersion": "8.3.3-r1", + "Licenses": [ + "GPL-3.0-or-later" + ], + "Maintainer": "qaqland \u003cqaq@qaq.land\u003e", + "DependsOn": [ + "libncursesw@6.6_p20260516-r0", + "musl@1.2.6-r2" + ], + "Layer": { + "Digest": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235", + "DiffID": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + "Digest": "sha1:945b16e378bc00e44d89d4de8124bba7647fdf4d", + "InstalledFiles": [ + "etc/inputrc", + "usr/lib/libreadline.so.8", + "usr/lib/libreadline.so.8.3" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "scanelf@1.3.9-r1", + "Name": "scanelf", + "Identifier": { + "PURL": "pkg:apk/alpine/scanelf@1.3.9-r1?arch=x86_64\u0026distro=3.24.1", + "UID": "936394657a1626fb" + }, + "Version": "1.3.9-r1", + "Arch": "x86_64", + "SrcName": "pax-utils", + "SrcVersion": "1.3.9-r1", + "Licenses": [ + "GPL-2.0-only" + ], + "Maintainer": "Natanael Copa \u003cncopa@alpinelinux.org\u003e", + "DependsOn": [ + "musl@1.2.6-r2" + ], + "Layer": { + "Digest": "sha256:55afa1ecc21d2bb5e5045f32dafee56272ffd89860bac26f6c32123439af26a4", + "DiffID": "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c" + }, + "Digest": "sha1:013f903d0ba219673aebbdd04f74bb5ed82b01f0", + "InstalledFiles": [ + "usr/bin/scanelf" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "sqlite-libs@3.53.4-r0", + "Name": "sqlite-libs", + "Identifier": { + "PURL": "pkg:apk/alpine/sqlite-libs@3.53.4-r0?arch=x86_64\u0026distro=3.24.1", + "UID": "8b10aee2ccc192de" + }, + "Version": "3.53.4-r0", + "Arch": "x86_64", + "SrcName": "sqlite", + "SrcVersion": "3.53.4-r0", + "Licenses": [ + "blessing" + ], + "Maintainer": "Jingyun Hua \u003chuajingyun@loongson.cn\u003e", + "DependsOn": [ + "musl@1.2.6-r2" + ], + "Layer": { + "Digest": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235", + "DiffID": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + "Digest": "sha1:f7630ceb37c232b6609861aeab6cdb9cd120e6fa", + "InstalledFiles": [ + "usr/lib/libsqlite3.so.0", + "usr/lib/libsqlite3.so.3.53.4" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "ssl_client@1.37.0-r31", + "Name": "ssl_client", + "Identifier": { + "PURL": "pkg:apk/alpine/ssl_client@1.37.0-r31?arch=x86_64\u0026distro=3.24.1", + "UID": "d42e31f15a4ce47a" + }, + "Version": "1.37.0-r31", + "Arch": "x86_64", + "SrcName": "busybox", + "SrcVersion": "1.37.0-r31", + "Licenses": [ + "GPL-2.0-only" + ], + "Maintainer": "Sören Tempel \u003csoeren+alpine@soeren-tempel.net\u003e", + "DependsOn": [ + "libcrypto3@3.5.8-r0", + "libssl3@3.5.8-r0", + "musl@1.2.6-r2" + ], + "Layer": { + "Digest": "sha256:55afa1ecc21d2bb5e5045f32dafee56272ffd89860bac26f6c32123439af26a4", + "DiffID": "sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c" + }, + "Digest": "sha1:c220f4a5125a313af733e98def94132bb1e9d40d", + "InstalledFiles": [ + "usr/bin/ssl_client" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "tzdata@2026c-r0", + "Name": "tzdata", + "Identifier": { + "PURL": "pkg:apk/alpine/tzdata@2026c-r0?arch=x86_64\u0026distro=3.24.1", + "UID": "52c6b50eff629f9d" + }, + "Version": "2026c-r0", + "Arch": "x86_64", + "SrcName": "tzdata", + "SrcVersion": "2026c-r0", + "Licenses": [ + "Public-Domain" + ], + "Maintainer": "Natanael Copa \u003cncopa@alpinelinux.org\u003e", + "Layer": { + "Digest": "sha256:47393b668ce535d06e8967917d424c177e2ecccae83856d48b2e99164f8cc6cb", + "DiffID": "sha256:3ca4be2c6e9ac0223715355253725381000486c2b45bfcb22cf571b6a85a12dd" + }, + "Digest": "sha1:61f7544ecd8dd63eac23fe3e645702fda92ef02a", + "InstalledFiles": [ + "usr/share/zoneinfo/CET", + "usr/share/zoneinfo/CST6CDT", + "usr/share/zoneinfo/Cuba", + "usr/share/zoneinfo/EET", + "usr/share/zoneinfo/EST", + "usr/share/zoneinfo/EST5EDT", + "usr/share/zoneinfo/Egypt", + "usr/share/zoneinfo/Eire", + "usr/share/zoneinfo/Factory", + "usr/share/zoneinfo/GB", + "usr/share/zoneinfo/GB-Eire", + "usr/share/zoneinfo/GMT", + "usr/share/zoneinfo/GMT+0", + "usr/share/zoneinfo/GMT-0", + "usr/share/zoneinfo/GMT0", + "usr/share/zoneinfo/Greenwich", + "usr/share/zoneinfo/HST", + "usr/share/zoneinfo/Hongkong", + "usr/share/zoneinfo/Iceland", + "usr/share/zoneinfo/Iran", + "usr/share/zoneinfo/Israel", + "usr/share/zoneinfo/Jamaica", + "usr/share/zoneinfo/Japan", + "usr/share/zoneinfo/Kwajalein", + "usr/share/zoneinfo/Libya", + "usr/share/zoneinfo/MET", + "usr/share/zoneinfo/MST", + "usr/share/zoneinfo/MST7MDT", + "usr/share/zoneinfo/NZ", + "usr/share/zoneinfo/NZ-CHAT", + "usr/share/zoneinfo/Navajo", + "usr/share/zoneinfo/PRC", + "usr/share/zoneinfo/PST8PDT", + "usr/share/zoneinfo/Poland", + "usr/share/zoneinfo/Portugal", + "usr/share/zoneinfo/ROC", + "usr/share/zoneinfo/ROK", + "usr/share/zoneinfo/Singapore", + "usr/share/zoneinfo/Turkey", + "usr/share/zoneinfo/UCT", + "usr/share/zoneinfo/UTC", + "usr/share/zoneinfo/Universal", + "usr/share/zoneinfo/W-SU", + "usr/share/zoneinfo/WET", + "usr/share/zoneinfo/Zulu", + "usr/share/zoneinfo/iso3166.tab", + "usr/share/zoneinfo/leap-seconds.list", + "usr/share/zoneinfo/posixrules", + "usr/share/zoneinfo/zone.tab", + "usr/share/zoneinfo/zone1970.tab", + "usr/share/zoneinfo/Africa/Abidjan", + "usr/share/zoneinfo/Africa/Accra", + "usr/share/zoneinfo/Africa/Addis_Ababa", + "usr/share/zoneinfo/Africa/Algiers", + "usr/share/zoneinfo/Africa/Asmara", + "usr/share/zoneinfo/Africa/Asmera", + "usr/share/zoneinfo/Africa/Bamako", + "usr/share/zoneinfo/Africa/Bangui", + "usr/share/zoneinfo/Africa/Banjul", + "usr/share/zoneinfo/Africa/Bissau", + "usr/share/zoneinfo/Africa/Blantyre", + "usr/share/zoneinfo/Africa/Brazzaville", + "usr/share/zoneinfo/Africa/Bujumbura", + "usr/share/zoneinfo/Africa/Cairo", + "usr/share/zoneinfo/Africa/Casablanca", + "usr/share/zoneinfo/Africa/Ceuta", + "usr/share/zoneinfo/Africa/Conakry", + "usr/share/zoneinfo/Africa/Dakar", + "usr/share/zoneinfo/Africa/Dar_es_Salaam", + "usr/share/zoneinfo/Africa/Djibouti", + "usr/share/zoneinfo/Africa/Douala", + "usr/share/zoneinfo/Africa/El_Aaiun", + "usr/share/zoneinfo/Africa/Freetown", + "usr/share/zoneinfo/Africa/Gaborone", + "usr/share/zoneinfo/Africa/Harare", + "usr/share/zoneinfo/Africa/Johannesburg", + "usr/share/zoneinfo/Africa/Juba", + "usr/share/zoneinfo/Africa/Kampala", + "usr/share/zoneinfo/Africa/Khartoum", + "usr/share/zoneinfo/Africa/Kigali", + "usr/share/zoneinfo/Africa/Kinshasa", + "usr/share/zoneinfo/Africa/Lagos", + "usr/share/zoneinfo/Africa/Libreville", + "usr/share/zoneinfo/Africa/Lome", + "usr/share/zoneinfo/Africa/Luanda", + "usr/share/zoneinfo/Africa/Lubumbashi", + "usr/share/zoneinfo/Africa/Lusaka", + "usr/share/zoneinfo/Africa/Malabo", + "usr/share/zoneinfo/Africa/Maputo", + "usr/share/zoneinfo/Africa/Maseru", + "usr/share/zoneinfo/Africa/Mbabane", + "usr/share/zoneinfo/Africa/Mogadishu", + "usr/share/zoneinfo/Africa/Monrovia", + "usr/share/zoneinfo/Africa/Nairobi", + "usr/share/zoneinfo/Africa/Ndjamena", + "usr/share/zoneinfo/Africa/Niamey", + "usr/share/zoneinfo/Africa/Nouakchott", + "usr/share/zoneinfo/Africa/Ouagadougou", + "usr/share/zoneinfo/Africa/Porto-Novo", + "usr/share/zoneinfo/Africa/Sao_Tome", + "usr/share/zoneinfo/Africa/Timbuktu", + "usr/share/zoneinfo/Africa/Tripoli", + "usr/share/zoneinfo/Africa/Tunis", + "usr/share/zoneinfo/Africa/Windhoek", + "usr/share/zoneinfo/America/Adak", + "usr/share/zoneinfo/America/Anchorage", + "usr/share/zoneinfo/America/Anguilla", + "usr/share/zoneinfo/America/Antigua", + "usr/share/zoneinfo/America/Araguaina", + "usr/share/zoneinfo/America/Aruba", + "usr/share/zoneinfo/America/Asuncion", + "usr/share/zoneinfo/America/Atikokan", + "usr/share/zoneinfo/America/Atka", + "usr/share/zoneinfo/America/Bahia", + "usr/share/zoneinfo/America/Bahia_Banderas", + "usr/share/zoneinfo/America/Barbados", + "usr/share/zoneinfo/America/Belem", + "usr/share/zoneinfo/America/Belize", + "usr/share/zoneinfo/America/Blanc-Sablon", + "usr/share/zoneinfo/America/Boa_Vista", + "usr/share/zoneinfo/America/Bogota", + "usr/share/zoneinfo/America/Boise", + "usr/share/zoneinfo/America/Buenos_Aires", + "usr/share/zoneinfo/America/Cambridge_Bay", + "usr/share/zoneinfo/America/Campo_Grande", + "usr/share/zoneinfo/America/Cancun", + "usr/share/zoneinfo/America/Caracas", + "usr/share/zoneinfo/America/Catamarca", + "usr/share/zoneinfo/America/Cayenne", + "usr/share/zoneinfo/America/Cayman", + "usr/share/zoneinfo/America/Chicago", + "usr/share/zoneinfo/America/Chihuahua", + "usr/share/zoneinfo/America/Ciudad_Juarez", + "usr/share/zoneinfo/America/Coral_Harbour", + "usr/share/zoneinfo/America/Cordoba", + "usr/share/zoneinfo/America/Costa_Rica", + "usr/share/zoneinfo/America/Coyhaique", + "usr/share/zoneinfo/America/Creston", + "usr/share/zoneinfo/America/Cuiaba", + "usr/share/zoneinfo/America/Curacao", + "usr/share/zoneinfo/America/Danmarkshavn", + "usr/share/zoneinfo/America/Dawson", + "usr/share/zoneinfo/America/Dawson_Creek", + "usr/share/zoneinfo/America/Denver", + "usr/share/zoneinfo/America/Detroit", + "usr/share/zoneinfo/America/Dominica", + "usr/share/zoneinfo/America/Edmonton", + "usr/share/zoneinfo/America/Eirunepe", + "usr/share/zoneinfo/America/El_Salvador", + "usr/share/zoneinfo/America/Ensenada", + "usr/share/zoneinfo/America/Fort_Nelson", + "usr/share/zoneinfo/America/Fort_Wayne", + "usr/share/zoneinfo/America/Fortaleza", + "usr/share/zoneinfo/America/Glace_Bay", + "usr/share/zoneinfo/America/Godthab", + "usr/share/zoneinfo/America/Goose_Bay", + "usr/share/zoneinfo/America/Grand_Turk", + "usr/share/zoneinfo/America/Grenada", + "usr/share/zoneinfo/America/Guadeloupe", + "usr/share/zoneinfo/America/Guatemala", + "usr/share/zoneinfo/America/Guayaquil", + "usr/share/zoneinfo/America/Guyana", + "usr/share/zoneinfo/America/Halifax", + "usr/share/zoneinfo/America/Havana", + "usr/share/zoneinfo/America/Hermosillo", + "usr/share/zoneinfo/America/Indianapolis", + "usr/share/zoneinfo/America/Inuvik", + "usr/share/zoneinfo/America/Iqaluit", + "usr/share/zoneinfo/America/Jamaica", + "usr/share/zoneinfo/America/Jujuy", + "usr/share/zoneinfo/America/Juneau", + "usr/share/zoneinfo/America/Knox_IN", + "usr/share/zoneinfo/America/Kralendijk", + "usr/share/zoneinfo/America/La_Paz", + "usr/share/zoneinfo/America/Lima", + "usr/share/zoneinfo/America/Los_Angeles", + "usr/share/zoneinfo/America/Louisville", + "usr/share/zoneinfo/America/Lower_Princes", + "usr/share/zoneinfo/America/Maceio", + "usr/share/zoneinfo/America/Managua", + "usr/share/zoneinfo/America/Manaus", + "usr/share/zoneinfo/America/Marigot", + "usr/share/zoneinfo/America/Martinique", + "usr/share/zoneinfo/America/Matamoros", + "usr/share/zoneinfo/America/Mazatlan", + "usr/share/zoneinfo/America/Mendoza", + "usr/share/zoneinfo/America/Menominee", + "usr/share/zoneinfo/America/Merida", + "usr/share/zoneinfo/America/Metlakatla", + "usr/share/zoneinfo/America/Mexico_City", + "usr/share/zoneinfo/America/Miquelon", + "usr/share/zoneinfo/America/Moncton", + "usr/share/zoneinfo/America/Monterrey", + "usr/share/zoneinfo/America/Montevideo", + "usr/share/zoneinfo/America/Montreal", + "usr/share/zoneinfo/America/Montserrat", + "usr/share/zoneinfo/America/Nassau", + "usr/share/zoneinfo/America/New_York", + "usr/share/zoneinfo/America/Nipigon", + "usr/share/zoneinfo/America/Nome", + "usr/share/zoneinfo/America/Noronha", + "usr/share/zoneinfo/America/Nuuk", + "usr/share/zoneinfo/America/Ojinaga", + "usr/share/zoneinfo/America/Panama", + "usr/share/zoneinfo/America/Pangnirtung", + "usr/share/zoneinfo/America/Paramaribo", + "usr/share/zoneinfo/America/Phoenix", + "usr/share/zoneinfo/America/Port-au-Prince", + "usr/share/zoneinfo/America/Port_of_Spain", + "usr/share/zoneinfo/America/Porto_Acre", + "usr/share/zoneinfo/America/Porto_Velho", + "usr/share/zoneinfo/America/Puerto_Rico", + "usr/share/zoneinfo/America/Punta_Arenas", + "usr/share/zoneinfo/America/Rainy_River", + "usr/share/zoneinfo/America/Rankin_Inlet", + "usr/share/zoneinfo/America/Recife", + "usr/share/zoneinfo/America/Regina", + "usr/share/zoneinfo/America/Resolute", + "usr/share/zoneinfo/America/Rio_Branco", + "usr/share/zoneinfo/America/Rosario", + "usr/share/zoneinfo/America/Santa_Isabel", + "usr/share/zoneinfo/America/Santarem", + "usr/share/zoneinfo/America/Santiago", + "usr/share/zoneinfo/America/Santo_Domingo", + "usr/share/zoneinfo/America/Sao_Paulo", + "usr/share/zoneinfo/America/Scoresbysund", + "usr/share/zoneinfo/America/Shiprock", + "usr/share/zoneinfo/America/Sitka", + "usr/share/zoneinfo/America/St_Barthelemy", + "usr/share/zoneinfo/America/St_Johns", + "usr/share/zoneinfo/America/St_Kitts", + "usr/share/zoneinfo/America/St_Lucia", + "usr/share/zoneinfo/America/St_Thomas", + "usr/share/zoneinfo/America/St_Vincent", + "usr/share/zoneinfo/America/Swift_Current", + "usr/share/zoneinfo/America/Tegucigalpa", + "usr/share/zoneinfo/America/Thule", + "usr/share/zoneinfo/America/Thunder_Bay", + "usr/share/zoneinfo/America/Tijuana", + "usr/share/zoneinfo/America/Toronto", + "usr/share/zoneinfo/America/Tortola", + "usr/share/zoneinfo/America/Vancouver", + "usr/share/zoneinfo/America/Virgin", + "usr/share/zoneinfo/America/Whitehorse", + "usr/share/zoneinfo/America/Winnipeg", + "usr/share/zoneinfo/America/Yakutat", + "usr/share/zoneinfo/America/Yellowknife", + "usr/share/zoneinfo/America/Argentina/Buenos_Aires", + "usr/share/zoneinfo/America/Argentina/Catamarca", + "usr/share/zoneinfo/America/Argentina/ComodRivadavia", + "usr/share/zoneinfo/America/Argentina/Cordoba", + "usr/share/zoneinfo/America/Argentina/Jujuy", + "usr/share/zoneinfo/America/Argentina/La_Rioja", + "usr/share/zoneinfo/America/Argentina/Mendoza", + "usr/share/zoneinfo/America/Argentina/Rio_Gallegos", + "usr/share/zoneinfo/America/Argentina/Salta", + "usr/share/zoneinfo/America/Argentina/San_Juan", + "usr/share/zoneinfo/America/Argentina/San_Luis", + "usr/share/zoneinfo/America/Argentina/Tucuman", + "usr/share/zoneinfo/America/Argentina/Ushuaia", + "usr/share/zoneinfo/America/Indiana/Indianapolis", + "usr/share/zoneinfo/America/Indiana/Knox", + "usr/share/zoneinfo/America/Indiana/Marengo", + "usr/share/zoneinfo/America/Indiana/Petersburg", + "usr/share/zoneinfo/America/Indiana/Tell_City", + "usr/share/zoneinfo/America/Indiana/Vevay", + "usr/share/zoneinfo/America/Indiana/Vincennes", + "usr/share/zoneinfo/America/Indiana/Winamac", + "usr/share/zoneinfo/America/Kentucky/Louisville", + "usr/share/zoneinfo/America/Kentucky/Monticello", + "usr/share/zoneinfo/America/North_Dakota/Beulah", + "usr/share/zoneinfo/America/North_Dakota/Center", + "usr/share/zoneinfo/America/North_Dakota/New_Salem", + "usr/share/zoneinfo/Antarctica/Casey", + "usr/share/zoneinfo/Antarctica/Davis", + "usr/share/zoneinfo/Antarctica/DumontDUrville", + "usr/share/zoneinfo/Antarctica/Macquarie", + "usr/share/zoneinfo/Antarctica/Mawson", + "usr/share/zoneinfo/Antarctica/McMurdo", + "usr/share/zoneinfo/Antarctica/Palmer", + "usr/share/zoneinfo/Antarctica/Rothera", + "usr/share/zoneinfo/Antarctica/South_Pole", + "usr/share/zoneinfo/Antarctica/Syowa", + "usr/share/zoneinfo/Antarctica/Troll", + "usr/share/zoneinfo/Antarctica/Vostok", + "usr/share/zoneinfo/Arctic/Longyearbyen", + "usr/share/zoneinfo/Asia/Aden", + "usr/share/zoneinfo/Asia/Almaty", + "usr/share/zoneinfo/Asia/Amman", + "usr/share/zoneinfo/Asia/Anadyr", + "usr/share/zoneinfo/Asia/Aqtau", + "usr/share/zoneinfo/Asia/Aqtobe", + "usr/share/zoneinfo/Asia/Ashgabat", + "usr/share/zoneinfo/Asia/Ashkhabad", + "usr/share/zoneinfo/Asia/Atyrau", + "usr/share/zoneinfo/Asia/Baghdad", + "usr/share/zoneinfo/Asia/Bahrain", + "usr/share/zoneinfo/Asia/Baku", + "usr/share/zoneinfo/Asia/Bangkok", + "usr/share/zoneinfo/Asia/Barnaul", + "usr/share/zoneinfo/Asia/Beirut", + "usr/share/zoneinfo/Asia/Bishkek", + "usr/share/zoneinfo/Asia/Brunei", + "usr/share/zoneinfo/Asia/Calcutta", + "usr/share/zoneinfo/Asia/Chita", + "usr/share/zoneinfo/Asia/Choibalsan", + "usr/share/zoneinfo/Asia/Chongqing", + "usr/share/zoneinfo/Asia/Chungking", + "usr/share/zoneinfo/Asia/Colombo", + "usr/share/zoneinfo/Asia/Dacca", + "usr/share/zoneinfo/Asia/Damascus", + "usr/share/zoneinfo/Asia/Dhaka", + "usr/share/zoneinfo/Asia/Dili", + "usr/share/zoneinfo/Asia/Dubai", + "usr/share/zoneinfo/Asia/Dushanbe", + "usr/share/zoneinfo/Asia/Famagusta", + "usr/share/zoneinfo/Asia/Gaza", + "usr/share/zoneinfo/Asia/Harbin", + "usr/share/zoneinfo/Asia/Hebron", + "usr/share/zoneinfo/Asia/Ho_Chi_Minh", + "usr/share/zoneinfo/Asia/Hong_Kong", + "usr/share/zoneinfo/Asia/Hovd", + "usr/share/zoneinfo/Asia/Irkutsk", + "usr/share/zoneinfo/Asia/Istanbul", + "usr/share/zoneinfo/Asia/Jakarta", + "usr/share/zoneinfo/Asia/Jayapura", + "usr/share/zoneinfo/Asia/Jerusalem", + "usr/share/zoneinfo/Asia/Kabul", + "usr/share/zoneinfo/Asia/Kamchatka", + "usr/share/zoneinfo/Asia/Karachi", + "usr/share/zoneinfo/Asia/Kashgar", + "usr/share/zoneinfo/Asia/Kathmandu", + "usr/share/zoneinfo/Asia/Katmandu", + "usr/share/zoneinfo/Asia/Khandyga", + "usr/share/zoneinfo/Asia/Kolkata", + "usr/share/zoneinfo/Asia/Krasnoyarsk", + "usr/share/zoneinfo/Asia/Kuala_Lumpur", + "usr/share/zoneinfo/Asia/Kuching", + "usr/share/zoneinfo/Asia/Kuwait", + "usr/share/zoneinfo/Asia/Macao", + "usr/share/zoneinfo/Asia/Macau", + "usr/share/zoneinfo/Asia/Magadan", + "usr/share/zoneinfo/Asia/Makassar", + "usr/share/zoneinfo/Asia/Manila", + "usr/share/zoneinfo/Asia/Muscat", + "usr/share/zoneinfo/Asia/Nicosia", + "usr/share/zoneinfo/Asia/Novokuznetsk", + "usr/share/zoneinfo/Asia/Novosibirsk", + "usr/share/zoneinfo/Asia/Omsk", + "usr/share/zoneinfo/Asia/Oral", + "usr/share/zoneinfo/Asia/Phnom_Penh", + "usr/share/zoneinfo/Asia/Pontianak", + "usr/share/zoneinfo/Asia/Pyongyang", + "usr/share/zoneinfo/Asia/Qatar", + "usr/share/zoneinfo/Asia/Qostanay", + "usr/share/zoneinfo/Asia/Qyzylorda", + "usr/share/zoneinfo/Asia/Rangoon", + "usr/share/zoneinfo/Asia/Riyadh", + "usr/share/zoneinfo/Asia/Saigon", + "usr/share/zoneinfo/Asia/Sakhalin", + "usr/share/zoneinfo/Asia/Samarkand", + "usr/share/zoneinfo/Asia/Seoul", + "usr/share/zoneinfo/Asia/Shanghai", + "usr/share/zoneinfo/Asia/Singapore", + "usr/share/zoneinfo/Asia/Srednekolymsk", + "usr/share/zoneinfo/Asia/Taipei", + "usr/share/zoneinfo/Asia/Tashkent", + "usr/share/zoneinfo/Asia/Tbilisi", + "usr/share/zoneinfo/Asia/Tehran", + "usr/share/zoneinfo/Asia/Tel_Aviv", + "usr/share/zoneinfo/Asia/Thimbu", + "usr/share/zoneinfo/Asia/Thimphu", + "usr/share/zoneinfo/Asia/Tokyo", + "usr/share/zoneinfo/Asia/Tomsk", + "usr/share/zoneinfo/Asia/Ujung_Pandang", + "usr/share/zoneinfo/Asia/Ulaanbaatar", + "usr/share/zoneinfo/Asia/Ulan_Bator", + "usr/share/zoneinfo/Asia/Urumqi", + "usr/share/zoneinfo/Asia/Ust-Nera", + "usr/share/zoneinfo/Asia/Vientiane", + "usr/share/zoneinfo/Asia/Vladivostok", + "usr/share/zoneinfo/Asia/Yakutsk", + "usr/share/zoneinfo/Asia/Yangon", + "usr/share/zoneinfo/Asia/Yekaterinburg", + "usr/share/zoneinfo/Asia/Yerevan", + "usr/share/zoneinfo/Atlantic/Azores", + "usr/share/zoneinfo/Atlantic/Bermuda", + "usr/share/zoneinfo/Atlantic/Canary", + "usr/share/zoneinfo/Atlantic/Cape_Verde", + "usr/share/zoneinfo/Atlantic/Faeroe", + "usr/share/zoneinfo/Atlantic/Faroe", + "usr/share/zoneinfo/Atlantic/Jan_Mayen", + "usr/share/zoneinfo/Atlantic/Madeira", + "usr/share/zoneinfo/Atlantic/Reykjavik", + "usr/share/zoneinfo/Atlantic/South_Georgia", + "usr/share/zoneinfo/Atlantic/St_Helena", + "usr/share/zoneinfo/Atlantic/Stanley", + "usr/share/zoneinfo/Australia/ACT", + "usr/share/zoneinfo/Australia/Adelaide", + "usr/share/zoneinfo/Australia/Brisbane", + "usr/share/zoneinfo/Australia/Broken_Hill", + "usr/share/zoneinfo/Australia/Canberra", + "usr/share/zoneinfo/Australia/Currie", + "usr/share/zoneinfo/Australia/Darwin", + "usr/share/zoneinfo/Australia/Eucla", + "usr/share/zoneinfo/Australia/Hobart", + "usr/share/zoneinfo/Australia/LHI", + "usr/share/zoneinfo/Australia/Lindeman", + "usr/share/zoneinfo/Australia/Lord_Howe", + "usr/share/zoneinfo/Australia/Melbourne", + "usr/share/zoneinfo/Australia/NSW", + "usr/share/zoneinfo/Australia/North", + "usr/share/zoneinfo/Australia/Perth", + "usr/share/zoneinfo/Australia/Queensland", + "usr/share/zoneinfo/Australia/South", + "usr/share/zoneinfo/Australia/Sydney", + "usr/share/zoneinfo/Australia/Tasmania", + "usr/share/zoneinfo/Australia/Victoria", + "usr/share/zoneinfo/Australia/West", + "usr/share/zoneinfo/Australia/Yancowinna", + "usr/share/zoneinfo/Brazil/Acre", + "usr/share/zoneinfo/Brazil/DeNoronha", + "usr/share/zoneinfo/Brazil/East", + "usr/share/zoneinfo/Brazil/West", + "usr/share/zoneinfo/Canada/Atlantic", + "usr/share/zoneinfo/Canada/Central", + "usr/share/zoneinfo/Canada/Eastern", + "usr/share/zoneinfo/Canada/Mountain", + "usr/share/zoneinfo/Canada/Newfoundland", + "usr/share/zoneinfo/Canada/Pacific", + "usr/share/zoneinfo/Canada/Saskatchewan", + "usr/share/zoneinfo/Canada/Yukon", + "usr/share/zoneinfo/Chile/Continental", + "usr/share/zoneinfo/Chile/EasterIsland", + "usr/share/zoneinfo/Etc/GMT", + "usr/share/zoneinfo/Etc/GMT+0", + "usr/share/zoneinfo/Etc/GMT+1", + "usr/share/zoneinfo/Etc/GMT+10", + "usr/share/zoneinfo/Etc/GMT+11", + "usr/share/zoneinfo/Etc/GMT+12", + "usr/share/zoneinfo/Etc/GMT+2", + "usr/share/zoneinfo/Etc/GMT+3", + "usr/share/zoneinfo/Etc/GMT+4", + "usr/share/zoneinfo/Etc/GMT+5", + "usr/share/zoneinfo/Etc/GMT+6", + "usr/share/zoneinfo/Etc/GMT+7", + "usr/share/zoneinfo/Etc/GMT+8", + "usr/share/zoneinfo/Etc/GMT+9", + "usr/share/zoneinfo/Etc/GMT-0", + "usr/share/zoneinfo/Etc/GMT-1", + "usr/share/zoneinfo/Etc/GMT-10", + "usr/share/zoneinfo/Etc/GMT-11", + "usr/share/zoneinfo/Etc/GMT-12", + "usr/share/zoneinfo/Etc/GMT-13", + "usr/share/zoneinfo/Etc/GMT-14", + "usr/share/zoneinfo/Etc/GMT-2", + "usr/share/zoneinfo/Etc/GMT-3", + "usr/share/zoneinfo/Etc/GMT-4", + "usr/share/zoneinfo/Etc/GMT-5", + "usr/share/zoneinfo/Etc/GMT-6", + "usr/share/zoneinfo/Etc/GMT-7", + "usr/share/zoneinfo/Etc/GMT-8", + "usr/share/zoneinfo/Etc/GMT-9", + "usr/share/zoneinfo/Etc/GMT0", + "usr/share/zoneinfo/Etc/Greenwich", + "usr/share/zoneinfo/Etc/UCT", + "usr/share/zoneinfo/Etc/UTC", + "usr/share/zoneinfo/Etc/Universal", + "usr/share/zoneinfo/Etc/Zulu", + "usr/share/zoneinfo/Europe/Amsterdam", + "usr/share/zoneinfo/Europe/Andorra", + "usr/share/zoneinfo/Europe/Astrakhan", + "usr/share/zoneinfo/Europe/Athens", + "usr/share/zoneinfo/Europe/Belfast", + "usr/share/zoneinfo/Europe/Belgrade", + "usr/share/zoneinfo/Europe/Berlin", + "usr/share/zoneinfo/Europe/Bratislava", + "usr/share/zoneinfo/Europe/Brussels", + "usr/share/zoneinfo/Europe/Bucharest", + "usr/share/zoneinfo/Europe/Budapest", + "usr/share/zoneinfo/Europe/Busingen", + "usr/share/zoneinfo/Europe/Chisinau", + "usr/share/zoneinfo/Europe/Copenhagen", + "usr/share/zoneinfo/Europe/Dublin", + "usr/share/zoneinfo/Europe/Gibraltar", + "usr/share/zoneinfo/Europe/Guernsey", + "usr/share/zoneinfo/Europe/Helsinki", + "usr/share/zoneinfo/Europe/Isle_of_Man", + "usr/share/zoneinfo/Europe/Istanbul", + "usr/share/zoneinfo/Europe/Jersey", + "usr/share/zoneinfo/Europe/Kaliningrad", + "usr/share/zoneinfo/Europe/Kiev", + "usr/share/zoneinfo/Europe/Kirov", + "usr/share/zoneinfo/Europe/Kyiv", + "usr/share/zoneinfo/Europe/Lisbon", + "usr/share/zoneinfo/Europe/Ljubljana", + "usr/share/zoneinfo/Europe/London", + "usr/share/zoneinfo/Europe/Luxembourg", + "usr/share/zoneinfo/Europe/Madrid", + "usr/share/zoneinfo/Europe/Malta", + "usr/share/zoneinfo/Europe/Mariehamn", + "usr/share/zoneinfo/Europe/Minsk", + "usr/share/zoneinfo/Europe/Monaco", + "usr/share/zoneinfo/Europe/Moscow", + "usr/share/zoneinfo/Europe/Nicosia", + "usr/share/zoneinfo/Europe/Oslo", + "usr/share/zoneinfo/Europe/Paris", + "usr/share/zoneinfo/Europe/Podgorica", + "usr/share/zoneinfo/Europe/Prague", + "usr/share/zoneinfo/Europe/Riga", + "usr/share/zoneinfo/Europe/Rome", + "usr/share/zoneinfo/Europe/Samara", + "usr/share/zoneinfo/Europe/San_Marino", + "usr/share/zoneinfo/Europe/Sarajevo", + "usr/share/zoneinfo/Europe/Saratov", + "usr/share/zoneinfo/Europe/Simferopol", + "usr/share/zoneinfo/Europe/Skopje", + "usr/share/zoneinfo/Europe/Sofia", + "usr/share/zoneinfo/Europe/Stockholm", + "usr/share/zoneinfo/Europe/Tallinn", + "usr/share/zoneinfo/Europe/Tirane", + "usr/share/zoneinfo/Europe/Tiraspol", + "usr/share/zoneinfo/Europe/Ulyanovsk", + "usr/share/zoneinfo/Europe/Uzhgorod", + "usr/share/zoneinfo/Europe/Vaduz", + "usr/share/zoneinfo/Europe/Vatican", + "usr/share/zoneinfo/Europe/Vienna", + "usr/share/zoneinfo/Europe/Vilnius", + "usr/share/zoneinfo/Europe/Volgograd", + "usr/share/zoneinfo/Europe/Warsaw", + "usr/share/zoneinfo/Europe/Zagreb", + "usr/share/zoneinfo/Europe/Zaporozhye", + "usr/share/zoneinfo/Europe/Zurich", + "usr/share/zoneinfo/Indian/Antananarivo", + "usr/share/zoneinfo/Indian/Chagos", + "usr/share/zoneinfo/Indian/Christmas", + "usr/share/zoneinfo/Indian/Cocos", + "usr/share/zoneinfo/Indian/Comoro", + "usr/share/zoneinfo/Indian/Kerguelen", + "usr/share/zoneinfo/Indian/Mahe", + "usr/share/zoneinfo/Indian/Maldives", + "usr/share/zoneinfo/Indian/Mauritius", + "usr/share/zoneinfo/Indian/Mayotte", + "usr/share/zoneinfo/Indian/Reunion", + "usr/share/zoneinfo/Mexico/BajaNorte", + "usr/share/zoneinfo/Mexico/BajaSur", + "usr/share/zoneinfo/Mexico/General", + "usr/share/zoneinfo/Pacific/Apia", + "usr/share/zoneinfo/Pacific/Auckland", + "usr/share/zoneinfo/Pacific/Bougainville", + "usr/share/zoneinfo/Pacific/Chatham", + "usr/share/zoneinfo/Pacific/Chuuk", + "usr/share/zoneinfo/Pacific/Easter", + "usr/share/zoneinfo/Pacific/Efate", + "usr/share/zoneinfo/Pacific/Enderbury", + "usr/share/zoneinfo/Pacific/Fakaofo", + "usr/share/zoneinfo/Pacific/Fiji", + "usr/share/zoneinfo/Pacific/Funafuti", + "usr/share/zoneinfo/Pacific/Galapagos", + "usr/share/zoneinfo/Pacific/Gambier", + "usr/share/zoneinfo/Pacific/Guadalcanal", + "usr/share/zoneinfo/Pacific/Guam", + "usr/share/zoneinfo/Pacific/Honolulu", + "usr/share/zoneinfo/Pacific/Johnston", + "usr/share/zoneinfo/Pacific/Kanton", + "usr/share/zoneinfo/Pacific/Kiritimati", + "usr/share/zoneinfo/Pacific/Kosrae", + "usr/share/zoneinfo/Pacific/Kwajalein", + "usr/share/zoneinfo/Pacific/Majuro", + "usr/share/zoneinfo/Pacific/Marquesas", + "usr/share/zoneinfo/Pacific/Midway", + "usr/share/zoneinfo/Pacific/Nauru", + "usr/share/zoneinfo/Pacific/Niue", + "usr/share/zoneinfo/Pacific/Norfolk", + "usr/share/zoneinfo/Pacific/Noumea", + "usr/share/zoneinfo/Pacific/Pago_Pago", + "usr/share/zoneinfo/Pacific/Palau", + "usr/share/zoneinfo/Pacific/Pitcairn", + "usr/share/zoneinfo/Pacific/Pohnpei", + "usr/share/zoneinfo/Pacific/Ponape", + "usr/share/zoneinfo/Pacific/Port_Moresby", + "usr/share/zoneinfo/Pacific/Rarotonga", + "usr/share/zoneinfo/Pacific/Saipan", + "usr/share/zoneinfo/Pacific/Samoa", + "usr/share/zoneinfo/Pacific/Tahiti", + "usr/share/zoneinfo/Pacific/Tarawa", + "usr/share/zoneinfo/Pacific/Tongatapu", + "usr/share/zoneinfo/Pacific/Truk", + "usr/share/zoneinfo/Pacific/Wake", + "usr/share/zoneinfo/Pacific/Wallis", + "usr/share/zoneinfo/Pacific/Yap", + "usr/share/zoneinfo/US/Alaska", + "usr/share/zoneinfo/US/Aleutian", + "usr/share/zoneinfo/US/Arizona", + "usr/share/zoneinfo/US/Central", + "usr/share/zoneinfo/US/East-Indiana", + "usr/share/zoneinfo/US/Eastern", + "usr/share/zoneinfo/US/Hawaii", + "usr/share/zoneinfo/US/Indiana-Starke", + "usr/share/zoneinfo/US/Michigan", + "usr/share/zoneinfo/US/Mountain", + "usr/share/zoneinfo/US/Pacific", + "usr/share/zoneinfo/US/Samoa" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "xz-libs@5.8.3-r0", + "Name": "xz-libs", + "Identifier": { + "PURL": "pkg:apk/alpine/xz-libs@5.8.3-r0?arch=x86_64\u0026distro=3.24.1", + "UID": "1ae658a5f132a091" + }, + "Version": "5.8.3-r0", + "Arch": "x86_64", + "SrcName": "xz", + "SrcVersion": "5.8.3-r0", + "Licenses": [ + "GPL-2.0-or-later", + "0BSD", + "Public-Domain", + "LGPL-2.1-or-later" + ], + "Maintainer": "Natanael Copa \u003cncopa@alpinelinux.org\u003e", + "DependsOn": [ + "musl@1.2.6-r2" + ], + "Layer": { + "Digest": "sha256:2014fd3d47b2c2dd4dedc765822ac60ae269f3efa0e614f46ae29f540c7f1235", + "DiffID": "sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366" + }, + "Digest": "sha1:4c92c5be0c5bef404e93c880eba9037a9b147347", + "InstalledFiles": [ + "usr/lib/liblzma.so.5", + "usr/lib/liblzma.so.5.8.3" + ], + "AnalyzedBy": "apk" + }, + { + "ID": "zlib@1.3.2-r1", + "Name": "zlib", + "Identifier": { + "PURL": "pkg:apk/alpine/zlib@1.3.2-r1?arch=x86_64\u0026distro=3.24.1", + "UID": "1c01476a88d60a66" + }, + "Version": "1.3.2-r1", + "Arch": "x86_64", + "SrcName": "zlib", + "SrcVersion": "1.3.2-r1", + "Licenses": [ + "Zlib" + ], + "Maintainer": "Natanael Copa \u003cncopa@alpinelinux.org\u003e", + "DependsOn": [ + "musl@1.2.6-r2" + ], + "Layer": { + "Digest": "sha256:645872f9a17cb984e868cc31e749d9db7227a520a47e5d39cc5836f98eb2f731", + "DiffID": "sha256:264cd36fa61846dbe59ce642a36e8d738c415368e666ed0b6c680dc856e1202e" + }, + "Digest": "sha1:4f525c8cc204f84b8b4ca40db3be389958f056c6", + "InstalledFiles": [ + "usr/lib/libz.so.1", + "usr/lib/libz.so.1.3.2" + ], + "AnalyzedBy": "apk" + } + ] + }, + { + "Target": "Python", + "Class": "lang-pkgs", + "Type": "python-pkg", + "Packages": [ + { + "Name": "PyJWT", + "Identifier": { + "PURL": "pkg:pypi/pyjwt@2.15.1", + "UID": "d3f5f9a421b8abc9" + }, + "Version": "2.15.1", + "Licenses": [ + "MIT" + ], + "Layer": { + "Digest": "sha256:82ff17b555d91096dd328eb1e829daaeba9a48d7757143d0b97c35a721f6fb87", + "DiffID": "sha256:648451a0dda84ad04681e32b5ecc7cd5d3a4f0ad84f783e9598d72bc69620d5c" + }, + "FilePath": "opt/venv/lib/python3.12/site-packages/pyjwt-2.15.1.dist-info/METADATA", + "AnalyzedBy": "python-pkg" + }, + { + "Name": "cffi", + "Identifier": { + "PURL": "pkg:pypi/cffi@2.1.1", + "UID": "21042e2f37e33c05" + }, + "Version": "2.1.1", + "Licenses": [ + "MIT-0" + ], + "Layer": { + "Digest": "sha256:82ff17b555d91096dd328eb1e829daaeba9a48d7757143d0b97c35a721f6fb87", + "DiffID": "sha256:648451a0dda84ad04681e32b5ecc7cd5d3a4f0ad84f783e9598d72bc69620d5c" + }, + "FilePath": "opt/venv/lib/python3.12/site-packages/cffi-2.1.1.dist-info/METADATA", + "AnalyzedBy": "python-pkg" + }, + { + "Name": "cryptography", + "Identifier": { + "PURL": "pkg:pypi/cryptography@50.0.1", + "UID": "dcb3df6383fe2a60" + }, + "Version": "50.0.1", + "Licenses": [ + "Apache-2.0 OR BSD-3-Clause" + ], + "Layer": { + "Digest": "sha256:82ff17b555d91096dd328eb1e829daaeba9a48d7757143d0b97c35a721f6fb87", + "DiffID": "sha256:648451a0dda84ad04681e32b5ecc7cd5d3a4f0ad84f783e9598d72bc69620d5c" + }, + "FilePath": "opt/venv/lib/python3.12/site-packages/cryptography-50.0.1.dist-info/METADATA", + "AnalyzedBy": "python-pkg" + }, + { + "Name": "informed-decision", + "Identifier": { + "PURL": "pkg:pypi/informed-decision@0.2.0", + "UID": "7989f2afae8ff568" + }, + "Version": "0.2.0", + "Layer": { + "Digest": "sha256:82ff17b555d91096dd328eb1e829daaeba9a48d7757143d0b97c35a721f6fb87", + "DiffID": "sha256:648451a0dda84ad04681e32b5ecc7cd5d3a4f0ad84f783e9598d72bc69620d5c" + }, + "FilePath": "opt/venv/lib/python3.12/site-packages/informed_decision-0.2.0.dist-info/METADATA", + "AnalyzedBy": "python-pkg" + }, + { + "Name": "pycparser", + "Identifier": { + "PURL": "pkg:pypi/pycparser@3.0", + "UID": "e5a4d03f15a695ff" + }, + "Version": "3.0", + "Licenses": [ + "BSD-3-Clause" + ], + "Layer": { + "Digest": "sha256:82ff17b555d91096dd328eb1e829daaeba9a48d7757143d0b97c35a721f6fb87", + "DiffID": "sha256:648451a0dda84ad04681e32b5ecc7cd5d3a4f0ad84f783e9598d72bc69620d5c" + }, + "FilePath": "opt/venv/lib/python3.12/site-packages/pycparser-3.0.dist-info/METADATA", + "AnalyzedBy": "python-pkg" + }, + { + "Name": "waitress", + "Identifier": { + "PURL": "pkg:pypi/waitress@3.0.2", + "UID": "806e218e1c1e85f" + }, + "Version": "3.0.2", + "Licenses": [ + "ZPL-2.1" + ], + "Layer": { + "Digest": "sha256:82ff17b555d91096dd328eb1e829daaeba9a48d7757143d0b97c35a721f6fb87", + "DiffID": "sha256:648451a0dda84ad04681e32b5ecc7cd5d3a4f0ad84f783e9598d72bc69620d5c" + }, + "FilePath": "opt/venv/lib/python3.12/site-packages/waitress-3.0.2.dist-info/METADATA", + "AnalyzedBy": "python-pkg" + } + ] + } + ] +} diff --git a/docs/evidence/2026-10-11-zlib-remediation-candidate/verify_local_artifacts.py b/docs/evidence/2026-10-11-zlib-remediation-candidate/verify_local_artifacts.py new file mode 100644 index 0000000..76e9bca --- /dev/null +++ b/docs/evidence/2026-10-11-zlib-remediation-candidate/verify_local_artifacts.py @@ -0,0 +1,56 @@ +from pathlib import Path +import hashlib,io,json,tarfile,sys +if sys.flags.optimize: + raise SystemExit("REFUSED: optimized Python disables required artifact validation") +root=Path(sys.argv[1]) if len(sys.argv)==2 else Path('/tmp/infd-zlib-remediation-build') +def image(path): + with tarfile.open(path) as archive: + manifest=json.load(archive.extractfile('manifest.json'));assert len(manifest)==1 + configbytes=archive.extractfile(manifest[0]['Config']).read();config=json.loads(configbytes) + files={} + for name in manifest[0]['Layers']: + additions={};removed=[];opaque=[] + with tarfile.open(fileobj=archive.extractfile(name),mode='r|*') as layer: + for member in layer: + path=member.name + while path.startswith('./'):path=path[2:] + path=path.lstrip('/');p=Path(path) + if p.name=='.wh..wh..opq': + parent=p.parent.as_posix();opaque.append('' if parent=='.' else parent+'/');continue + if p.name.startswith('.wh.'): + removed.append((p.parent/p.name[4:]).as_posix());continue + if member.isfile(): + data=layer.extractfile(member).read();value=('file',member.mode,member.uid,member.gid,hashlib.sha256(data).hexdigest()) + elif member.isdir():value=('directory',member.mode,member.uid,member.gid,None) + elif member.issym() or member.islnk():value=('link',member.mode,member.uid,member.gid,member.linkname) + else:continue + additions[path]=value + # OCI whiteouts mask lower-layer entries only; same-layer additions survive + # independently of where the marker appeared in the layer tar stream. + files={key:value for key,value in files.items() if not any(key.startswith(prefix) for prefix in opaque) and not any(key==target or key.startswith(target+'/') for target in removed)} + files.update(additions) + return config,hashlib.sha256(configbytes).hexdigest(),files +base,baseid,bfiles=image(root/'base-image.tar');candidate,candidateid,cfiles=image(root/'image.tar') +assert candidate['rootfs']['diff_ids'][:-2]==base['rootfs']['diff_ids'] +changed={name:{'before':bfiles.get(name),'after':cfiles.get(name)} for name in sorted(set(bfiles)|set(cfiles)) if bfiles.get(name)!=cfiles.get(name)} +expected={'usr/lib/libz.so.1.3.2','lib/apk/db/installed'} +assert set(changed)<=expected,set(changed) +a,b=base['config'].copy(),candidate['config'].copy() +labels_a=a.pop('Labels',{});labels_b=b.pop('Labels',{}) +a.pop('Image',None);b.pop('Image',None) +defaults={'Hostname':'','Domainname':'','AttachStdin':False,'AttachStdout':False,'AttachStderr':False,'Tty':False,'OpenStdin':False,'StdinOnce':False,'Cmd':None,'Volumes':None,'OnBuild':None} +for key,value in defaults.items(): + a.setdefault(key,value);b.setdefault(key,value) +assert a==b,(a,b) +components=[] +for name in ['base-sbom.cdx.json','sbom.cdx.json']: + data=json.loads((root/name).read_text());components.append({c['name']:c['version'] for c in data['components'] if c.get('purl')}) +sbom_delta={name:[components[0].get(name),components[1].get(name)] for name in set(components[0])|set(components[1]) if components[0].get(name)!=components[1].get(name)} +assert sbom_delta=={'zlib':['1.3.2-r0','1.3.2-r1']},sbom_delta +vulns=[] +for name in ['base-trivy-full.json','trivy-full.json']: + data=json.loads((root/name).read_text());vulns.append([v for r in data.get('Results',[]) for v in r.get('Vulnerabilities',[])]) +assert len(vulns[0])==1 and vulns[0][0]['VulnerabilityID']=='CVE-2026-85091' and vulns[0][0]['Severity']=='MEDIUM' +assert not vulns[1] +proof={'base_image_config_id':'sha256:'+baseid,'candidate_local_image_config_id':'sha256:'+candidateid,'candidate_registry_digest':None,'base_layers_preserved':len(base['rootfs']['diff_ids']),'new_layers':2,'effective_runtime_config_identical':True,'raw_config_bytes_identical':False,'serialization_note':'Legacy base explicitly serialized empty/false/null defaults; candidate Docker-save config omits equivalent known defaults. Exact closed default normalization only; runtime fields unchanged.','labels_before':labels_a,'labels_after':labels_b,'final_changed_files':changed,'directory_metadata_compared':True,'directory_count_base':sum(v[0]=='directory' for v in bfiles.values()),'directory_count_candidate':sum(v[0]=='directory' for v in cfiles.values()),'directory_metadata_delta':{k:v for k,v in changed.items() if (v['before'] and v['before'][0]=='directory') or (v['after'] and v['after'][0]=='directory')},'sbom_package_count_base':len(components[0]),'sbom_package_count_candidate':len(components[1]),'sbom_only_delta':sbom_delta,'full_scan_baseline_findings':1,'full_scan_candidate_allseverity_findings':0,'db_snapshot_same':True,'native_workload_changed':False} +(root/'artifact-comparison.json').write_text(json.dumps(proof,indent=2)+'\n');print(json.dumps({key:proof[key] for key in ['candidate_local_image_config_id','base_layers_preserved','effective_runtime_config_identical','sbom_only_delta','full_scan_candidate_allseverity_findings']}));print(json.dumps(list(changed))) diff --git a/docs/reviews/2026-10-11-zlib-candidate-product-owner-complete-ack.md b/docs/reviews/2026-10-11-zlib-candidate-product-owner-complete-ack.md new file mode 100644 index 0000000..0b4cf42 --- /dev/null +++ b/docs/reviews/2026-10-11-zlib-candidate-product-owner-complete-ack.md @@ -0,0 +1,61 @@ +# Exact74 zlib candidate final Product acknowledgment + +```yaml +reviewer: informed-decision-owner (agent informed-decision, codex) +decision: approved +work_item: INFD-WP-ADHOC-2026-10-11-T08 +scope: exact local T05 source preparation after lower-layer whiteout correction +manifest_sha256: 724aa4777eb1c8976d868e5f504473f4b6d58f13d750d87aefa5c8d5ca0747ec +comment: >- + Same completed T08 preparation trial, with work-record refinement prepared + before this formal final acknowledgment. Initial5f334/intermediate8bc6 and + changes-requested85ffd remain exact historical reviews and evidence. + This is source technical agreement only, not publication/native go, + founder acceptance, scored new success or T05 completion. +``` + +All74 final staged hashes independently verify. Actual66-to74 changes remain +within artifact-audit source/tests/receipts/docs plus historical archive additions; +Containerfile/workflow/signed APK/index/pins/buildcontext, image78bfdcc/config625d, +package/runtime/backend/app/identity/policy, scanner DB/full scan/SBOM and WP +source scope remain unchanged from original preparation. Initial and intermediate +candidate source archives retain their exact manifest/bytes. + +The checker separately collects current layer additions and lower-layer whiteout +removals/opaque prefixes. It filters only previous-layer state and merges the +current layer additions afterward, preserving them in either archive order. +This corrects the concrete Product finding: nested/root opacity and explicit +ancestor removal no longer delete new same-layer files. Five audit tests pass, +including12 whiteout cases for root/nested removal/opacity and reversed-order +replacements, optimized malformed before-read refusal and directory mode/UID/GID +refusals. The three original Product counterexamples are independently rerun +against frozen74 checker and all preserve new same-layer files. +[OCI layer specification](https://github.com/opencontainers/image-spec/blob/main/layer.md) +requires this lower-layer boundary and order-independent opacity handling. + +Independent reread of existing actual local saved-image archives passes with +corrected reconstruction:313directories in each image, zero directory metadata +delta, exact final changes only libz/APK installed DB, nine base layers preserved, +effective runtime equality, only zlibr0 to r1 SBOM delta, and retained scan +base1MED/candidate0 at same database. No rebuild, container execution, scanner +repeat or native data/provider operation occurred in this review. Earlier source +checks of APK trust/bytes/backend/purpose remain applicable because their +artifacts/code are unchanged. Signature execution evidence remains retained maker +apk verify against exact763 trusted keys; no fresh Product crypto execution +claimed. Zero findings is bounded to that retained database snapshot, with +Alpine detector/EOL-list limitations; no estate risk grade or future guarantee. + +Initial Product5f334 and intermediate8bc6 acknowledgments are historical, with +the latter subsequently refined after the explicit85ffd finding. The finding +and all its counterexample bytes remain under +`docs/evidence/2026-10-11-zlib-candidate-product-complete-review/changes-requested-85ffd628/`. +This exact74 acknowledgment resolves that finding without rewriting it as prior +success. No new privileged trial or human approval is inferred from refinements. + +T05 remains progress, WP0009 active, manual follow-up due2026-10-18. Root exact +source review/commit, existing admitted owner CI candidate publication, actual +registry provenance/package/context and full published scan/SBOM proof precede +separate exact native founder release acceptance; installedr1/runtime/full-rescan +proof precedes T05 closure. Current763/nativec96 T04 result, DB/config/PVC/identity, +approved R2 helper/journal and INFD-IN-0010 unpromoted state remain untouched. +No owner checkout writes, publication, credential access or native commands. diff --git a/docs/reviews/2026-10-11-zlib-candidate-product-owner-final-ack.md b/docs/reviews/2026-10-11-zlib-candidate-product-owner-final-ack.md new file mode 100644 index 0000000..c100415 --- /dev/null +++ b/docs/reviews/2026-10-11-zlib-candidate-product-owner-final-ack.md @@ -0,0 +1,55 @@ +# Exact amended zlib candidate Product confirmation + +```yaml +reviewer: informed-decision-owner (agent informed-decision, codex) +decision: approved +work_item: INFD-WP-ADHOC-2026-10-11-T08 +scope: exact amended local T05 source candidate preparation only +manifest_sha256: 64509029b3de6d33e3675587663ccdae027d9ea18aba83750892480766dd03b8 +comment: >- + Same completed T08 preparation trial: work-record refinement was prepared + before this formal exact acknowledgment. Initial Product agreement/manifest + 5f334 remains historical, including its bounded audit validation. This final + confirmation covers the guard refinement, not publication/native approval, + a second scored success or T05 completion. +``` + +All58 final staged hashes verify; all27 initial candidate snapshots match +immutable manifest8d345bb2. Actual initial-to-current diff changes only four +existing paths: artifact checker, its comparison and local-validation receipts, +and README. New audit tests/refinement record and original source archive are +additions. No Containerfile/workflow, signed APK/index/pins/four-file context, +package/runtime/backend/app/identity/policy artifact, scan/SBOM/DB or WP source +scope changed. Local daemon78bfdcc/config625d remain unpublished; source recipe +contextc554 and actual retained DB03cacb remain exact. Original four-source-test +and Product five negative-probe findings remain applicable, not needlessly rerun. + +The artifact checker now refuses optimized Python before any archive/JSON read, +so assertions cannot silently disappear. Directory mode/UID/GID metadata is +included in final layer reconstruction and diff enforcement. Three new source +tests pass: malformed archive under -O refuses explicitly before reads; identical +directory metadata passes; each mode/UID/GID mutation refuses without a report. +These fixtures are isolated synthetic source tests. Independent reread of actual +existing local saved-image archives confirms equal directory counts and no +directory metadata delta; the same two final changed files are libz and APK DB, +nine base layers remain prefix and effective runtime config/SBOM/scan match. +No new image build, container launch, scan, customer/native data or provider call +was performed by this review. + +Initial Product review and validation retain their exact bytes under +`docs/evidence/2026-10-11-zlib-candidate-product-final-review/initial-5f334757/`; +original current review file remains the initial agreement, with this separate +final acknowledgment carrying the refinement. Signature trust conclusions stay +bounded to pinned signed artifacts/unchanged trust metadata, actual retained +maker apk verify and enforced recipe; this acknowledgment does not claim fresh +cryptographic execution. Zero findings remains specific to retained sameDB scan, +not an estate risk grade or future safety assurance. + +T05 remains progress, WP0009 active and manual follow-up due2026-10-18. Root +source review/commit and admitted owner CI candidate publication, exact actual +published registry provenance/package/full scan/SBOM, separate fresh native +founder release acceptance and installedr1/runtime/full-rescan proof remain +required. Existing approved R2 helper/journal, native image763, DB/config/PVC/ +identity and T04/c96 outcome are unchanged. INFD-IN-0010 remains unpromoted and +unimplemented. This technical acknowledgment grants no native action, human +acceptance, credential capability or publication execution. diff --git a/docs/reviews/2026-10-11-zlib-candidate-product-owner-review.md b/docs/reviews/2026-10-11-zlib-candidate-product-owner-review.md new file mode 100644 index 0000000..461d4d1 --- /dev/null +++ b/docs/reviews/2026-10-11-zlib-candidate-product-owner-review.md @@ -0,0 +1,74 @@ +# Bounded zlib candidate Product owner review + +```yaml +reviewer: informed-decision-owner (agent informed-decision, codex) +decision: approved +work_item: INFD-WP-ADHOC-2026-10-11-T08 +scope: exact local zlib-only source candidate technical preparation +manifest_sha256: 8d345bb2bde3efce4d0cc99dfc2f883a64f79c42d2cd4abb288229a995e9ad66 +comment: >- + Informed-decision intent requires human binding and preserved evidence; this + candidate changes only a native compression dependency while preserving + application authorization/presentation behavior. T08 review work record was + completed first. This is technical source agreement, not native go, publication + receipt, founder acceptance or T05 completion. +``` + +All27 staged hashes and retained evidence-file hashes independently verify. +Independent saved-image archive readback confirms all nine exact763 base diff_ids +as prefix, equal effective runtime configuration with only explicitly normalized +empty/false/null defaults, and final filesystem changes exactly +`usr/lib/libz.so.1.3.2` and `lib/apk/db/installed`. Modes/owners remain equivalent. +Application36 files, policy9d7, trust keys, APK world, Python dependencies, OpenSSL +and UID/GID10001 remain equal. Root build identity returns to10001:10001. +No service values, namespace, DB, customer data, config, PVC, schema, audience, +policy pins, protected helper or existing release journal is changed. + +Package/index bytes match pinned official HTTPS download hashes. Both signed +archives name alpine-devel@lists.alpinelinux.org-6165ee59.rsa.pub, already present +in unchanged baseline trust metadata. Retained actual maker apk verify success +against exact763 installed keys is the execution evidence; this review separately +checks archive signatures' metadata, bytes and trust identity, without claiming +a new signature-verification execution. Containerfile requires digest checks and +`apk verify` success before offline named-package upgrade; no allow-untrusted or +keys-dir override. Existing trusted keys are not replaced. +[Official apk verify documentation](https://github.com/alpinelinux/apk-tools/blob/master/doc/apk-verify.8.scd) +defines integrity/signature checking and nonzero failure. +Upgrade selects only zlib from retained local signed index, disables network, +preupgrade and logging, and removes temporary public artifacts. + +Both full CycloneDX/Trivy artifacts independently show44 packages and only +zlib1.3.2-r0 to1.3.2-r1 version delta. Full baseline has one MEDIUM +CVE-2026-85091; candidate has zero findings at the retained same database +03cacb40452ceb74afdfca072cb82f79ee884dfac006ef24a4dfdad133b0f917. +No severity suppression is inferred or permitted. Alpine3.24 EOL-list warning +and actual38 OS/6 Python detector coverage remain disclosed. This is bounded +scan improvement at that snapshot, not estate risk grading or future safety. +Local daemon image78bfdcc and saved OCI config625d are distinct disclosed +representations; neither is a published registry digest or native image proof. + +Four existing source tests pass, covering eight mutations; five additional Product +mutations of app source, trust keys, APK world, network and provider/data flags +refuse. Independent archive/SBOM/scan readback agrees with maker artifact receipt. +Retained four compression vectors/three malformed refusals/crypto/JWT/waitress +and ten installed purpose variants are local synthetic checks, not live PDP +or customer/native-data testing. No new container or native execution by reviewer. + +Workflow publishes only a source-bound candidate through existing admitted owner +registry capability after root source review/commit: exact40hex source revision, +fixed owner archive, four input hashes/contextc554, exact763 base, no-network +bounded build, unchanged runtime comparison and purpose checks before push. +It has no kubectl, Argo, DB/admin, namespace or runtime deployment action. +The workflow is unexecuted; source review does not attest CI credentials, actual +publication or published artifact equivalence. Root must retain actual CI/source +revision and registry descriptor/layer/config/package/signature/context readback, +then full published scan/SBOM and scoped candidate release preparation. Only +distinct exact informed-decision founder native approval followed by installedr1, +runtime/purpose and full-rescan proof can close T05. Future image-only rollback +to763 preserves latest DB; no historical snapshot restore. + +T05 remains progress, WP0009 active, manual follow-up due2026-10-18; no automatic +controller is implied. T04/c96 accepted outcome and original uncertain journals +remain historical and immutable. INFD-IN-0010 is unchanged and unpromoted. +No new native authority, owner checkout write, credential/login, deployment or +customer-data access occurred in this review. diff --git a/docs/reviews/2026-10-11-zlib-candidate-product-whiteout-review.md b/docs/reviews/2026-10-11-zlib-candidate-product-whiteout-review.md new file mode 100644 index 0000000..bad854b --- /dev/null +++ b/docs/reviews/2026-10-11-zlib-candidate-product-whiteout-review.md @@ -0,0 +1,37 @@ +# Exact66 zlib audit whiteout Product finding + +```yaml +reviewer: informed-decision-owner (agent informed-decision, codex) +decision: changes_requested +work_item: INFD-WP-ADHOC-2026-10-11-T08 +scope: exact66 local candidate artifact-audit source refinement +manifest_sha256: 3e41ab391cda26f09a556fecef8a17c2759ef2899e43eb136b25ef4b3fde23a0 +comment: >- + Same completed T08; work record prepared before this formal finding. + No actual candidate-image failure or new scored/native trial. Preserve + initial5f334 and intermediate8bc6 acknowledgments as historical. +``` + +All66 staged hashes independently verify. Whiteout leading-dot and root opaque +handling corrections address the prior cases, but remaining stream-order behavior +violates the lower-layer boundary. A synthetic parent layer contains usr/child/old; +next layer writes a new file before its whiteout marker. Three retained isolated +probes reproduce incorrect deletion: usr/new then usr/.wh..wh..opq, root new then +.wh..wh..opq, and usr/child/new then usr/.wh.child. Actual parsed sets lose the +same-layer new file in every case. Frozen checker/manifest and reproducible +probe/receipt are retained under docs/evidence/2026-10-11-zlib-candidate-product-whiteout-review/. + +[OCI layer specification](https://github.com/opencontainers/image-spec/blob/main/layer.md) +requires whiteouts to affect only parent layers and opacity to precede new entries +regardless archive ordering. Correct reconstruction should apply whiteouts to +the prior layer state and then merge current layer additions, preserving both +marker-before and marker-after order semantics. Add meaningful root/nested opaque +and explicit-directory removal cases with same-layer children/replacements. +The existing four no-new-sibling cases cannot establish this boundary. + +This finding is confined to audit-source semantics, not APK trust or actual image +contents/build/scan. Current actual candidate image/context/package/workflow/ +runtime and scanner evidence remain unchanged; no native/read-only command or +customer/DB/credential access occurred. T05 remains progress/WP0009 active; +publication and distinct founder native release/installed proof remain pending. +A corrected exact frozen packet needs final technical confirmation. diff --git a/tools/zlib_overlay/check_build_inputs.py b/tools/zlib_overlay/check_build_inputs.py new file mode 100644 index 0000000..523de0f --- /dev/null +++ b/tools/zlib_overlay/check_build_inputs.py @@ -0,0 +1,19 @@ +"""Exact public input verification only; signature verification remains mandatory in build.""" +import hashlib,json,sys +from pathlib import Path + +def verify(root): + pins=json.loads((root/'pins.json').read_text()) + if set(pins['files'])!={'.dockerignore','Containerfile','zlib-1.3.2-r1.apk','APKINDEX.tar.gz'}:raise ValueError('unclosed inputs') + if pins['base_image']!='forgejo.coulomb.social/coulomb/informed-decision@sha256:763c36402c8be7cc4c1bd1a61623d1aff9116d52241877425b45a7018cc0883a':raise ValueError('base pin changed') + for name,digest in pins['files'].items(): + p=root/name + if p.is_symlink() or not p.is_file() or p.stat().st_size>1024*1024:raise ValueError('regular bounded source required') + if hashlib.sha256(p.read_bytes()).hexdigest()!=digest:raise ValueError('changed bytes') + digest=hashlib.sha256(json.dumps(pins['files'],sort_keys=True,separators=(',',':')).encode()).hexdigest() + if digest!=pins['context_sha256']:raise ValueError('context mismatch') + return {'context_sha256':digest,'input_files':4} + +if __name__=='__main__': + try:print(json.dumps(verify(Path(sys.argv[1])))) + except Exception:raise SystemExit('exact build inputs refused') from None diff --git a/tools/zlib_overlay/check_runtime.py b/tools/zlib_overlay/check_runtime.py new file mode 100644 index 0000000..b8eae32 --- /dev/null +++ b/tools/zlib_overlay/check_runtime.py @@ -0,0 +1,29 @@ +"""Package/backend/source metadata only; never opens a database or provider.""" +import ctypes, gzip, hashlib, importlib.metadata, json, os +from pathlib import Path +import ssl, stat, zlib, sys +if sys.flags.optimize:raise RuntimeError("optimized smoke interpreter refused") + +def digest(path):return hashlib.sha256(Path(path).read_bytes()).hexdigest() +packages={} +for entry in Path('/lib/apk/db/installed').read_text().split('\n\n'): + fields=dict(line.split(':',1) for line in entry.splitlines() if ':' in line) + if 'P' in fields:packages[fields['P']]=fields['V'] +module=Path('/opt/venv/lib/python3.12/site-packages/informed_decision/policy.py');info=module.lstat() +app=module.parent +appfiles={str(p.relative_to(app)):digest(p) for p in sorted(app.rglob('*')) if p.is_file() and '__pycache__' not in p.parts} +keys={p.name:digest(p) for p in sorted(Path('/etc/apk/keys').glob('*.pub'))} +vectors=[b'',b'hello zlib',bytes(range(256))*16384,b'a'*1048576] +for value in vectors: + assert zlib.decompress(zlib.compress(value))==value + assert gzip.decompress(gzip.compress(value,mtime=0))==value +failures=0 +for bad in [b'notzlib',zlib.compress(b'fixture')[:-2],b'\x00'*16]: + try:zlib.decompress(bad) + except zlib.error:failures+=1 + else:raise AssertionError('malformed compression accepted') +from cryptography.hazmat.primitives.ciphers.aead import AESGCM +import jwt, waitress +key=bytes(range(32));nonce=b'123456789012';aes=AESGCM(key);cipher=aes.encrypt(nonce,b'synthetic',b'fixture');assert aes.decrypt(nonce,cipher,b'fixture')==b'synthetic' +signed=jwt.encode({'sub':'synthetic'},'synthetic-test-key-only-32bytes!!!!',algorithm='HS256');assert jwt.decode(signed,'synthetic-test-key-only-32bytes!!!!',algorithms=['HS256'])['sub']=='synthetic' +print(json.dumps({'uid':os.getuid(),'gid':os.getgid(),'policy_sha256':digest(module),'policy_mode':oct(stat.S_IMODE(info.st_mode)),'policy_uid':info.st_uid,'app_file_sha256':appfiles,'apk_packages':packages,'apk_world_sha256':digest('/etc/apk/world'),'apk_keys_sha256':keys,'python_dependencies':{d.metadata['Name']:d.version for d in importlib.metadata.distributions()},'zlib_runtime_version':zlib.ZLIB_RUNTIME_VERSION,'zlib_compile_version':zlib.ZLIB_VERSION,'libz_sha256':digest('/usr/lib/libz.so.1.3.2'),'compression_vectors_pass':len(vectors),'malformed_zlib_refusals':failures,'crypto_jwt_waitress_smoke':True,'openssl':ssl.OPENSSL_VERSION,'network_accessed':False,'database_opened':False,'provider_or_customer_data_used':False})) diff --git a/tools/zlib_overlay/compare_runtime.py b/tools/zlib_overlay/compare_runtime.py new file mode 100644 index 0000000..d2da70a --- /dev/null +++ b/tools/zlib_overlay/compare_runtime.py @@ -0,0 +1,16 @@ +"""Metadata only; no database, provider or native action.""" +import json,sys + +def compare(a,b): + for field in ('app_file_sha256','policy_sha256','policy_uid','policy_mode','uid','gid','apk_world_sha256','apk_keys_sha256','python_dependencies','openssl'): + if a[field]!=b[field]:raise ValueError('unrelated delta: '+field) + changed={name:[a['apk_packages'].get(name),b['apk_packages'].get(name)] for name in set(a['apk_packages'])|set(b['apk_packages']) if a['apk_packages'].get(name)!=b['apk_packages'].get(name)} + if changed!={'zlib':['1.3.2-r0','1.3.2-r1']}:raise ValueError('not exact zlib-only delta') + if b['policy_sha256']!='9d7c1be4cb6199d14ef0aaead5f85951f45b0ccbd7c800a7fde922a253566b62' or b['uid']!=10001 or b['gid']!=10001 or b['policy_uid']!=0 or b['policy_mode']!='0o644':raise ValueError('purpose/identity differs') + if b['compression_vectors_pass']!=4 or b['malformed_zlib_refusals']!=3 or b['crypto_jwt_waitress_smoke'] is not True:raise ValueError('backend smoke differs') + if b['database_opened'] is not False or b['network_accessed'] is not False or b['provider_or_customer_data_used'] is not False:raise ValueError('unbounded smoke scope') + return {'zlib_only_delta':True,'app_files_identical':len(b['app_file_sha256']),'no_database_or_provider':True} + +if __name__=='__main__': + try:print(json.dumps(compare(json.loads(sys.argv[1]),json.loads(sys.argv[2])))) + except Exception:raise SystemExit('bounded runtime comparison refused') from None diff --git a/tools/zlib_overlay/test_candidate.py b/tools/zlib_overlay/test_candidate.py new file mode 100644 index 0000000..ae5a917 --- /dev/null +++ b/tools/zlib_overlay/test_candidate.py @@ -0,0 +1,32 @@ +import copy,importlib.util,json,tempfile,unittest,shutil +from pathlib import Path +ROOT=Path(__file__).parent +spec=importlib.util.spec_from_file_location('compare',ROOT/'compare_runtime.py');cmp=importlib.util.module_from_spec(spec);spec.loader.exec_module(cmp) +spec=importlib.util.spec_from_file_location('inputs',ROOT/'check_build_inputs.py');inputs=importlib.util.module_from_spec(spec);spec.loader.exec_module(inputs) +CASE=ROOT.parents[1]/'docs/evidence/2026-10-11-zlib-remediation-candidate' +class NarrowCandidate(unittest.TestCase): + def test_actual_single_package_delta(self): + a=json.loads((CASE/'base-runtime.json').read_text());b=json.loads((CASE/'candidate-runtime.json').read_text());self.assertTrue(cmp.compare(a,b)['zlib_only_delta']) + def test_unrelated_package_policy_identity_backend_database_python_refuse(self): + a=json.loads((CASE/'base-runtime.json').read_text());original=json.loads((CASE/'candidate-runtime.json').read_text()) + for field in ('package','policy','uid','backend','database','python'): + b=copy.deepcopy(original) + if field=='package':b['apk_packages']['musl']='different' + elif field=='policy':b['policy_sha256']='0'*64 + elif field=='uid':b['uid']=0 + elif field=='backend':b['malformed_zlib_refusals']=0 + elif field=='database':b['database_opened']=True + else:b['python_dependencies']['PyJWT']='different' + with self.subTest(field=field),self.assertRaises(ValueError):cmp.compare(a,b) + def test_mutated_package_or_index_refuse(self): + source=ROOT.parents[1]/'deploy/zlib-overlay' + for name in ('zlib-1.3.2-r1.apk','APKINDEX.tar.gz'): + with tempfile.TemporaryDirectory() as directory: + root=Path(directory)/'context';shutil.copytree(source,root);p=root/name;p.write_bytes(p.read_bytes()+b'changed') + with self.assertRaises(ValueError):inputs.verify(root) + def test_closed_recipe(self): + source=ROOT.parents[1]/'deploy/zlib-overlay';self.assertEqual(inputs.verify(source)['input_files'],4) + text=(source/'Containerfile').read_text() + for fragment in ('--no-preupgrade','--no-logfile','--no-network','--repositories-file /dev/null','--repository /tmp/infd-zlib zlib'):self.assertIn(fragment,text) + self.assertNotIn('--allow-untrusted',text) +if __name__=='__main__':unittest.main() diff --git a/workplans/ADHOC-2026-10-11.md b/workplans/ADHOC-2026-10-11.md index 00f47ae..e61fb50 100644 --- a/workplans/ADHOC-2026-10-11.md +++ b/workplans/ADHOC-2026-10-11.md @@ -228,3 +228,78 @@ handling correction; no implementation, native action or authority grant. This work-record preparation precedes the formal actual-outcome review entry. Review: docs/reviews/2026-10-11-purpose-native-outcome-product-owner-acceptance.md. Evidence: docs/evidence/2026-10-11-purpose-native-acceptance/. + + +## Independently review bounded zlib-only T05 source candidate + +```task +id: INFD-WP-ADHOC-2026-10-11-T08 +status: done +priority: medium +``` + +Completed informed-decision Product source review of exact27-path candidate +manifest8d345bb2bde3efce4d0cc99dfc2f883a64f79c42d2cd4abb288229a995e9ad66. +All staged/evidence hashes verify. Independently reread local saved base/candidate +image archives, effective runtime config, nine base layer prefix, two final file +changes and both full scan/SBOM artifacts. Only zlib1.3.2-r0 to r1 differs; +44 packages/base1MED to candidate0 at retained same scanner database. +Signed APK/index named key matches unchanged base trust metadata; enforced +apk verify against existing keys retained, no allow-untrusted or truststore override. +Four existing source tests pass (eight refusal mutations), plus five independent +appfile/trustkeys/world/network/provider metadata mutations refuse. +Purpose/backend checks remain local and synthetic, not actual PDP or data proof. +Technical source preparation agreement only: local image78bfdcc is unpublished, +T05 remains progress/WP0009 active; CI exact published provenance/scan/SBOM and +new native founder approval/installed proof are still required. Current763/native +DB/config/PVC/identity/approved R2 helper and journal remain unchanged; INFD-IN-0010 +is unpromoted/unimplemented. No native actions, credentials or owner source writes. +This completed work record is prepared before the formal review entry. +Review: docs/reviews/2026-10-11-zlib-candidate-product-owner-review.md. +Evidence: docs/evidence/2026-10-11-zlib-candidate-product-review/. + + +**Exact amended confirmation, same completed T08 preparation trial:** verified +final58-path candidate manifest64509029b3de6d33e3675587663ccdae027d9ea18aba83750892480766dd03b8 +and immutable archived initial27 hashes. Only artifact-audit source/receipts/docs +change; recipe/workflow/four build inputs/image78bfdcc/config625d/runtime/scan/DB +remain identical. New3 artifact tests pass (optimized malformed input refused +before reads; matching directories pass; directory mode/UID/GID drift refuse). +Independent actual saved-image reread proves all directory metadata unchanged, +with the same two final file changes. Initial Product manifest5f334/ack/validation +are retained as historical source agreement, not new scored native success. +This work-record refinement precedes final formal acknowledgment. No publication, +native operation, credentials or owner edits. T05progress/WP0009active remains. +Confirmation: docs/reviews/2026-10-11-zlib-candidate-product-owner-final-ack.md. + + +**Exact66 whiteout follow-through, same completed T08 preparation:** independently +verified manifest3e41ab391cda26f09a556fecef8a17c2759ef2899e43eb136b25ef4b3fde23a0 +and all66 hashes. New source correction preserves leading whiteout dots/root +parent handling, but three Product synthetic probes find same-layer new files +incorrectly removed by subsequent nested/root opaque or explicit descendant +whiteouts. OCI requires whiteouts affect only lower layers and preserve same-layer +additions regardless archive order. Completed source assessment changes_requested +before formal entry: apply whiteouts only previous layers then merge current +layer additions, with both archive orders covered. No actual candidate failure +or image/sourcecontext/scan change is inferred. Initial5f334 and intermediate +8bc6 reviews/evidence remain historical, not rewritten; same T08/no new trial. +No owner edits, native operation, publication or credentials. +Review: docs/reviews/2026-10-11-zlib-candidate-product-whiteout-review.md. + + +**Exact74 final acknowledgment, same completed T08:** all74 candidate hashes +verify for manifest724aa4777eb1c8976d868e5f504473f4b6d58f13d750d87aefa5c8d5ca0747ec. +Checker now collects additions separately, applies whiteouts only lower-layer +state and merges additions afterward. Five audit tests pass, including12 whiteout +semantic cases/both marker orders. All three original Product counterexamples +now preserve same-layer files. Independent actual saved-image re-audit proves +313directories unchanged and same two changed files/nine base prefix/runtime/ +SBOM/scan. Image78/contextc554/recipe/workflow/package/trust/DB unchanged. +Initial5f334, intermediate8bc6 and changes-requested85ffd source reviews/evidence +remain exact historical bytes, not revised prior success or a new scored trial. +Completed refinement record precedes final formal exact74 technical agreement. +No owner edits, native operation, publication or credentials; T05progress and +WP0009active remain. Distinct published/installed proof and founder approval +remain pending. +Final review: docs/reviews/2026-10-11-zlib-candidate-product-owner-complete-ack.md. diff --git a/workplans/INFD-WP-0009-lifecycle-consumer-pin-repair.md b/workplans/INFD-WP-0009-lifecycle-consumer-pin-repair.md index b74eb97..e16ecce 100644 --- a/workplans/INFD-WP-0009-lifecycle-consumer-pin-repair.md +++ b/workplans/INFD-WP-0009-lifecycle-consumer-pin-repair.md @@ -160,7 +160,7 @@ and docs/evidence/2026-10-11-purpose-native-acceptance/. ```task id: INFD-WP-0009-T05 -status: todo +status: progress priority: medium state_hub_task_id: "1743596f-8558-5a6b-afef-4dd5c1e9c0ae" ``` @@ -176,3 +176,13 @@ Preserve the original detection, pending founder disposition and remediation evidence. Close only after actual installed-package proof and full rescan. Evidence: `docs/evidence/2026-10-11-purpose-image-release/inherited-vulnerability-follow-through.json`. + +2026-10-11 — T05 bounded zlib-only source candidate preparation: +Exactcurrent763base andsignedofficialr1/packageindex buildoffline. Actual44package +fullscan sameDB baseline1MEDCVE85091→localcandidate0allseverity. Finalfilesystem +deltaonlylibz+APKdb;36appfiles/policy9d/world/keys/Python/runtime unchanged. +Localcandidate is unpublished/unapproved;4sourcenegative tests+actualbackend +and10purpose checks pass. Source/evidence:docs/evidence/2026-10-11-zlib-remediation-candidate/. +T05progress/planactive:actualownerCIpublishedprovenance/fullscan/SBOM,distinctnative +founderreleaseapproval andactualinstalledr1/runtime/fullrescan still required. +NoT04/nativec96/helper/journal/DB/ConfigMap/PVC/identity/policy changes.