feat(codex): add security findings workflow#321
Conversation
List ChatGPT Codex Cloud security findings and inspect a single finding's
detail sections, over the existing signed-in browser automation.
- list: scrape the SSR'd `li > button` rows in the main world and page
through with a deny-list-guarded Next-page click; aggregate + dedupe.
- detail: direct-URL nav to `/findings/{id}?sev=` (32-hex validated), then
read #summary/#validation/#evidence/#attack-path + github /blob/ evidence
links + the signed validation artifact.
Read-only by construction: the CDP Input domain is never wired, so the
mutating Radix actions (Create PR / Patch / Chat / Close / Adjust / feedback)
are unreachable; the only click path is exact-aria-label Prev/Next paging.
No repo/account/id is ever hardcoded.
Mirrors the project-sources runner for the Chrome lifecycle (manual-login or
cookie-synced temp profile, lease/lock, teardown). Pure parsers live in
src/codex/* with unit tests; browser/action code follows the existing
DOM-eval idiom.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
Codex review: needs real behavior proof before merge. Reviewed July 12, 2026, 2:21 PM ET / 18:21 UTC. Summary Reproducibility: yes. for the review findings: current source directly exposes the unchanged pull-request-link and menu-closure predicates. An authenticated browser run is additionally required to demonstrate the repaired live behavior. Review metrics: 3 noteworthy metrics.
Merge readiness Overall follows the weaker of proof and patch quality, so missing proof can cap an otherwise strong patch. Rank-up moves:
Proof guidance:
Risk before merge
Maintainer options:
Copy recommended automerge instructionNext step before merge
Maintainer decision needed
Security Review findings
Review detailsBest possible solution: Preserve read-only discovery, make each action succeed only on a newly observed selected-finding outcome or directly verified clipboard result, and demonstrate successful and refused paths on the exact head before accepting the mutation commands. Do we have a high-confidence way to reproduce the issue? Yes for the review findings: current source directly exposes the unchanged pull-request-link and menu-closure predicates. An authenticated browser run is additionally required to demonstrate the repaired live behavior. Is this the best way to solve the issue? No in its current form; panel targeting and explicit confirmation are appropriate, but successful completion must be tied to a newly observed action-specific result rather than generic page state. Full review comments:
Overall correctness: patch is incorrect AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning high; reviewed against ec2e99bf57b4. Label changesLabel justifications:
Evidence reviewedSecurity concerns:
What I checked:
Likely related people:
What the crustacean ranks mean
Shiny media proof means a screenshot, video, or linked artifact directly shows the changed behavior. Runtime, network, CSP, and security claims still need visible diagnostics. How this review workflow works
Review history (2 earlier review cycles)
|
|
ClawSweeper status: review started. I am starting a fresh review of this pull request: feat(codex): add security findings workflow This is item 1/1 in the current shard. Shard 0/1. This placeholder means the worker is alive and reading the current context. I will edit this same comment with the actual review when the claws are done clicking. Crustacean status: shell secured, claws on keyboard, evidence pebbles being sorted. |
Motivation
Oracle previously had no Codex Cloud security-findings workflow. This PR adds the complete path from discovery to action: it can enumerate findings, open a selected finding, extract the report and evidence needed to understand it, and then invoke the finding’s supported detail-panel actions from the CLI.
The first part is deliberately read-only. It turns the authenticated findings surface into structured CLI output instead of forcing an operator to navigate the web UI, while preserving the report sections and evidence links that explain why a finding exists. The second part adds the operational step that was missing before: an explicit finding action command that can create a PR, start a finding chat, close or adjust a finding, and copy the available patch or report material.
Design
Discovery and report extraction
oracle codex findingsenumerates the paginated findings surface, reports severity and repository metadata, supports severity/limit filtering, and can emit JSON.oracle codex findings --finding <selection-id>opens one finding and extracts its title, repository/commit reference, Summary, Validation, Evidence, and Attack-path analysis sections.Explicit finding actions
oracle codex finding --finding <selection-id> --action <action>provides the action layer forcreate-pr,chat,close,adjust,copy-content,copy-link,copy-patch, andcopy-git-apply.element.click()calls.--text, while mutating actions require--confirm; read-only copy actions do not require confirmation.View PRbefore clicking Create PR, so rerunning the command returns an existing PR instead of creating a duplicate.--repo, and the finding detail is re-read immediately before the action is dispatched.Compatibility and safety
The original
oracle codex findingscommand remains read-only, and adding the action command does not make list or detail inspection mutating. The runner refuses mutating actions without explicit confirmation and refuses to proceed when trusted browser input is unavailable, so a failed automation primitive cannot be reported as a successful action.Validation
pnpm exec tsc --noEmitpnpm exec vitest run tests/codex/findings.test.ts— 16 passedpnpm run format:checkpnpm run lintpnpm run buildpnpm test— 1,572 passed, 44 skippedExact-head live proof
Current head:
1b7d6c7cfe42dc2668ccfde8c7f6c57b51b1cbc7