Spesialisasi

Kategori

Kategori spesialisasi yang bisa dipakai proyek Lagune, dari OWASP hingga hardening per bahasa untuk JavaScript, Python, Go, dan Rust, serta cara mengubahnya.

Lagune mengelompokkan spesialisasi bawaannya ke dalam 13 kategori. Kategori yang dipakai sebuah proyek menentukan spesialisasi bawaan mana yang masuk ke katalog proyek itu, dan kategori terbagi dua: apa yang dilakukan sistem, dan bahasa yang dipakai untuk menulisnya.

Selama belum ada kategori yang dicatat, proyek hanya memakai owasp. Perintah /lagune-charter mencatat setiap kategori yang didukung oleh hasil pembacaannya terhadap proyek, dan Anda bisa mengubahnya sendiri kapan saja.

Apa yang dilakukan sistem​

KategoriKunciYang diperkuat
OWASPowaspRisiko keamanan aplikasi yang dipantau OWASP: injection, kontrol akses yang rusak (Broken Access Control), serta kegagalan autentikasi dan kriptografi
InfrastrukturinfraKonfigurasi container, workload, dan serverless: Dockerfile, Compose, keamanan Pod, IAM dan trigger FaaS
AI / LLMaiIntegrasi AI dan LLM, terhadap prompt injection serta rangkaian tool, agen, retrieval, dan MCP yang tidak aman
LovablelovableAplikasi Supabase buatan AI (Lovable dan sejenisnya): celah RLS, kunci service_role yang bocor, dan default yang tidak aman

Bahasa yang dipakai sistem​

KategoriKunciYang diperkuat
JavaScriptjavascriptRCE lewat eval dan child_process, path traversal, dan prototype pollution, di semua runtime-nya
PythonpythonRCE lewat deserialisasi pickle dan YAML, traversal string lewat str.format, dan class pollution
RustrustAPI unsafe yang tidak sound, penyalahgunaan transmute, integer overflow, dan undefined behavior di batas FFI
C / C++c-cppBug format string, buffer overflow, dan penulisan di luar batas yang membuka jalan eksekusi kode
PHPphpBypass autentikasi lewat type juggling, gadget chain object injection, dan konfigurasi default yang tidak aman
GogoBug interface typed nil, data races antar-goroutine, dan konkurensi yang tidak aman di jalur keamanan
JavajavaGadget chain deserialisasi ObjectInputStream yang berujung pada eksekusi kode jarak jauh
RubyrubyGadget chain deserialisasi Marshal.load dan YAML yang mencapai eksekusi kode jarak jauh
.NET / C#dotnetRCE lewat deserialisasi BinaryFormatter dan bypass encoder yang berujung pada XSS
tip

Lagune tidak bergantung pada bahasa pemrograman: seluruh alurnya membaca proyek Anda apa pun bahasanya, dan kategori ini hanya menambah kedalaman pada jebakan yang khas untuk satu bahasa.

Tambah dan hapus kapan saja​

Kategori adalah titik awal, bukan komitmen. Pakai yang cocok untuk proyek saat ini dan ubah kapan saja berdasarkan kuncinya, dengan write add dan write remove. Di terminal, --categories tanpa nilai membuka pemilih interaktif (spasi untuk memilih atau membatalkan pilihan, enter untuk konfirmasi, kosongkan untuk melewati). Di luar terminal, tulis kategorinya setelah opsi itu.

npx lagune write add --categories # interactive
npx lagune write add --categories owasp
npx lagune write add --categories owasp rust

Perintah write add atau write remove yang pertama berangkat dari owasp, jadi menghapus semua kategori menghasilkan daftar kosong, bukan kembali ke default. Setiap perubahan tersimpan di .lagune/configs.json, sehingga seluruh tim bekerja dengan kumpulan yang sama.

Lihat kategori yang dipakai proyek​

Perintah read list --categories menampilkan semua kategori dan apakah proyek memakainya:

npx lagune read list --categories
# Categories
# • owasp [used] Harden against the application security risks OWASP tracks
# • javascript [available] Harden JavaScript and its runtimes
# • php [available] Harden PHP against type-juggling auth bypass
# • go [available] Harden Go against typed-nil interface bugs
# ...
#
# No category is recorded yet, so this project uses the default: owasp.

Lihat Katalog untuk mengetahui spesialisasi apa saja yang dibawa setiap kategori. Spesialisasi milik Anda sendiri, yang ditulis dengan /lagune-specialize, masuk ke katalog apa pun kategorinya.

Pertanyaan yang sering diajukan

Berikan kunci kategori ke --categories, misalnya npx lagune write add --categories javascript. Selama belum ada kategori yang dicatat, fase charter juga mencatat kategori yang didukung oleh hasil pembacaannya terhadap proyek.

Ya. Tulis semuanya di baris yang sama, satu setelah yang lain.

Mulai dengan owasp, kategori default, lalu tambahkan kategori untuk bahasa atau stack Anda. Spesialisasi hanya dimuat saat dibutuhkan, jadi sebuah kategori tidak membebani apa pun sampai ada fase yang membutuhkan salah satu spesialisasinya.