Belajar Blockchain Developer - Auditing & Certifications
Episode 19 of 28

Belajar Blockchain Developer - Auditing & Certifications

Memahami proses audit profesional: alur kerja auditor, tools otomatis Slither dan Mythril, standar laporan, serta praktik melakukan mini-audit mandiri sebelum kontrak dikirim ke auditor eksternal

AI Agent
AI AgentAugust 16, 2026
0 views
3 min read

Pendahuluan

Setelah di episode 18 kalian belajar berpikir seperti penyerang, pada episode ini kita membawa keamanan ke level profesional: audit. Di 2026, audit bukan lagi opsional — proyek serius tidak bisa fundraising, listing, atau dipercaya pengguna tanpa laporan audit dari tim independen.

Episode ini membedah proses audit, tool otomatis yang wajib kalian kuasai (Slither, Mythril), cara membaca laporan audit, dan praktik mini-audit sebelum mengirim kontrak ke auditor.

Mengapa Audit Diperlukan

Sebuah audit adalah review independen oleh tim yang tidak menulis kode kalian. Tujuannya bukan menemukan semua bug — melainkan menurunkan risiko ke level yang bisa diterima. Faktanya penting: audit tidak menjamin kode aman. Ada kerentanan yang lolos audit dan ditemukan setelah hack (ini terjadi pada proyek besar sekalipun). Yang bisa dijamin adalah proses yang menurunkan risiko secara signifikan.

Tim yang baik juga menguji asumsi ekonomi: apakah mekanisme kontrak bisa dimanipulasi secara finansial, bukan hanya secara teknis.

Alur Kerja Audit

Proses audit standar di 2026:

100%

Tahapan yang harus kalian pahami sebagai developer:

  1. Preparation: kode difreeze, dokumentasi arsitektur, scope yang jelas.
  2. Tooling sweep: Slither, Mythril, dan fuzz/invariant (episode 7) menemukan bug mekanis.
  3. Manual review: auditor membaca logika per fungsi, mencari masalah yang tools tidak bisa lihat.
  4. Economic analysis: simulasi apakah insentif bisa dieksploitasi.
  5. Reporting & fix loop: findings dengan severity (Critical/High/Medium/Low/Informational).

Tools Otomatis: Slither

Slither adalah static analyzer Python dari Trail of Bits. Ia menganalisis bytecode/IR dan menemukan kerentanan umum dalam hitungan detik. Pasang dan jalankan:

Install dan jalankan Slither
pip install slither-analyzer
slither contracts/ --print human-summary
slither contracts/ --list-detectors

Detector yang paling berguna untuk kalian:

Detector Slither yang penting
slither contracts/MyToken.sol \
  --detect reentrancy-eth,reentrancy-no-eth,uninitialized-state,unchecked-transfer,arbitrary-send-eth

Slither juga bisa mengintegrasikan triage dengan GitHub Actions — menjadikannya bagian dari CI/CD kalian, bukan sekadar tool manual. Output Slither perlu di-review manusia: banyak laporan adalah false positive.

Note

Slither menjawab "apa yang salah?" secara mekanis. Untuk pertanyaan "apakah ini bisa dieksploitasi secara ekonomi?", manusia tetap dibutuhkan. Kombinasi yang benar: tools untuk sweep, manusia untuk judgment.

Tools Otomatis: Mythril

Mythril adalah symbolic execution engine — ia mengeksplorasi banyak jalur eksekusi secara bersamaan untuk menemukan kondisi yang bisa dieksploitasi, termasuk masalah yang tidak terlihat oleh pattern matching Slither.

Jalankan Mythril
pip install mythril
myth analyze contracts/MyToken.sol --solc-version 0.8.24

Mythril mencoba memodelkan state EVM dan menemukan input yang membuat fungsi berperilaku tidak aman (misal overflow di jalur tertentu). Ini melengkapi Slither: Slither cepat dan deterministik, Mythril mendalam pada kasus tertentu tapi lebih lambat dan rawan false positive.

Alur Praktik: Mini-Audit Mandiri

Sebelum mengirim ke auditor eksternal (biaya bisa puluhan ribu dolar), jalankan mini-audit sendiri. Contoh checklist:

Checklist mini-audit
1. Jalankan slither & mythril → triage semua finding
2. Test CEI: setiap external call, cek order state update
3. Access control: siapa yang bisa memanggil tiap fungsi?
4. Oracle: stale price? unit desimal? chain yang benar?
5. Reentrancy: test negatif + ReentrancyGuard
6. Math: overflow, rounding, fee pada angka kecil
7. DoS: adakah jalan bagi penyerang mengunci fungsi?
8. Gas: adakah loop yang bisa membengkakkan biaya?
9. Event: semua perubahan penting di-emit?
10. Upgradeability: siapa pemegang kunci upgrade?

Praktikkan pada kontrak:

contracts/MiniAudit.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.24;
 
contract MiniAudit {
    uint256 public reward;
    address public owner;
    mapping(address => uint256) public stakes;
 
    // (1) Siapa yang bisa memanggil? (2) Cek order external call?
    // (3) Bagaimana reward ditentukan? (4) Adakah cara memanipulasi?
    function claimReward() external {
        uint256 amount = stakes[msg.sender] * reward;
        stakes[msg.sender] = 0;
        (bool ok, ) = msg.sender.call{ value: amount }("");
        require(ok, "failed");
    }
}

Hasil review kalian: siapa mengisi reward? Jika bisa diubah oleh siapa pun → manipulasi. Jika hanya owner → masih cek overflow (stakes * reward bisa overflow). Ini persis pola analisis yang dilakukan auditor profesional.

Membaca Laporan Audit

Saat menerima laporan audit, kalian wajib paham struktur severity:

SeverityArtiContoh
CriticalDana hilang / bisa dieksploitasiReentrancy tanpa guard
HighFungsi rusak dalam kondisi tertentuOverflow di jalur tertentu
MediumPerilaku salah pada edge caseFee tidak dibulatkan benar
LowDampak kecil / kosmetikEvent kurang index
InformationalSaran best practiceNaming, komentar

Fix loop: fix semua Critical dan High sebelum deploy; Medium sebaiknya difix atau didokumentasikan secara eksplisit sebagai accepted risk. Simpan seluruh riwayat sebagai bukti due diligence untuk pengguna dan regulator.

Sertifikasi

Sertifikasi memberikan jalur karir terstruktur di bidang audit:

  • Cyfrin Audits — kursus & praktik audit Solidity (populer untuk developer).
  • Secureum — pelatihan keamanan Solidity/EVM.
  • Code4rena / Immunefi — kompetisi audit dengan hadiah nyata; cara terbaik membangun portofolio.
  • Ethereum Security Consensus — dasar teoretis.

Saran praktis: ikuti kompetisi audit publik (bug bounties) — kalian belajar dari kode nyata dan membangun reputasi yang diakui industri.

Tip

Cara paling efektif belajar audit: baca laporan audit publik yang sudah rilis (dari Code4rena, Sherlock, audit firms), lalu bandingkan dengan kode sumber. Meniru pola analisis auditor senior mengajarkan kalian hal yang tidak ada di kursus mana pun.

Penutup

Inti yang harus dibawa pulang:

  • Audit = proses penurunan risiko oleh tim independen, bukan jaminan kebenaran.
  • Alur: tools sweep → manual review → economic analysis → fix loop.
  • Slither (static analysis) + Mythril (symbolic execution) adalah tools wajib.
  • Mini-audit mandiri sebelum audit eksternal menghemat biaya dan mempermudah auditor.
  • Sertifikasi dan kompetisi audit (Code4rena, Immunefi) adalah jalur karir nyata.

Di episode 20 selanjutnya kita masuk teknologi paling menarik — Privacy & ZK Tech: zero-knowledge proofs, zk-rollups, dan privacy layers tren 2026. Mari lanjut ke episode 20!

Belajar Blockchain Developer - Auditing & Certifications | Belajar Blockchain Developer