项目简介
The target of this audit is the private code repository of atoshi-privacy-circuits of Atoshi. The atoshi-privacy-circuits project is a Circom/Groth16 zero-knowledge circuit system for shielded transactions. It contains three core circuits. Shield creates private note commitments for deposits. Unshield proves note ownership and enables withdrawals with nullifierbased double-spend protection. Transfer spends an existing note and creates a new note while preserving asset consistency.
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 atoshi-privacy-circuits 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.
关键发现
我们在该智能合约中共发现 5 个潜在问题,另有 3 条建议与 2 条说明,明细如下:
| ID | Severity | Description | Status |
|---|---|---|---|
| 1 | High | Compilation errors | Fixed |
| 2 | High | Incorrect range in template AmountRangeCheck |
Fixed |
| 3 | High | Lack of binding on withdrawal signals | Fixed |
| 4 | High | Lack of necessary public inputs | Fixed |
| 5 | Low | Lack of range constraint for signal fee |
Fixed |
| 6 | - | Remove redundant code | Fixed |
| 7 | - | Clarify tokenId semantics in note commitments |
Fixed |
| 8 | - | Revise the misleading annotation | Fixed |
| 9 | - | Security assumption on external dependencies | - |
| 10 | - | Poseidon preimage ownership model | - |
更多细节见审计报告。