Block background Chromium Keychain access - #2225
Conversation
|
Codex review: needs real behavior proof before merge. Reviewed July 16, 2026, 2:11 PM ET / 18:11 UTC. Summary Reproducibility: no. high-confidence packaged reproduction is available. Source inspection establishes the prompt-capable path and override tests exercise the gate, but neither the original screenshot nor the current tests demonstrate the real macOS behavior end to end. Review metrics: 1 noteworthy metric.
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:
Next step before merge
Security Review detailsBest possible solution: Keep one shared no-prompt background guard, explicitly classify manual app refresh and standalone CLI invocations as interactive, cover all three contexts with focused tests, and demonstrate the packaged macOS result without accessing private credentials in automated tests. Do we have a high-confidence way to reproduce the issue? No high-confidence packaged reproduction is available. Source inspection establishes the prompt-capable path and override tests exercise the gate, but neither the original screenshot nor the current tests demonstrate the real macOS behavior end to end. Is this the best way to solve the issue? Yes, conditionally: placing the restriction at the shared browser-cookie gate is narrow and maintainable, provided explicit app and CLI operations are confirmed to use a user-initiated context and upgrade behavior is proven. AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning high; reviewed against f9993821856e. Label changesLabel justifications:
Evidence reviewedWhat 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
|
|
Merged as bad4beb. Verification:
|
Summary
Root cause
Chromium cookie decryption reads
Chrome Safe Storagefrom Keychain. The previous background path could proceed into the browser importer whenever an attribute-only preflight appeared allowed, even though the later password-data read could require user interaction.Impact
Automatic refreshes no longer initiate the Chromium Keychain path. A user-initiated refresh remains the consent boundary for browser-cookie authentication.
Validation
KeychainAccessPreflighttest overrides and do not touch a real Keychain itemgit diff --checkFollow-up
SweetCookieKit is being hardened separately so no host can implicitly promote a no-UI Safe Storage read to an interactive one. Once released, CodexBar should bump that dependency.
Fixes #2213
Related: #2214