< Kembali ke Berita

Halborn mengaudit kontrak Account Abstraction SSP

·4 mnt baca·Oleh SSP Editorial Team
Lencana SECURITY dengan ikon perisai, kunci, CPU, dan mata tertutup di atas judul Halborn mengaudit AA SSP — kontrak multisig Schnorr diperiksa

Pada 16 Januari 2025, SSP Wallet v1.9.0 menutup peninjauan keamanan selama beberapa pekan bersama Halborn terhadap kontrak Solidity Account Abstraction SSP — Factory dan Account Implementation di balik setiap alamat Ethereum dan Sepolia. Audit ini bersih pada hal-hal yang penting, dengan hanya tiga temuan Informasional dan dua temuan prioritas Rendah, semuanya pada kode yang tidak terpakai atau mati. Kami tetap memilih menangani setiap temuan, mendeploy ulang kontraknya, dan mengirim versi yang lebih bersih pada v1.9.0. Pendeployan ulang itu adalah perubahan tak kompatibel bagi pengguna Ethereum dan Sepolia: alamat deterministik Anda pada dua rantai tersebut akan berubah setelah pemutakhiran.

TL;DR

  • Halborn mengaudit bagian Solidity dari Account Abstraction SSP: kontrak Factory dan Account Implementation.
  • Temuan: 3 Informasional, 2 Rendah, 0 Sedang, 0 Tinggi. Semuanya pada jalur kode tak terpakai atau mati. Kontrak yang sebelumnya didistribusikan tetap aman.
  • Kami tetap mendeploy ulang demi menjaga codebase sepenuhnya bersih — kontrak Factory dan Account Implementation baru hadir pada v1.9.0.
  • Perubahan tak kompatibel: alamat Ethereum dan Sepolia berubah setelah pemutakhiran. Pindahkan dana sebelum memutakhirkan, atau hubungi dukungan SSP untuk panduan migrasi.
  • Rantai UTXO — Bitcoin, Zcash, Bitcoin Cash, Flux — tidak terdampak.

Yang diaudit Halborn

Cakupannya adalah bagian Solidity dari kontrak ERC-4337 dengan multisig Schnorr yang kami kirim di v1.6.0 dan kami iterasi sejak itu. Konkretnya: repositori @runonflux/account-abstraction — kontrak Factory yang mendeploy sebuah akun secara deterministik saat pengguna bertransaksi pertama kali, dan kontrak Account Implementation yang mendefinisikan bagaimana akun tersebut memvalidasi UserOperations, memeriksa tanda tangan Schnorr, dan mengikuti aliran bundler-dan-EntryPoint dari ERC-4337.

Tim teknis Halborn menjalankan rangkaian uji lengkap yang biasa mereka sediakan untuk kontrak pintar di produksi. Repositori, menurut kata-kata mereka, kuat, menghormati rekomendasi ERC-4337, dan mengimplementasikan Schnorr secara bersih. Kesimpulan itu penting karena implementasi Schnorr adalah bagian desain dengan basis karya sebelumnya yang paling sedikit — setiap bagian lain dari tumpukan AA sudah diaudit berkali-kali di industri, tetapi tanda tangan Schnorr teragregasi di dalam validator ERC-4337 adalah sesuatu yang kami bangun sendiri.

Apa yang mereka temukan

Laporan ini memuat 3 temuan Informasional dan 2 temuan prioritas Rendah — tidak ada yang Sedang, Tinggi, atau Kritis. Anda dapat membaca laporan lengkapnya di halborn.com/audits/influx-technologies/account-abstraction-schnorr-multisig.

Setiap temuan berada pada kode yang baik tak terpakai di kontrak yang berjalan, atau menjadi bagian jalur yang tidak dieksekusi terhadap dana pengguna nyata — perancah defensif, sisa cabang dari iterasi sebelumnya, hal-hal semacam itu. Tidak ada yang menjelaskan cara penyerang mengambil dana, memalsukan tanda tangan, atau merusak sebuah akun. Kontrak yang dideploy di Ethereum mainnet tetap sepenuhnya aman selama jendela audit dan sesudahnya.

Mengapa kami tetap mendeploy ulang

Dua alasan. Pertama, codebase yang bersih sendirinya adalah bentuk keamanan. Kode mati yang ikut terkompilasi ke dalam kontrak yang dideploy adalah kode mati yang harus dipertimbangkan oleh auditor, integrator, dan kontributor di masa depan. Memangkasnya mengurangi permukaan yang harus diperiksa peninjauan mendatang — lebih sedikit cabang, lebih sedikit asumsi, lebih sedikit cara salah membaca kontrak.

Kedua, ketika Anda punya kesempatan mengirim versi yang menangani setiap temuan dan bukan versi yang menundanya, Anda mengambil kesempatan itu. Itulah yang kami lakukan. v1.9.0 dirilis terhadap kontrak Factory dan Account Implementation yang baru dideploy dan memasukkan setiap rekomendasi Halborn. Cabang stabil dari repositori @runonflux/account-abstraction kini adalah main (npm ^1.1.0); cabang master dan npm ~1.0.0 tetap tersedia bagi siapa saja yang ingin bertahan pada kontrak lama yang sudah dideploy.

PERUBAHAN TAK KOMPATIBEL bagi pengguna Ethereum dan Sepolia

Karena Factory adalah komponen yang menurunkan alamat akun Anda secara deterministik dari kunci publik Anda, mendeploy ulang Factory berarti kunci yang sama menurunkan alamat yang berbeda. Bagi pengguna dengan dana di Ethereum mainnet atau Sepolia, itulah dampak praktis dari v1.9.0: setelah pemutakhiran, alamat yang ditampilkan SSP untuk Ethereum atau Sepolia adalah alamat baru. ETH atau ERC-20 apa pun yang ada di alamat lama tidak akan berpindah sendiri.

Ada dua cara aman menanganinya. Cara lugas adalah memindahkan dana keluar dari alamat lama sebelum memutakhirkan — kirim ke dompet atau bursa lain, lalu mutakhirkan, lalu kirim ke alamat baru Anda. Cara lainnya, bagi pengguna yang sudah memutakhirkan atau memiliki posisi lebih besar atau lebih kompleks, adalah menghubungi dukungan SSP untuk panduan migrasi sehingga kami dapat menemani proses pemulihan dana lama dengan kontrak lama.

Rantai UTXO tidak terdampak. Alamat Bitcoin, Zcash, Bitcoin Cash, dan Flux diturunkan dari kunci Anda tanpa melewati kontrak EVM, sehingga v1.9.0 tidak mengubah alamat-alamat tersebut. Hanya Ethereum dan Sepolia yang terlibat.

Lebih banyak akan datang

Artikel ini secara khusus membahas audit kontrak AA, pada hari rilisnya. Cerita yang lebih besar — keseluruhan peninjauan Halborn atas SSP Wallet, kontrak, dan SDK — diuraikan di Mengintip audit Halborn SSP 2025, yang menempatkan audit ini dalam konteks dua audit lainnya.

Sumber: Catatan rilis SSP Wallet v1.9.0.

Bagikan artikel ini

Artikel terkait