security: drop opener:allow-open-url now that nothing calls it
default.json carried this grant with an explicit accepted residual risk: a compromised webview could make the OS open an attacker-chosen http(s) URL. It was accepted because it could not be narrowed -- WebLinksAddon opens links Claude printed inside the container, which are arbitrary by construction, so a host allowlist would have deleted the feature. Now that every host-browser open routes through `open_url_external`, the webview has no reason to reach the plugin directly, and the risk closes rather than stays recorded. The plugin remains a dependency: macOS and Windows still use it, through `OpenerExt::open_url`, whose desktop implementation calls `crate::open::open` directly and is not gated by capabilities at all (tauri-plugin-opener-2.5.3/src/lib.rs:60) -- verified rather than assumed, since the whole point is that the Rust path keeps working. What is removed is the webview's ability to reach the opener without passing the Rust-side validation. The census note in default.json is rewritten to match, and lib.rs's grant-list test is updated deliberately, as its own assertion message demands. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user