• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

tari-project / tari / 38375892864
77%

Build:
DEFAULT BRANCH: development
Ran 13 Oct 2026 10:51AM UTC
Jobs 1
Files 800
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

13 Oct 2026 09:22AM UTC coverage: 74.213% (+0.04%) from 74.173%
38375892864

push

github

web-flow
fix(key_manager): low-impact hardening from the key manager security analysis (#8106)

## Description

This PR fixes the low-impact findings from the 2026-09-30 key manager
security analysis that were still open. Each commit covers one item.

- **Key-id length cap.**
- Key-id strings are capped at 1 KiB (`MAX_KEY_ID_LENGTH`). The cap is
checked first in `check_key_string`, so `from_str`, serde and borsh all
enforce it. The nesting cap of 16 came in earlier with #8077.
- The resolvers in the key manager now parse inner ids through one
helper, `parse_inner_key_id`. They still re-parse at every level,
because inner ids are stored as strings, but the two caps bound the
work.
- Every real key id is under about 420 bytes, so no stored key id is
rejected.
- **Zeroize decrypted keys.** `decrypt_encrypted_key` now wraps the
decrypted scalar bytes and the copy of the decryption key in
`Zeroizing`, so they are wiped on error returns too.
- **Ledger: refuse RevealedValue in
`get_metadata_signature_user_verified`.** The device always signs with a
random value nonce, but a RevealedValue output needs that nonce to be
zero, so consensus rejected these signatures with no local error. The
host now refuses them up front with `LedgerRevealedValueUnsupported`.
The script and sender-offset branch checks were already added by #8104.
- **Redact `Encrypted` ciphertexts in errors, logs and `Debug`.**
- `TariKeyId::redacted()` and `redact_key_id_string()` turn the hex of
every `encrypted.<hex>` segment into `encrypted.[N bytes]`. Malformed
strings are redacted too: the segment after `encrypted` and any other
hex run of 32 characters or more are hidden.
- `TariKeyId`, `SerializedKeyString` and the legacy key-id types now
have hand-written `Debug` impls that print the redacted form. That
covers `WalletOutput`, `DbWalletOutput`, `WalletOutputBuilder` and error
enums.
- The key-manager errors, the legacy conversion errors, the wallet
SQLite conversion errors and the pre-mine self-f... (continued)

323 of 377 new or added lines in 9 files covered. (85.68%)

47 existing lines in 15 files now uncovered.

123720 of 166709 relevant lines covered (74.21%)

1171987.76 hits per line

Uncovered Changes

Lines Coverage ∆ File
21
68.66
-4.17% base_layer/transaction_components/src/transaction_components/wallet_output_builder.rs
16
83.36
0.4% base_layer/transaction_components/src/key_manager/manager.rs
12
60.52
-0.99% base_layer/transaction_key_manager/src/legacy_key_manager/inner.rs
3
73.68
-0.17% base_layer/wallet/src/output_manager_service/storage/sqlite_db/output_sql.rs
2
72.28
-0.05% base_layer/wallet/src/output_manager_service/storage/sqlite_db/mod.rs

Coverage Regressions

Lines Coverage ∆ File
12
74.26
1.36% comms/core/src/connectivity/manager.rs
9
79.2
-1.33% base_layer/core/src/base_node/sync/header_sync/validator.rs
4
87.3
-6.35% comms/core/src/connection_manager/requester.rs
3
58.26
-0.05% base_layer/core/src/chain_storage/blockchain_database.rs
3
72.28
-0.05% base_layer/wallet/src/output_manager_service/storage/sqlite_db/mod.rs
3
87.07
-0.18% comms/core/src/connection_manager/peer_connection.rs
2
87.65
0.0% base_layer/core/src/proof_of_work/cuckaroo_pow.rs
2
83.36
0.4% base_layer/transaction_components/src/key_manager/manager.rs
2
69.07
0.07% base_layer/wallet/src/transaction_service/storage/sqlite_db.rs
2
78.13
-3.13% comms/core/src/pipeline/outbound.rs
1
98.24
-0.15% base_layer/core/src/proof_of_work/monero_rx/merkle_tree.rs
1
97.62
-0.79% base_layer/service_framework/src/reply_channel.rs
1
60.52
-0.99% base_layer/transaction_key_manager/src/legacy_key_manager/inner.rs
1
68.97
0.99% comms/core/src/connectivity/requester.rs
1
80.88
0.32% comms/dht/src/connectivity/mod.rs
Jobs
ID Job ID Ran Files Coverage
1 38375892864.1 13 Oct 2026 10:51AM UTC 800
74.21
GitHub Action Run
Source Files on build 38375892864
  • Tree
  • List 800
  • Changed 27
  • Source Changed 10
  • Coverage Changed 26
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #38375892864
  • 42977a22 on github
  • Prev Build on development (#38240644255)
  • Next Build on development (#38393174892)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc