Dalang adalah sebuah framework dan tool keamanan siber (Cybersecurity) berbasis AI Agent yang dirancang untuk melakukan scanning kerentanan pada aplikasi web dan jaringan. Berbeda dengan scanner tradisional yang terpaku pada database CVE statis (seperti Nuclei) dan heuristik deterministik, tool ini menggunakan arsitektur ReAct (Reasoning and Acting) untuk menganalisis logika aplikasi secara dinamis, mengontrol browser via CDP, dan mengeksekusi tool keamanan lokal melalui modul berbasis Markdown (.md).
Tujuan utama Dalang bukan sekadar menjalankan tool otomasi, namun meniru jalan pikiran dan proses coba-coba (trial & error) seorang pentester manusia, mulai dari enumerasi awal hingga mendeteksi celah secara mandiri.
- Markdown Skill Engine
- Mendefinisikan aksi atau metodologi penetration testing dalam bentuk file Markdown (
.md). - Setiap file
.mdakan memilikiFrontmatter(sepertitool_path, variabelargs, dan parameterrequires_root) untuk mengontrol eksekusi local binary/CLI tools. - Body Markdown berisi System Prompt (Role "Authorized Auditor", Task analisis, dan Constraints mitigasi) untuk mengatur cara AI menganalisis hasil output (Defensive Prompting).
- Mendefinisikan aksi atau metodologi penetration testing dalam bentuk file Markdown (
- AI Tool Calling Bridge via JSON
- Menyediakan interface komunikasi standar berbasis JSON antara core engine (Rust) dan model AI (LLM).
- Memastikan aksi spesifik yang diputuskan oleh AI lewat metode Tool Calling (function calling) dapat dipetakan dan diparsing dengan aman menjadi argumen sistem atau permintaan HTTP jaringan.
- CDP Web Crawler
- Integrasi headless browser secara fungsional menggunakan Chrome DevTools Protocol (CDP).
- Memungkinkan crawler untuk melakukan bypass terhadap client-side rendering (SPA), menangkap traffic API/jaringan lewat interceptor, menyusun peta struktur DOM, dan mendeteksi injeksi kompleks (seperti DOM-based XSS) secara realistis seolah-olah dieksekusi oleh user asli.
- LLM Agnostic API & Secure Authentication
- Dirancang arsitektur modular yang mendukung berbagai provider LLM (seperti OpenAI, Anthropic, Gemini, Ollama/vLLM).
- Mendukung autentikasi OAuth Callback dan deteksi token kredensial CLI (CLI Session Hijacking, misal mendeteksi token
gcloudataugemini-cli), sehingga user tidak perlu mengatur raw API Key secara manual setiap saat. - Menyediakan layer abstraksi komunikasi yang memungkinkan pengguna menukar otak AI backend tanpa harus mengubah core engine Dalang.
- Defensive Prompting Layer (Bypass Strictness AI)
- Karena standar LLM (terutama model terkelola komersial) sangat berhati-hati merespon prompt yang berkaitan dengan "finding vulnerabilities" (Safety Filters), Dalang memiliki mekanisme internal Defensive Prompting & Roleplay Framing.
- Core engine menyuntikkan template system prompt khusus (diambil dari
.md) untuk memosisikan AI sebagai Authorized Security Auditor sehingga engine terhindar dari pemblokiran AI strictness tanpa harus memodifikasi core model.
- Universal Native Tool Execution
- Dalang dapat memerintahkan sistem OS secara langsung untuk mengeksekusi utilitas eksternal yang sudah terinstal di komputer pengguna (seperti
nmap,ffuf,hydra, dsb). - Aturan cara menggunakan sebuah external tool, output formatnya, dan maksud tool tersebut secara keseluruhan digambarkan ke dalam bentuk deskripsi Markdown (Skill), sehingga mirip dengan platform automasi security universal yang mampu di-extend tanpa mendevelop kode analyzer tambahan.
- Dalang dapat memerintahkan sistem OS secara langsung untuk mengeksekusi utilitas eksternal yang sudah terinstal di komputer pengguna (seperti
- Autonomous Skill Orchestration (Auto-Pilot)
- Berbeda dengan sekadar pemrosesan satu tool statis, Dalang dirancang dengan arsitektur orkestrasi di mana AI dapat bekerja sepenuhnya otonom.
- Hanya dengan menerima URL/IP target, Dalang akan membaca metadata dari direktori
skills/*.mddan merangkai (chaining) metodenya sendiri. Misalnya, output Nmap mendeteksi web server, AI secara dinamis akan memanggil skill ffuf atau sqlmap selanjutnya hingga menemukan celah.
- Core Engine: Rust
- Dipilih karena memiliki performa pemrosesan paralel (multithreading) yang tinggi dan garansi memory safety yang ketat. Ini esensial untuk mencegah engine hacking/buffer overflows secara lokal dan mempercepat proses asynchronous saat scanning berjalan banyak sekaligus.
- Web Interaction: Library integrasi CDP berbasis Rust (misalnya
chromiumoxideatauheadless_chrome). - Skill Parser: Parser Markdown & YAML/TOML (seperti
pulldown-cmarkatau penanganan regex, sertaserde) untuk memecah dan memvalidasi file-file Skill. - Safe Execution Environment: Pembungkusan (wrapping) eksekusi command OS menggunakan Rust
std::process::Commanddengan filter strict (mencegah shell/command injection) saat memanggil tool eksternal (sepertinmap,ffuf, dll).
Antarmuka utama untuk Dalang adalah berbasis Command Line Interface (CLI):
-
Initialization:
dalang init
Menyiapkan environment awal, membuat folder
.dalangdi direktori lokal untuk menyimpan konfigurasi kredensial (keys LLM) dan local custom Skills. -
Run Guided Scan:
dalang scan --target https://example.com --skills web-basic,nmap-port
Mode spesifik di mana user mendikte skill apa yang boleh dipakai oleh Agent.
-
Run Autonomous Scan (Auto-Pilot):
dalang scan --target https://example.com --auto
Mode utama auto-pilot. Agent menganalisis target, memilih skill secara mandiri dan iteratif dari folder
skills/, serta mengeksplorasi attack surface dari awal enumerasi hingga eksploitasi dan pembuatan report. -
Interactive / Copilot Mode:
dalang interact --target https://example.com
Membuka sesi interaktif (REPL) di mana pentester bisa berdiskusi dua arah dengan agent. Pengguna bisa memberikan instruksi secara natural language untuk mengeksekusi sub-task ad-hoc pada bagian target tertentu.