Repository navigation
Apply verified event scopes to CI secret scans - #949
Conversation
|
Dependency limit exceeded — report not shown. This pull request scan exceeded the 10,000-dependency limit applied to this scan, so the results are incomplete and may be inaccurate. To avoid reporting false positives, Socket has not posted a report. Upgrade your plan to raise the dependency limit and get complete reports, or view the partial scan in the dashboard. Socket is always free for open source. If this is a non-commercial open source project, contact us to request a free Team account. |
39e9bde to
e7e02bb
Compare
e7e02bb to
3b329a3
Compare
|
@codex review |
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. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 3b329a3ff3
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Scope
Scan every commit and merge-resolution patch in verified PR and normal-push ranges, while refusing unverified push boundaries. Record the exact scanner options in timing receipts and describe the implemented manual backstop accurately.
66584736c076873ca7e5898e3bd8111cca1a1447.3b329a3ff306fcb4297bffad075e5d7d58afd6d8.lane:foundation.PR merge checkouts use their actual first parent; PR head checkouts use the payload base's merge base. Normal pushes use verified available ancestor
before..after. Every range uses--diff-merges=first-parent, which emits merge patches without restricting parent traversal. The actual emitted Git selection must be nonempty. Zero-before, unavailable-before and nonancestor-before events fail closed before emitting scanner inputs; successful tip-only fallback is removed.The required Gitleaks step remains uncapped with the exact generated-explorer exclusion, redaction, native timing and status propagation. Both duplicate history acceptance scans now include merge patches and have no legacy 2 MB cap. The report-only Betterleaks history step receives the same resolved options. Both timing writers record those options. Only manual
workflow_dispatchis wired as a CI backstop in this PR.SOTA sources
git log -p -U0; detect/detect.go:431 implements the target-size skip; report/finding.go:78 defines redaction. The exact local mirror and installed 8.30.1 CLI were used.Evidence-class table
Rebase resolution
The five existing content commits rebased cleanly onto
66584736c076873ca7e5898e3bd8111cca1a1447(#1030); per-commit range-diff marks all five equal outsidemanifests/evidence.json. One additional commit records this PR's own dated advisory observation, appends its index entry, restores the historical baseline bytes and regenerates native evidence bindings. Secret-scan production code is unchanged by that commit.The baseline used by the 10-11 skill-use delta remains byte-identical to main (SHA-256
5ea8e4db0ab15115e5b1eec6c1939450514dc227e0f9308d865f661507c6c93d), and the old delta file is unchanged. The newunclassified-gate-reads-20261012-pr949-delta.jsonrecords the native observation at source commitb5164706abaf0d12905f4b07c2c089737c78b6df: 342 locations against the immutable baseline's 332, with ten existing skill-status reads and five installer source-location moves. The final event helper adds no unclassified read multiplicity. Every classification remains monitoring-only withpermission_change: false.This supersedes #949's earlier overwritten-baseline refresh, which failed the newly landed historical-byte check. The existing test failed before (rc 1, one failure) and passed after; the whole owning module passes 127 tests. #1030's dated skill-count correction is consumed unchanged. Both families read this advisory delta; the CC performs carry.sh and reads the delta before landing. Earlier source-code ACK/adjudication records remain scoped to their original heads.
Historical six-test comparison
This is the previously released comparison at the pins named in its columns, retained as historical evidence. It is not a new full-suite run or a measurement at the current candidate.
The prior full suite reported 13,305 tests, 8 failures and 1,136 skips (rc 1). Five adaptive pristine-child imports lacked exchange_calendars under Python 3.12; isolated Python 3.13 controls pass at both historical pins. The clone fault failed identically before grading. Hosted CI decides the environment cases. No new full repository suite was requested or run.
Local commands run
Current dated-delta qualification, under T2 CPUWeight=idle with nice10/ionicec2n7: historical-byte assertion red rc1/one failure then green rc0/one test;
python3 -B -m unittest tests.test_runtime_worker_openhands_push_gaterc0/127 tests/no skips (71.490s); native derivation342; validator rc0/70 components/11776 bindings/4 profiles/239 receipts; final_stack --check rc0/34 layers; registry ordering and diff checks rc0; final bounded--diff-merges=first-parent 66584736..HEADscan rc0/six commits/zero findings. No full repository suite ran. Retained scratch is under /var/tmp; future subprocess commands also set TMPDIR=/var/tmp.The prior checks below qualify the content-fix head 39e9bde at its recorded base. The e7e02bb registry rebase was qualified at base 8b1ef0c: final_stack.py --check passed (34 layers); evidence_manifest.py --check and git diff --check passed; the 8b1ef0c..e7e02bb range scan passed on 5 commits with zero findings; validate.py passed with 70 components, 11740 hashed files, 4 profiles and 239 receipts. Their original counts and results are preserved as historical evidence; current qualification is stated above.
python3 -B -m unittest tests.test_ci_secret_scan_range tests.test_secret_scan_metrics tests.test_secret_scan_size tests.test_gitleaks_config tests.test_workflow_hardening tests.test_local_pages_policy_grants: rc 0; 239 tests, 4 skips (68.058s), with private GNU tee PATH shim.python3 -B scripts/validate.py: rc 0; 70 components, 11,693 hashed files, 4 profiles, 239 receipts.python3 -B scripts/evidence_manifest.py --checkandgit diff --check: rc 0.gitleaks git . --config .gitleaks.toml --log-opts="--diff-merges=first-parent c735e8b2e7d096475ceed380ce956b9191af508c..HEAD" --redact --no-banner --report-format json: rc 0; 5 commits, zero findings.A first combined test invocation exceeded its tool's 60-second limit and yielded no suite result. The following complete run found three obsolete test-fixture expectations (missing supplied scope in the Betterleaks stand-in, and the old log-options assertion). Those fixtures were corrected; their focused rerun passed. Only completed runs are counted.
Decision record
The event policy is executable in
scripts/ci_secret_scan_range.pyand its graph tests; documentation is indocs/github-automation.md. The previous vendor tip-fallback policy is superseded by reproduced native Git/Gitleaks omissions. Publication to all branches/tags and the scheduled history-only backstop are the separately ruled C1 follow-up after this PR lands.Red/green evidence, reviewer-graph JSON and final checks are retained in the lane's
landscape-live-foundation.pr949-final-fix-20261012/packet; earlier sealed packets retain their original bytes. Astra's delta ACK and the CC Gate PASS are recorded at39e9bde0. The five source commits retain their patch identity outside the registry; the new dated advisory delta receives both families' reads before the CC carries and lands.Host evidence
No host receipt or platform-status change is introduced. Local native fixture execution does not claim hosted Actions execution. GNU tee is supplied through a private PATH shim; host binaries are unchanged. Pinned Betterleaks 1.8.1 execution remains a hosted qualification boundary.
Follow-ups
CiSecretScanMergedHistoryTestsin the pinned-scanner job; this is C1 entry F2.3b329a3ff306fcb4297bffad075e5d7d58afd6d8; the acknowledgment at an earlier candidate cannot be assumed.tests.test_secret_scan_size.CiSecretScanMergedHistoryTeststo the hosted secret-scan test step so native merge/large-target detection and uncapped acceptance stay enforced where Gitleaks is installed.-sto the helper's and selection tests'git log --format=%Hwalks; merge-diff formatting otherwise emits patch lines and buffers the merge patch. Codex's second thread at 3b329a3 is this item; measured at that head, the probe's output for a merge tip is the whole merge patch (24,134,939 bytes for the newest reachable merge) against 41 bytes with patch output suppressed. A merge fixture with a non-empty tree rides with it.generic-api-key—blueprints/runtime-workers/openhands/evidence/unclassified-gate-reads-20261004.json.Checklist
Follow-ups after landing
Landed at 9cfe3a9 on 2026-10-12T13:53:09Z from head 3b329a3 (CC gate PASS with addendum 01, GPT read ACK). The C1 coverage PR opens next; its required entries are F1 (including the pull-request path Codex named at this head), F2 and CC P3-2 with a merge fixture that has a non-empty tree. The other Follow-ups above carry forward; none blocks.