Repository navigation
feat: implement issue #1781 — [Phase 2b] Close the bare-context-root bypass in the agent-ingress if: allowlist (toJSON(env|vars|secrets|github|needs|inputs)) - #1867
Conversation
…bypass in the agent-ingress if: allowlist (toJSON(env|vars|secrets|github|needs|inputs))
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
|
ⓘ Qodo reviews are paused because your trial has ended. Ask your workspace admin to add credits to resume reviews. Manage billing |
|
Warning Review limit reachedNext included review available in 59 minutes. View limit detailsLimit details: You’ve used the included review currently available. You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Review configuration: ⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Advanced Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (2)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Code Review
This pull request enhances the ingress validation script to detect and forbid bare context roots (such as vars, secrets, and env) when they are used as whole values without a trailing dot, while also ensuring that policed names inside string literals are ignored. The feedback recommends improving the robustness of the newly added BATS tests by asserting specific non-zero exit codes (e.g., [ "$status" -eq 1 ]) instead of using generic -ne 0 checks, which can mask unexpected syntax or command errors.
Dev-Lead — review-changes (applied)Changes committed and pushed. Requested items addressed:
|
|
Advisory bots were rate-limited; auto-approval is withheld until they recover. pr-review-sweep will re-review this PR after 2026-09-21T04:02:13Z. |
Dev-Lead — fix-bot-comment (no-changes)Agent reasoning |
|
pr-review approved on PARTIAL advisory evidence: 4/6 required advisory bots reported before the gate's head-age-timeout fallback proceeded. Recorded for the miss-rate metric (#1596). |
|
dev-lead is withholding action on this item. It is labeled To re-enable automated pickup: remove the |
|
Advisory bots were rate-limited; auto-approval is withheld until they recover. pr-review-sweep will re-review this PR after 2026-09-21T14:26:23Z. |
Superseded by automated re-review at
|
|
pr-review approved on PARTIAL advisory evidence: 4/6 required advisory bots reported before the gate's head-age-timeout fallback proceeded. Recorded for the miss-rate metric (#1596). |
|
|
Advisory bots were rate-limited; auto-approval is withheld until they recover. pr-review-sweep will re-review this PR after 2026-09-22T02:48:46Z. |
Review — fix requested (cycle 2/3)The automated review identified the following issues. Please address each one: Findings to fixAutomated review — NEEDS HUMAN REVIEWRisk: MEDIUM SummaryAudit of the hardened agent-ingress if: validator (issue #1781) found the enforcement change technically sound: I executed the PR-head viif_forbidden against 29 adversarial cases beyond the PR's own tests (bare roots, mixed-case roots and bracket indices, secrets[format(...)], (secrets).X, whitespace-before-index vars ['X'], escaped-quote literals, literal-smuggled policed names) and every bypass attempt is FORBIDDEN while all legitimate event filters stay ALLOWED; literal-stripping runs after normalization with no un-stripped caller, and token-boundary asymmetry (left excludes dot, right permits it) is correct. Escalating on gates, not code: all 5 required description sections are missing for a change to an authorization control's enforcement logic, the PR carries the needs-human-review label with an explicit dev-lead hold (mergeStateStatus BLOCKED, review required), and advisory-bot evidence was partial (4/6, rate-limited). The only remaining over-reach, toJSON(github.event) whole-payload serialization, is the pre-existing gap #1781 explicitly deferred as a non-blocking open question — record the ruling in a follow-up, not this PR. Findings
Reviewed by the PR-review cascade (triage: haiku 4.5 [sonnet 5] → deep: opus 4.8 [sonnet 5] + duck: o4-mini → audit: fable 5). Reply if you need a human review. Additional tasks
The review cascade will automatically re-review after new commits are pushed. |



Closes #1781
Implemented by dev-lead agent. Please review.