Skip to content

fix(security): record visibility on dependency-review fail-closed - #1033

Draft
cursor[bot] wants to merge 4 commits into
mainfrom
cursor/bc-3b3216ec-db8c-423d-8a51-c7e102fc0975-6e10
Draft

fix(security): record visibility on dependency-review fail-closed#1033
cursor[bot] wants to merge 4 commits into
mainfrom
cursor/bc-3b3216ec-db8c-423d-8a51-c7e102fc0975-6e10

Conversation

@cursor

@cursor cursor Bot commented Aug 16, 2026

Copy link
Copy Markdown
Contributor

Purpose

Continue #897 on current main and close the remaining #810 diagnostic gap: unavailable dependency-review evidence must record allowlisted repository visibility with the exact base/head comparison, and the pinned action must not be independently skippable after a successful probe.

What changed

  • The support probe allowlists public, private, and internal visibility from github.event.repository.visibility and records unknown for any other value.
  • Fail-closed diagnostics now include repository identity, allowlisted visibility, exact SHAs, HTTP status, and curl exit. Response bodies and raw visibility strings stay out of logs.
  • Executable regressions cover HTTP 403/404, empty and malformed status, transport exit 18 with printed 200, missing visibility, and the successful supported=true path.
  • After a successful probe the pinned dependency-review action runs unconditionally.
  • Doctoring, architecture, changelog, and AGENTS.md record the operator next step: verify dependency-graph configuration from the recorded visibility, then rerun. Do not infer a root cause from 403/404.

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.

Do not close #810 until a protected-main public-repository consumer run proves a non-200 or failed-transfer comparison cannot produce a green Dependency Review gate.

Prefer this branch over #897 for integration. #897 remains historical evidence for the original fail-closed transport/HTTP-200 repair.

Open in Web View Automation 

seonghobae and others added 2 commits August 17, 2026 00:19
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 <[email protected]>

@cursor cursor Bot left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Stale comment

Verdict

COMMENT on exact head 4ca7d9e9.

This successor closes the #810 diagnostic gaps that blocked #897: allowlisted repository visibility is recorded with the exact base/head comparison, 403/404/empty/malformed statuses have executable regressions, and the pinned dependency-review action is no longer independently skippable after a successful probe.

Operator next step

Wait only for exact-current-head required checks and a qualifying counted non-author formal approval. Prefer this branch over #897 for integration. Keep #821 draft until its remaining process-group work is rebased without duplicating this probe.

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. Automated review is not qualifying approval or merge authority.

View PR

Open in Web View Automation 

Sent by Cursor Automation: Fix Issues

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 <[email protected]>
…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 <[email protected]>

@cursor cursor Bot left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Verdict

COMMENT on exact head fbb84323.

The visibility-recording fail-closed probe is sound for HTTP 403/404, empty/malformed status, and transport exit 18 with a printed 200. Two gaps remain on this head:

  1. curl's %{http_code} 000 sentinel is still logged as a three-digit status instead of unavailable. That is not a completed HTTP exchange (Stenberg, n.d.; Fielding et al., 2022).
  2. Private/internal visibility and raw-visibility non-leakage were documented but not locked by executable regressions.

Operator next step

Prefer #1044 (37167995) for integration. Keep this draft and #1041 as historical duplicates of fbb84323. Do not merge #897 or #1042 over #1044.

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. Automated review is not qualifying approval or merge authority.

View PR

Open in Web View Automation 

Sent by Cursor Automation: Fix Issues

@cursor cursor Bot left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Verdict

COMMENT on exact head fbb8432345ac6565724668afdbf9e3259475b94b.

This draft matches #1041 and still interpolates unvalidated revisions and repository names into the compare URL. Prefer #1045 for integration. Do not merge #1033. Keep #810 open until a protected-main public consumer run proves a non-200 cannot go green.

View PR

Open in Web View Automation 

Sent by Cursor Automation: Fix Issues

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

security: make central dependency-review unavailability fail closed

2 participants