background
logo

Security Audit Report for NoirWallet's zcash-wallet-wasm

项目简介

The target of this audit is the private code repository of zcash-wallet-wasm of NoirWallet. Please refer to the report for the detailed audit scope.

Our audit methodology employs automated vulnerability scans, manual verification, and business logic analysis to uncover potential security issues coupled with gas and code quality optimization recommendations.

In summary, we have found that the codebase contains 4 high-risk issues that require prompt attention. In addition, we have identified other non-critical issues as well as recommendations and notes that should be considered. The zcash-wallet-wasm team has addressed these issues promptly. It is important to note that our audit covers only the final reported versions of the codebase. Any subsequent updates would require a re-evaluation.

关键发现

我们在该智能合约中共发现 12 个潜在问题,另有 5 条建议与 10 条说明,明细如下:

高风险:4
中风险:3
低风险:5
建议:5
说明:10
ID Severity Description Status
1 High Data leakage to the remote proving server Fixed
2 High Sensitive data exposure through console logs Fixed
3 High Lack of Sapling receiver in returned unified address Fixed
4 High Incorrect implementation of function utxo_query_height() Fixed
5 Medium Incorrect transparent address resolution Fixed
6 Medium Lack of restriction on new mnemonic length Fixed
7 Medium Incorrect check in function get_wallet_summary() Fixed
8 Low Lack of support for BIP39 passphrases Fixed
9 Low Potential panics Fixed
10 Low Lack of handling for broadcast failures Confirmed
11 Low Lack of zeroization for sensitive seed value Fixed
12 Low Incorrect balance display during wallet recovery Confirmed
13 - Revise the incorrect annotation Fixed
14 - Add a check in function pczt_sign_inner() Fixed
15 - Unify implementation between payment request and PCZT creation Fixed
16 - Unify the confirmation policy Fixed
17 - Report pending and total balances Fixed
18 - Security assumptions on the host application -
19 - Trust assumptions on the librustzcash library -
20 - Non-standard encoding in transparent message signing -
21 - Transfers to TEX addresses are not supported -
22 - Address linkage during shielding -
23 - Constraints of PCZT implementation -
24 - Worker-based execution for multithreaded Wasm -
25 - Library upgrades and integration are out of scope -
26 - Transparent receive transactions are omitted from history -
27 - Function get_next_shielded_address() is limited to shielded address rotation -

更多细节见审计报告

迈出走向安全的第一步

立即联系我们,获取 BlockSec 的专业代码审计服务,在协议上线之前把安全性提上来!