net-rs: add security hardening, live test vectors, and comprehensive tests
Security fixes:
- read_segment now validates payload_len against max_payload before
allocating, preventing OOM from malicious segment headers
- CodecRecv enforces max_buffer (default 2.5MB) to prevent unbounded
buffer growth from crafted CBOR that never completes decoding
- Demuxer passes configured sdu_size as the segment payload limit
Test vectors captured from backbone.cardano.iog.io:3001:
- ProposeVersions and AcceptVersion raw bytes validated against our
encoder output (byte-for-byte match ensures wire compatibility)
New tests (19 added, 50 total):
- Wire: oversized payload rejection, live segment headers, timestamp wrap
- Codec: buffer overflow rejection, large cross-segment messages, channel close
- Handshake codec: unknown tag, truncated payload, live vector decode
- N2N: v7-v10 2-field format, live bytes decode, invalid CBOR, key order
Also: net-cli capture command, CLAUDE.md test vector workflow, .gitignore
Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>