Repository navigation
[security] - Time-limit issue 1629 container findings and fix fixture suppression - #1653
Merged
Merged
Conversation
5 tasks
cgfixit
marked this pull request as ready for review
October 13, 2026 20:36
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Proposed changes
Closes #1629 as completed sweep triage with a temporary risk acceptance, not as an upstream library fix. The five reported CVEs still have no patched bookworm or trixie package. Add exact Debian package/version exceptions expiring 2026-11-01 to
.trivyignore.yaml, record the verified dependency chains and review triggers inSECURITY.md, and move the existing DevSkim fixture suppression onto the offending URL line.Invariant / Governance Impact: None of I1–I6 changes. No runtime, Dockerfile, dependency pin, authentication, graph, or telemetry behavior changes. The fixture's Python AST is unchanged. Human review is required for the scanner exceptions and
SECURITY.md; suppression is not remediation.The pinned base contains neither curl nor libldap, so the issue's suggested purge does not address the findings. Python 3.12 ships its
nisextension alongside libnsl/libtirpc. Both healthchecks already use Python/httpx. Debian records disputed upstream security classification for the GnuTLS trio and postponed bookworm fixes for the two distinct krb5 paths (KDC and GSS-API acceptor). Source links and re-review requirements are inSECURITY.md.Types of changes
Scope: scanner configuration, accepted-risk documentation, and one non-network fixture annotation.
Benefits / why
Risks to monitor
The vulnerable packages remain present. The exceptions expire on 2026-11-01 and need earlier review on base, native-library, authentication, or upstream-fix changes. The existing GitHub alerts were already dismissed before this work; no alert state is changed by this PR. Review scanner output, not only green job status. Remove exceptions when the findings disappear. Rollback is to revert the three-file change.
Local validation scanned the exact linux/amd64 base remotely; no Docker daemon is available here to build the complete application image. Final-image rebuild and Trivy/DevSkim hosted results remain required before closure. No UI behavior changes; Computer Use is inapplicable.
Checklist
docs/THREAT_MODEL.md,INVARIANTS.mdandSECURITY.md(and any relevant Phase docs)GROK_API_KEY=dummy pytest tests/ -q --tb=short, andbash .claude/skills/CyClaw-Sandbox/verify.shfor core RAG/agentic paths) and passes with no regressionsFull local suites were intentionally not run under the owner's targeted verification policy. There are no core behavior or agentic changes.
Further comments
Local verification (Python 3.12.13; Trivy 0.72.0; DevSkim 1.0.100+ea92e6f3cc):
image --image-src remote --platform linux/amd64 --scanners vuln --pkg-types os --format jsonagainst the Dockerfile's exactsha256:54c85f3c47607a77f32adec749d3c81d1348bf25833671f512b26a9b6d778cb3: all 11 reported package findings reproduced with no fixed version.--ignorefile .trivyignore.yaml --show-suppressed: exactly those 11 becomeignored; all 281 unrelated base findings remain. Expired and wrong-package-version control files restore all 292 baseline findings. These counts cover all severities and are not a clean-image claim.DS162092exclusion: baseline has one DS137138; candidate has zero findings. No global rule disabled.actionlint .github/workflows/trivy.yml .github/workflows/devskim.yml: pass.zizmor==1.28.0 --offline --min-severity=highon those workflows: pass (one existing suppression). Workflows unchanged.git diff --check: pass.Hosted CI evidence will be reported separately from these local checks. The issue can close after this PR merges with successful final-image rebuild and scanner verification, as acceptance/triage completed through November 1. This does not claim upstream remediation.
Suggested merge order of open PRs
Independent, only open PR. Base:
main@9a0cdc2fad705d4bc79b550377c453991a2effaf, refreshed 2026-10-13 after #1652 merged. Trial merge verified clean withgit merge --no-commit --no-ffand abort in an isolated worktree on 2026-10-13. Candidate:259df1431b06659d9524e123ae084922f5bd152e; affected local checks were rerun after rebase.This PR · Blocked ⛔ (draft; hosted verification pending).
Impact: Expiring scanner exceptions and fixture annotation only.
Action: Review the acceptance, then merge after the image/scanner checks pass.
ELI5
The scanner reports libraries bundled with Python, and Debian has not shipped fixes for these five reports. This records exactly which package versions are temporarily accepted and makes that exception expire on November 1. It also fixes a scanner comment that was on the wrong line of a test. The libraries are still installed. Local scans prove the exceptions work, expire, and leave unrelated findings visible; the full application image still needs its hosted build and scan.
Last updated: 2026-10-13 16:07 ET