2 poin oleh GN⁺ 2025-11-02 | Belum ada komentar. | Bagikan ke WhatsApp
  • Dalam proses implementasi Go untuk ML-DSA, algoritme tanda tangan tahan kuantum yang ditetapkan NIST, muncul masalah verifikasi tanda tangan yang gagal
  • Claude Code v2.0.28 hanya dengan kode uji dan path sumber berhasil menemukan bug kompleks tingkat rendah dengan cepat
  • Penyebabnya dipastikan sebagai kesalahan penggabungan fungsi yang menghitung ulang bit atas dari w1 pada tahap Verify
  • Dalam eksperimen kedua yang menyusul, Claude juga menemukan kesalahan perhitungan konstanta Montgomery dan bug ketidakcocokan panjang tanda tangan
  • Ketiga percobaan berhasil mengidentifikasi bug, menunjukkan potensi pemanfaatan AI untuk debugging tingkat rendah

Implementasi ML-DSA dan masalah awal

  • Penulis mengimplementasikan ulang ML-DSA (Post-Quantum Signature Algorithm) yang ditetapkan NIST dalam bahasa Go
    • Setelah 4 hari live coding, pengujian memunculkan masalah bahwa fungsi Verify menolak semua tanda tangan
    • Di log pengujian, error invalid signature terus muncul berulang
  • Karena kelelahan, debugging dihentikan dan Claude Code diminta menganalisis masalah tersebut

Debugging pertama oleh Claude Code

  • Claude Code v2.0.28 (model Opus 4.1, tanpa system prompt) diberi informasi berikut
    • Perintah menjalankan tes (bin/go test crypto/internal/fips140/mldsa)
    • Lokasi kode (src/crypto/internal/fips140/mldsa)
    • Penjelasan bahwa “tanda tangan selalu ditolak” dan petunjuk bahwa “w1 berbeda”
  • Dalam hitungan menit, Claude mengembalikan usulan perbaikan yang lengkap
    • Penyebabnya adalah setelah HighBits dan w1Encode digabung menjadi satu, hasil UseHint yang pada Verify sudah menghasilkan bit atas kembali diambil bit atasnya sekali lagi
    • Dengan kata lain, ini adalah kesalahan struktural karena bit atas dari w1 dihitung dua kali
  • Claude memahami penyebabnya segera setelah selesai memuat kode, lalu menulis tes sendiri untuk memverifikasi hipotesis
    • Perbaikan yang diusulkan tidak sepenuhnya sempurna, tetapi identifikasi akar masalahnya mempersingkat waktu debugging
  • Setelah itu penulis merombak w1Encode agar menerima bit atas sebagai input, sekaligus mempersingkat proses konversi representasi Montgomery

Eksperimen kedua: bug pada tahap pembuatan tanda tangan

  • Implementasi pembuatan tanda tangan juga mengalami kegagalan tes
    • Bug pertama: kesalahan perhitungan konstanta (1, -1) di domain Montgomery
      • Ini masalah yang sulit ditemukan, membutuhkan banyak printf dan tebakan, serta memakan waktu sekitar 1~2 jam
    • Bug kedua: kesalahan panjang nilai yang dimasukkan ke tanda tangan (32-bit, bukan 32-byte)
      • Ini relatif mudah ditemukan karena perbedaan panjang tanda tangan
  • Penulis menilai dua bug ini cocok untuk menguji performa Claude, lalu menjalankan ulang Claude Code pada versi kode sebelumnya

Hasil debugging kedua oleh Claude Code

  • Pada prompt pertama, Claude melakukan debugging dengan printf dan pelacakan nilai, lalu menemukan konstanta yang salah dan memperbaikinya
    • Waktu pemrosesannya lebih singkat daripada manusia, dan penyebab kegagalan tes berhasil diidentifikasi dengan tepat
  • Pada prompt kedua, Claude menemukan masalah ketidakcocokan panjang tanda tangan
    • Setelah menelusuri beberapa jalur, Claude mengusulkan perbaikan yang hanya mengubah panjang alokasi
    • Perbaikan yang diusulkan tidak sepenuhnya sempurna, tetapi berhasil menunjuk lokasi inti kesalahannya dengan akurat
  • Dalam tiga percobaan independen, Claude sendiri berhasil menemukan penyebab bug yang benar

Efisiensi debugging AI dan implikasinya

  • Pendekatan Claude efektif sebagai asisten otomatis yang khusus menelusuri penyebab kegagalan tes
    • Pengguna tidak langsung menerapkan usulan perbaikan Claude, melainkan memeriksa lokasi bug lalu memperbaikinya sendiri
  • Penulis menyinggung perlunya alat yang “secara otomatis membuat LLM menganalisis dan memberi tahu penyebab saat tes gagal”
    • Dibanding chat sederhana atau pembuatan PR otomatis, bentuk agen debugging berbasis tes dinilai lebih ideal

Dukungan dan informasi lain

  • Pemeliharaan open source penulis didukung melalui Geomys,
    dengan sponsor seperti Smallstep, Ava Labs, Teleport, Tailscale, dan Sentry
  • Ava Labs menekankan pentingnya pengembangan open source berkelanjutan untuk protokol kriptografi
  • Teleport memperkenalkan platform Teleport Identity untuk mencegah pengambilalihan akun pengguna dan memperkuat kontrol akses

Lampiran: gambar dan penyebutan pribadi

  • Artikel ini menampilkan Clippy dari Microsoft Office dengan balon kata yang mengatakan “bit atas w1 diambil dua kali”
  • Di bagian akhir juga ada foto kucing, disajikan sebagai humor untuk meredakan perdebatan emosional tentang AI

Belum ada komentar.

Belum ada komentar.