Membangun Rule Engine yang Dapat Diaudit dengan Python
Bangun rule engine Python yang memisahkan aturan bisnis, mencatat keputusan, dan dapat diuji serta diaudit secara sistematis.
Bangun runtime WebAssembly sandboxed dengan Rust, WASI, dan capability-based security untuk menjalankan kode tidak tepercaya secara aman.
Skill yang dibangun
Menjelaskan cara kerja WebAssembly module, linear memory, import, export, host function, dan instance.
Membangun runtime WebAssembly dengan Rust dan Wasmtime yang dapat memuat serta mengeksekusi module secara terkontrol.
Mengonfigurasi WASI dan memberikan capability secara eksplisit untuk membatasi akses file system, environment, dan resource host.
Menerapkan prinsip least privilege dan capability-based security saat merancang boundary antara host dan guest code.
Menganalisis alur eksekusi dan masalah keamanan melalui logging, error handling, validasi input, serta pengujian terhadap module.
Membedakan batasan sandbox WebAssembly dari kebutuhan keamanan lain seperti isolasi resource, timeout, memory limit, dan policy enforcement.
Software engineer, backend engineer, system programmer, security engineer, dan mahasiswa Computer Science tingkat lanjut yang telah menguasai Rust atau bahasa pemrograman sistem, konsep pointer dan memory management, concurrency dasar, struktur data, serta prinsip keamanan aplikasi. Peserta idealnya memahami dasar compiler, proses linking, sistem operasi, dan format biner meskipun tidak harus pernah membangun virtual machine sebelumnya.
Project outcomes
Kamu akan membangun sebuah runtime WebAssembly sandboxed berbasis Rust dan Wasmtime. Runtime ini menerima module WebAssembly, menjalankan fungsi yang diekspor, menyediakan WASI dengan capability terbatas, dan menolak akses host yang tidak diizinkan. Proyek akhirnya mencakup konfigurasi sandbox, binding host function sederhana, pembatasan direktori yang bisa diakses, logging eksekusi, penanganan error, serta skenario pengujian untuk membuktikan bahwa guest code tidak mendapatkan privilege lebih dari yang diberikan.
Kamu akan membangun runtime WebAssembly sandboxed dari fondasi sampai siap menjalankan module secara terkontrol. Kita mulai dari cara kerja WebAssembly, linear memory, host function, module linking, dan WASI. Setelah fondasinya kebayang, kita masuk ke desain sandbox yang membatasi akses file system, environment, network, dan resource lain secara eksplisit.
Implementasinya memakai Rust dan Wasmtime API yang nyata, bukan pseudocode. Kamu akan mengetik contoh kecil yang runnable, menjalankan WebAssembly module, lalu membedah alur eksekusinya dari sisi host, guest, memory, dan capability. Setiap langkah dibuat bertahap supaya konsepnya tidak terasa seperti lompat langsung ke virtual machine.
Di bagian keamanan, kamu akan menerapkan prinsip least privilege dan capability-based security. Kita juga membahas kesalahan yang sering muncul, seperti memberi akses WASI terlalu luas, menganggap sandbox sebagai pengganti validasi input, atau lupa membatasi resource. Di akhir kursus, kamu punya fondasi yang relevan untuk plugin system, serverless runtime, extension engine, dan eksekusi kode dari sumber yang tidak sepenuhnya tepercaya.
Bangun rule engine Python yang memisahkan aturan bisnis, mencatat keputusan, dan dapat diuji serta diaudit secara sistematis.
Bangun aplikasi flashcard berbasis Python dengan penyimpanan data dan algoritma pengulangan berjarak untuk belajar lebih teratur.
Bangun pipeline yang menandatangani, menghasilkan, dan memverifikasi provenance artefak dengan Sigstore dan in-toto.
Bangun simulator CPU dengan Python untuk membandingkan FCFS, SJF, dan Round Robin melalui data, perhitungan, dan validasi hasil.