Skip to content

Conversation

@0xMuang
Copy link
Collaborator

@0xMuang 0xMuang commented Jan 26, 2026

Summary

Changes

pubsub.rs (Issue #128)

Replaced 5 occurrences of panic-prone code:

// Before (can panic)
sink.send(jsonrpsee::SubscriptionMessage::from_json(&msg).unwrap()).await

// After (graceful error handling)
let Ok(sub_msg) = jsonrpsee::SubscriptionMessage::from_json(&msg) else {
    warn!("Failed to serialize message for subscription {}", sub_id);
    continue;
};
sink.send(sub_msg).await

cipher.rs & kdf.rs (Issue #130)

Changed random number generator for cryptographic operations:

// Before
rand::thread_rng().fill_bytes(&mut data);

// After
OsRng.fill_bytes(&mut data);

OsRng directly uses the operating system's cryptographically secure random number generator, which is the recommended practice for generating cryptographic material like IVs and salts.

Test Plan

  • cargo check passes

Closes #128
Closes #130

- Replace .unwrap() with let-else pattern in WebSocket subscription
  handlers to prevent panics on JSON serialization errors (#128)
- Use OsRng instead of thread_rng for IV and salt generation
  for better cryptographic security (#130)
@qj0r9j0vc2 qj0r9j0vc2 assigned qj0r9j0vc2 and 0xMuang and unassigned qj0r9j0vc2 Jan 26, 2026
@qj0r9j0vc2 qj0r9j0vc2 self-requested a review January 26, 2026 13:41
@0xMuang 0xMuang merged commit 23dc4a6 into main Jan 26, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Crypto] Use explicit OsRng for IV and salt generation [Bug] Unwrap in WebSocket subscription handlers can crash service

3 participants