What changed, and why it matters
This commit fixes a small wiring mistake in how the Trezor device labels a Ripple transaction response message. The message that sends back a signed Ripple transaction was incorrectly marked as an incoming ('wire_in') message when it should be outgoing ('wire_out'). The rest of the changes are typo fixes in comments and documentation. There is no direct evidence in the commit that this caused a real security vulnerability or exploit.
Treat as a low-risk correctness/documentation fix. Verify that downstream code generators and the Trezor wire protocol implementation now emit the correct direction bit for RippleSignedTx, and confirm no other messages have the same annotation inversion. No urgent security response is indicated by this commit alone.
Security signals we found
Protobuf message direction annotation corrected for RippleSignedTx (wire_in -> wire_out)
Generated Rust protobuf descriptor regenerated to match annotation change
No host/device code path changes present in diff
No changelog entry requested by commit author
Evidence from the diff
The protobuf definition for MessageType_RippleSignedTx (403) is changed from wire_in=true to wire_out=true, with a matching update in the generated Rust descriptor bytes. RippleSignedTx is the response produced by the device after signing a Ripple transaction, so logically it should be wire_out. The other changes are comment/docstring typo corrections in messages-ripple.proto and messages-monero.proto. The patch is minimal and does not include runtime logic changes.
Changed components
common/protob/messages.protocommon/protob/messages-ripple.protocommon/protob/messages-monero.protorust/trezor-client/src/protos/generated/messages.rsInspect captured patch +5 / −5
diff --git a/common/protob/messages-monero.proto b/common/protob/messages-monero.proto
index 96661539..ea0401ee 100644
--- a/common/protob/messages-monero.proto
+++ b/common/protob/messages-monero.proto
@@ -207,7 +207,7 @@ message MoneroTransactionInputViniAck {
}
/**
- * Request: Sub request of MoneroTransactionSign. Sent after all inputs have been sent. Useful for rangeisg offloading.
+ * Request: Sub request of MoneroTransactionSign. Sent after all inputs have been sent. Useful for rangesig offloading.
* @next MoneroTransactionAllInputsSetAck
*/
message MoneroTransactionAllInputsSetRequest {
@@ -299,7 +299,7 @@ message MoneroTransactionSignInputAck {
}
/**
- * Request: Sub request of MoneroTransactionSign. Final message of the procol after all UTXOs are signed
+ * Request: Sub request of MoneroTransactionSign. Final message of the protocol after all UTXOs are signed
* @next MoneroTransactionFinalAck
*/
message MoneroTransactionFinalRequest {
diff --git a/common/protob/messages-ripple.proto b/common/protob/messages-ripple.proto
index 4b9ea95f..ba107dc0 100644
--- a/common/protob/messages-ripple.proto
+++ b/common/protob/messages-ripple.proto
@@ -40,7 +40,7 @@ message RippleSignTx {
optional uint32 last_ledger_sequence = 5; // see https://developers.ripple.com/reliable-transaction-submission.html#lastledgersequence
required RipplePayment payment = 6; // Payment transaction type
optional bool chunkify = 7; // display the address in chunks of 4 characters
- optional common.PaymentRequest payment_req = 8; // SLIP-24 payment reques
+ optional common.PaymentRequest payment_req = 8; // SLIP-24 payment request
/**
* Payment transaction type
diff --git a/common/protob/messages.proto b/common/protob/messages.proto
index 86cbb6d0..fd0a1eb3 100644
--- a/common/protob/messages.proto
+++ b/common/protob/messages.proto
@@ -263,7 +263,7 @@ enum MessageType {
MessageType_RippleGetAddress = 400 [(wire_in) = true];
MessageType_RippleAddress = 401 [(wire_out) = true];
MessageType_RippleSignTx = 402 [(wire_in) = true];
- MessageType_RippleSignedTx = 403 [(wire_in) = true];
+ MessageType_RippleSignedTx = 403 [(wire_out) = true];
// Monero
MessageType_MoneroTransactionInitRequest = 501 [(wire_out) = true];
diff --git a/rust/trezor-client/src/protos/generated/messages.rs b/rust/trezor-client/src/protos/generated/messages.rs
index 2c5f7678..47910738 100644
--- a/rust/trezor-client/src/protos/generated/messages.rs
+++ b/rust/trezor-client/src/protos/generated/messages.rs
@@ -1951,7 +1951,7 @@ static file_descriptor_proto_data: &'static [u8] = b"\
\x10\x90\x03\x1a\x04\x90\xb5\x18\x01\x12$\n\x19MessageType_RippleAddress\
\x10\x91\x03\x1a\x04\x98\xb5\x18\x01\x12#\n\x18MessageType_RippleSignTx\
\x10\x92\x03\x1a\x04\x90\xb5\x18\x01\x12%\n\x1aMessageType_RippleSignedT\
- x\x10\x93\x03\x1a\x04\x90\xb5\x18\x01\x123\n(MessageType_MoneroTransacti\
+ x\x10\x93\x03\x1a\x04\x98\xb5\x18\x01\x123\n(MessageType_MoneroTransacti\
onInitRequest\x10\xf5\x03\x1a\x04\x98\xb5\x18\x01\x12/\n$MessageType_Mon\
eroTransactionInitAck\x10\xf6\x03\x1a\x04\x98\xb5\x18\x01\x127\n,Message\
Type_MoneroTransactionSetInputRequest\x10\xf7\x03\x1a\x04\x98\xb5\x18\
Why this scored 18/100
Community notes
Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.
The AI analysis stands alone for now. Submit a note if you can add evidence or important context.