專案簡介
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 | - |
更多細節見審計報告。