The Wire · Showcase
CONNECT-RUST CLOSES STREAMING RPC SECURITY GAP, INTERCEPTOR CHAIN NOW COVERS ALL CALL SHAPES
By RepoJournal · Filed · About Anthropic
Streaming RPCs have been bypassing the entire interceptor chain in connect-rust - a security hole that's fixed as of today with full Stream-shaped intercept support.
The interceptor chain in connect-rust covered only unary RPCs [1], leaving server-streaming, client-streaming, and bidirectional streaming calls to skip authorization entirely. That's not a gap, that's a vulnerability. PR #121 adds Interceptor::intercept_streaming, a Stream-shaped interceptor that covers all three streaming shapes and closes the chain. In parallel, the stack is tightening around message decoding efficiency: Payload now type-erases and lazily decodes message bodies [2], so when an interceptor reads the request body, that decode is cached and reused by handlers instead of decoding twice [3]. HttpClientBuilder gets connect_timeout control [4], letting callers on flaky network paths (NAT gateways under churn, silent SYN drops) fail fast instead of waiting 130 seconds on kernel defaults. And Server now proxies with_interceptor and with_interceptor_arc directly [5], so standalone Server users don't have to drop down to ConnectRpcService constructors. On the Claude plugins side, first-party integrations from Apollo, Appwrite, Atlassian, and 21 other major-brand orgs are now promoted and SHA-pinned [6]. A separate sweep bumps 25 plugin pins to upstream HEAD across the h-r range [7]. Over on claude-code-action, the allowed_bots check now fires after actor account type resolution [8], keeping the allowlist correctly scoped to bot/app accounts. Three point releases shipped: v1.0.127 with the actor resolution refactor [9], plus v1.0.126 and v1.0.125 [10], [11]. One critical fix: claude-plugins-official now quotes CLAUDE_PLUGIN_ROOT in all five hook commands [12], unblocking Windows paths with spaces that were erroring on every tool call.
Action items
- → Merge and deploy interceptor streaming support (#121) before adding any new streaming RPC handlers anthropics/connect-rust [immediate]
- → Pin the CLAUDE_PLUGIN_ROOT quote fix if running plugins on Windows anthropics/claude-plugins-official [immediate]
- → Review Payload caching behavior in your request body inspection interceptors anthropics/connect-rust [plan]
- → Upgrade claude-code-action to v1.0.127 for correct allowed_bots scoping anthropics/claude-code-action [plan]
References
- [1] interceptor: streaming RPC support via Stream-shaped intercept_streaming (#121) anthropics/connect-rust
- [2] payload: AnyMessage and Payload — type-erased, lazily-decoded message bodies (#113) anthropics/connect-rust
- [3] dispatcher: pass Payload to call_unary so handlers reuse the interceptor decode (#119) anthropics/connect-rust
- [4] client: HttpClientBuilder with connect_timeout (#117) anthropics/connect-rust
- [5] server: proxy with_interceptor / with_interceptor_arc to ConnectRpcService (#123) anthropics/connect-rust
- [6] Add 24 first-party plugins from major-brand orgs (#1919) anthropics/claude-plugins-official
- [7] Bump 25 plugin SHA pins to upstream HEAD (huggingface–railway) ↗ anthropics/claude-plugins-official
- [8] Resolve actor account type before applying allowed_bots (#1330) anthropics/claude-code-action
- [9] v1.0.127 ↗ anthropics/claude-code-action
- [10] v1.0.126 ↗ anthropics/claude-code-action
- [11] v1.0.125 ↗ anthropics/claude-code-action
- [12] fix: quote \${CLAUDE_PLUGIN_ROOT} in hookify and security-guidance hook commands anthropics/claude-plugins-official
FAQ
- What changed in Anthropic on May 20, 2026?
- Streaming RPCs have been bypassing the entire interceptor chain in connect-rust - a security hole that's fixed as of today with full Stream-shaped intercept support.
- What should Anthropic teams do about it?
- Merge and deploy interceptor streaming support (#121) before adding any new streaming RPC handlers • Pin the CLAUDE_PLUGIN_ROOT quote fix if running plugins on Windows • Review Payload caching behavior in your request body inspection interceptors
- Which Anthropic repositories shipped on May 20, 2026?
- anthropics/connect-rust, anthropics/claude-plugins-official, anthropics/claude-code-action