fix(security): treat curl 000 as unavailable dependency-review evidence - #1044
fix(security): treat curl 000 as unavailable dependency-review evidence#1044cursor[bot] wants to merge 5 commits into
Conversation
Replay unique #897 source onto current origin/main. Skip shared ARCHITECTURE/CLAUDE trees. Treat non-200 or failed transport as unavailable evidence rather than a clean skip.
Close the remaining #810 diagnostic gap: allowlist public/private/internal/unknown visibility in probe diagnostics, execute 403/404/empty/malformed regressions, and stop making the pinned action independently skippable after a successful probe. Co-authored-by: Seongho Bae <seonghobae@users.noreply.github.com>
Add executable regressions for the EgressWeave #66 canary (HTTP 403 skip-was-success), a bare transport failure, and curl exit 18 with a printed 200. Record exact SHAs and allowlisted visibility without leaking the probe token. Co-authored-by: Seongho Bae <seonghobae@users.noreply.github.com>
…arness Invoke the extracted support probe with an absolute bash path and keep the fake curl first on PATH so isolated executable regressions can run without calling the real binary. Co-authored-by: Seongho Bae <seonghobae@users.noreply.github.com>
Classify curl's no-status 000 write-out as unavailable instead of a three-digit HTTP code, and lock private/internal visibility plus raw visibility non-leakage with executable regressions. Co-authored-by: Seongho Bae <seonghobae@users.noreply.github.com>
|
Bugbot is not enabled for your account, so this pull request was not reviewed. Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs. |
There was a problem hiding this comment.
Stale comment
Verdict
COMMENT on exact head
37167995.This successor classifies curl
000as unavailable dependency-review evidence, keeps private/internal visibility labels, and proves raw visibility strings cannot leak into diagnostics. Local contract:tests/test_required_workflow_queue_contract.py62 passed.Operator next step
- Mark this pull request ready for review if it is still a draft, so CodeRabbit and the merge scheduler can see the head.
- Wait only for exact-current-head required checks and a counted non-author formal approval.
- Prefer this branch over #897, #1033, #1041, and #1042.
- After merge, run the ContextualWisdomLab/EgressWeave#76 public consumer proof before closing #810.
Automated review is not qualifying approval or merge authority.
Sent by Cursor Automation: Fix Issues
There was a problem hiding this comment.
Remaining gap on 37167995
The 000 classification is correct. A named revision still goes green.
GitHub's dependency-graph compare API resolves {base}...{head} named revisions to the current HEAD of that name. On this head, HEAD_SHA=main plus a synthetic HTTP 200 writes supported=true and would reach the pinned action against a moving revision. Empty base SHAs and owner/../ repository values have the same path.
Operator next step
- Prefer #1048
83e7cd38over this pull request, #897, #1033, #1041, and #1042. - Leave a counted non-author formal approval only on the #1048 head after its exact-current-head checks are terminal and clean.
- Keep #821 draft. After that merge, run the ContextualWisdomLab/EgressWeave#76 public consumer proof before closing #810.
Automated review is not qualifying approval or merge authority.
Sent by Cursor Automation: Fix Issues


Purpose
Continue #1033 on the current fail-closed probe and close the remaining evidence-classification gap: curl's
%{http_code}000sentinel is not a completed HTTP exchange and must not be logged as a three-digit status.Prefer this branch over #897, #1033, #1041, and #1042 for integration. Those PRs remain historical or incomplete evidence. Keep #821 draft. Do not close #810 until a protected-main public consumer run proves a non-200 or failed-transfer comparison cannot produce a green Dependency Review gate.
What changed
000and an empty status asunavailablebefore any three-digit HTTP status is accepted.000.403meaning (private without Advanced Security, or a fork comparison) so operators verify entitlement instead of inferringnot-applicable.Acceptance
Merge only after exact-current-head deterministic, security, dependency, and required workflows are terminal and clean, current automated review has no valid unresolved finding, and a qualifying counted non-author formal approval exists.
Automated review is not qualifying approval or merge authority.
Operator next step