You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
After PR #3670 merged, Security Analysis run 30523479457 failed in the Container Security job while building the existing podman/Dockerfile on current main (c5da6115638fdbfeebbc458b39fa6916db66afb0).
Source evidence:
job ID: 90809008864
runner: ubuntu-24.04 image 20260726.254.1
Podman: 4.9.3
failure occurs when the build tries to start the container for Dockerfile step 10;
error:
error running container: from /usr/bin/crun creating container ...: unknown version specified
the failing step is the first build-stage RUN command;
the same Dockerfile had succeeded on an earlier hosted runner image.
This is consistent with a hosted-runtime compatibility regression, but the exact Podman/Buildah/conmon/crun/runc/OCI-spec boundary must be proven before selecting a fix. A rerun alone is not remediation.
Objective
Restore deterministic Container Security execution on GitHub-hosted Ubuntu so that the workflow can:
build the repository container image;
export the image archive;
run Trivy against the archive;
produce/upload the SARIF result;
fail for real container/image vulnerabilities, not for an incompatible hosted OCI runtime.
Do this without silently skipping the job, weakening the scan, or relying on an unreviewed external package repository.
If no trustworthy stable runtime path is available, stop with a HUMAN DECISION REQUIRED packet comparing runc selection, compatible package installation, alternative builder, and self-hosted runner options.
Implementation requirements
one Issue / one branch / one Draft PR;
add a deterministic container-runtime preflight with bounded, non-secret diagnostics;
fail closed with stable classifications for missing runtime, incompatible runtime, build failure, archive failure, scan failure, and missing SARIF;
preserve persist-credentials: false, minimum permissions, and current security-event upload boundary;
preserve rootless/non-root runtime expectations in the image;
keep Trivy scan semantics equivalent or stronger;
add workflow/fixture tests for runtime selection and no-silent-skip behavior;
retain GitHub authority snapshot capture after Draft PR creation.
Acceptance criteria
Container Security succeeds on the exact PR head on GitHub-hosted Ubuntu;
diagnostic evidence identifies the selected runtime and versions;
minimal runtime smoke, minimal build, repository image build, image export, Trivy scan, and SARIF upload all succeed;
scan failure or missing SARIF remains non-success under the defined policy;
the fix is deterministic across at least two independent workflow_dispatch executions on the same exact head;
repository container tests and production image smoke checks pass;
no unrelated source/dependency change;
pnpm -s run build, api:check, check:schemas, check:doc-consistency, and verify:lite pass where applicable;
Parent program: #3655
Blocks implementation start: #3658
Related: #3664
Codex lane:
ci/container-security-runtime-recovery-20260730Background
After PR #3670 merged, Security Analysis run
30523479457failed in theContainer Securityjob while building the existingpodman/Dockerfileon currentmain(c5da6115638fdbfeebbc458b39fa6916db66afb0).Source evidence:
90809008864ubuntu-24.04image20260726.254.14.9.3RUNcommand;podman/Dockerfile, container workflow, and lockfile were unchanged by PR [ACP-HARDEN-120] Add GitHub authority snapshot and stale-context detection #3670;This is consistent with a hosted-runtime compatibility regression, but the exact Podman/Buildah/conmon/crun/runc/OCI-spec boundary must be proven before selecting a fix. A rerun alone is not remediation.
Objective
Restore deterministic Container Security execution on GitHub-hosted Ubuntu so that the workflow can:
Do this without silently skipping the job, weakening the scan, or relying on an unreviewed external package repository.
Preflight
Before creating a branch:
origin/main;.github/workflows/security.yml,.github/actions/detect-container-manifest/action.yml,podman/Dockerfile,podman/Dockerfile.test, container docs/tests, and [ACP-HARDEN-260] GitHub Actions supply-chain policyをfull-SHA基準で強化する #3664 boundaries;Recommended branch:
ci/container-security-runtime-recovery-20260730Required investigation
Capture bounded diagnostic evidence before the build:
podman version;podman info --debugwith secrets/private paths excluded;buildah version;conmon --version;crun --versionand path;runc --versionand path;/etc/containers/containers.confruntime configuration;podman run --rmminimal smoke result;podman/Dockerfilebuild result.Compare the failing runner image
20260726.254.1with a previously successful run. Determine whether the root cause is:crunversus the generated OCI runtime-spec version;Do not claim the cause from the error string alone.
Remediation options and policy
Evaluate in this order:
runc, with a verified preflight;Do not:
continue-on-error;|| truearound build/scan;If no trustworthy stable runtime path is available, stop with a HUMAN DECISION REQUIRED packet comparing runc selection, compatible package installation, alternative builder, and self-hosted runner options.
Implementation requirements
persist-credentials: false, minimum permissions, and current security-event upload boundary;Acceptance criteria
pnpm -s run build,api:check,check:schemas,check:doc-consistency, andverify:litepass where applicable;PR requirements
Draft PR title:
[MAIN-HEALTH-CI-003] Restore Container Security runtime compatibilityPR body must include:
Stop condition
main;no-state-change;