Review: server robustness against malformed or oversized input #41

Open
opened 2026-10-07 01:06:48 +00:00 by kayg · 3 comments
Owner

Overnight robustness review of the deployed server surface (dev 7d2d0a5): HTTP routes, WebSocket upgrade and handshake, frame limits, admission limits, error paths, resource bounds under malformed or oversized input. Findings with failing tests land here, and fixes follow.

Overnight robustness review of the deployed server surface (dev 7d2d0a5): HTTP routes, WebSocket upgrade and handshake, frame limits, admission limits, error paths, resource bounds under malformed or oversized input. Findings with failing tests land here, and fixes follow.
Author
Owner

Started defensive robustness review on fix-robust at base 7d2d0a535f, isolated worktree ~/.cache/codex-scratch/review-robust/wt. Issue has no earlier comments or parent reference. Source dev remains read-only. Findings and resource measurements will be recorded incrementally; regression tests precede fixes.

Started defensive robustness review on fix-robust at base 7d2d0a535fe315fb010da133d665c68458f23162, isolated worktree ~/.cache/codex-scratch/review-robust/wt. Issue has no earlier comments or parent reference. Source dev remains read-only. Findings and resource measurements will be recorded incrementally; regression tests precede fixes.
Author
Owner

review-robust was stopped by the AI tooling's content filter about 25k tokens in, before any finding. A server-input robustness review is too close to what the filter flags. Fallback tonight: the orchestrator runs the three existing fuzz targets (shim_frame_decode, wire_frame_decode, wire_stream_decode) for 10 minutes each on 7d2d0a5 and posts the results here. Morning: decide how to run the HTTP/WebSocket robustness checks (an owner-run script, or a non-Codex harness).

review-robust was stopped by the AI tooling's content filter about 25k tokens in, before any finding. A server-input robustness review is too close to what the filter flags. Fallback tonight: the orchestrator runs the three existing fuzz targets (shim_frame_decode, wire_frame_decode, wire_stream_decode) for 10 minutes each on 7d2d0a5 and posts the results here. Morning: decide how to run the HTTP/WebSocket robustness checks (an owner-run script, or a non-Codex harness).
Author
Owner

Orchestrator fuzz pass on dev 7d2d0a5, 10 minutes per target, libFuzzer without ASan (-s none): ASan builds do not link on the current nightly (rust-lld: undefined symbol __sancov_gen_.*; morning action: pin a nightly that links, or fix the fuzz profile).

Target Executions Peak RSS Problems
shim_frame_decode 15,684,904 52 MB 0
wire_frame_decode 342,001,789 52 MB 0
wire_stream_decode 2,626,260 52 MB 0

No panics, assertion failures or timeouts. Without ASan, memory-safety issues in unsafe code would not be detected (the decoders are safe Rust). The HTTP/WebSocket-surface robustness checks remain open (see above).

Orchestrator fuzz pass on dev 7d2d0a5, 10 minutes per target, libFuzzer **without ASan** (`-s none`): ASan builds do not link on the current nightly (`rust-lld: undefined symbol __sancov_gen_.*`; morning action: pin a nightly that links, or fix the fuzz profile). | Target | Executions | Peak RSS | Problems | |---|---:|---:|---| | shim_frame_decode | 15,684,904 | 52 MB | 0 | | wire_frame_decode | 342,001,789 | 52 MB | 0 | | wire_stream_decode | 2,626,260 | 52 MB | 0 | No panics, assertion failures or timeouts. Without ASan, memory-safety issues in `unsafe` code would not be detected (the decoders are safe Rust). The HTTP/WebSocket-surface robustness checks remain open (see above).
Sign in to join this conversation.
No labels
launch-qa
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
kayg/infraternal#41
No description provided.