Sandyaa: Autonomous Security Bug Hunter Berbasis LLM

Sandyaa: Autonomous Security Bug Hunter Berbasis LLM

Sandyaa adalah autonomous code auditor open-source dari SecureLayer7 — dirancang buat nggak sekadar nge-flag potensi masalah, tapi terus menggali sampai bisa membuktikan bug itu real dan exploitable, lengkap dengan PoC code yang bisa dieksekusi. MIT license. Driven by Claude Code (opsional: Gemini).

 Static analyzer konvensional punya problem klasik: ngasilin daftar panjang “potential issues” yang butuh jam tangan manual researcher buat dipilah — mana yang real bug, mana yang false positive. Sandyaa nggak pakai pendekatan itu. Tool ini pakai LLM buat baca codebase, trace alur data di dalamnya, dan langsung memproduksi exploit code yang berfungsi sebagai bukti kerentanan. SecureLayer7 sendiri udah pakai Sandyaa buat nemuin sejumlah zero-day di penelitian mereka sebelum akhirnya dirilis open-source.

⚠️ Authorized use only: Sandyaa bisa menjalankan PoC code yang dia generate buat confirm exploitability — ini berarti ada side effect nyata terhadap target yang dianalisis.

1. Architecture & Scanning Pipeline

Konsep kunci yang membedakan Sandyaa dari LLM-based scanner lain adalah Recursive Language Models (RLM). Bukan cuma “shove files at a model and hope” — tapi model yang aktif mengemudikan Python REPL: nulis regex filter, chunking file, nge-spawn sub-LLM query, dan agregasi hasil secara programatik.

[ARCHITECTURE : RECURSIVE LANGUAGE MODELS (RLM)]

Input: Local directory atau Git URL — langsung dijalankan end-to-end tanpa interactive prompt.

Context building: Baca lintas file, pahami interaksi antar bagian kode, bangun model mental codebase.

Dynamic chunking: Codebase besar dipecah jadi chunks berdasarkan code density dan token budget — bukan fixed size. Ini yang bikin Sandyaa bisa handle repo yang lebih besar dari single context window.

8 recursive passes: Analisis dijalankan berulang dari berbagai sudut pandang, bukan sekali scan.

Output: Folder findings/ berisi analysis writeup, Python PoC, setup guide, dan evidence.json — semua per-bug.

8 Recursive passes — detail:

Pass Fungsi
Call-chain tracing Ikutin alur pemanggilan fungsi dari satu titik ke titik lain di seluruh codebase.
Data-flow expansion Trace pergerakan data — dari mana datangnya, ke mana perginya, di mana disanitasi (atau nggak).
Self-verification Model memverifikasi ulang temuannya sendiri sebelum lanjut — ngurangin false positive.
Vulnerability chaining Cari apakah beberapa bug kecil bisa digabung jadi exploit yang lebih powerful.
PoC refinement Perbaiki dan validasi PoC code sampai benar-benar bisa dieksekusi.
Contradiction detection Deteksi kalau ada asumsi yang bertentangan satu sama lain di chain temuan.
Assumption validation Validasi tiap asumsi yang dipakai dalam analisis — pastiin semuanya grounded ke kode nyata.
Exploitability proof Finalisasi bukti: bug ini bisa di-trigger dari untrusted input? Kalau iya, PoC dieksekusi buat confirm.

Sandyaa juga punya attacker-control filter bawaan: temuan yang nggak reachable dari untrusted input secara otomatis di-drop — ini yang bikin output-nya lebih signal, lebih sedikit noise dibanding static analyzer biasa.

💡 Insight: Threshold yang ditetapkan Sandeep Kamble (CTO SecureLayer7) buat adopsi internal Sandyaa sangat praktis: “Reviewing Sandyaa output jadi lebih produktif dibanding baca kode dari nol.” Ini benchmarknya — bukan “zero false positive”, tapi “false positive rate cukup rendah untuk mengubah workflow reviewer”.

2. Coverage & Evidence Features

Coverage Sandyaa luas — bukan fokus ke satu kategori bug saja, tapi mencakup hampir seluruh spektrum kerentanan source code yang relevan di 2026.

  • Memory safety — Use-After-Free, buffer overflow, type confusion, double-free.
  • Logic bugs — Authentication bypass, TOCTOU (Time-of-Check Time-of-Use), state machine errors.
  • Injection — SQL injection, command injection, XSS, SSRF, path traversal.
  • Cryptographic misuse — Penggunaan primitif kriptografi yang salah atau lemah.
  • Concurrency races — Race condition di multi-threaded code.
  • Unsafe APIs — Insecure deserialization, XXE, prototype pollution.

Evidence per temuan — struktur findings/ folder:

# Struktur output per bug yang ditemukan
findings/
└── vuln_001_sqli_mariadb/
├── analysis.md # Writeup lengkap: apa, di mana, kenapa exploitable
├── exploit.py # Python PoC yang bisa langsung dieksekusi
├── setup_guide.md # Cara repro environment
└── evidence.json # Link setiap klaim ke file path + line number spesifik

Real bug yang sudah publicly disclosed — dari Sandyaa:

Target Tipe Bug Detail
Spring AI SQL Injection MariaDBFilterExpressionConverter — SQLi di filter expression builder.
Spring AI JSONPath Injection PgVectorStore AbstractFilterExpressionConverter — injeksi via JSONPath expression.

Setup & quick start:

# Prerequisites: Node.js, Claude Code CLI (logged in), git
git clone https://github.com/securelayer7/sandyaa.git
cd sandyaa
npm install
npm run build
npm link # install command ‘sandyaa’ secara global# Jalanin audit — local directory
sandyaa /path/to/your/project

# Jalanin audit — Git URL langsung
sandyaa https://github.com/target/repo

# Nggak butuh ANTHROPIC_API_KEY
# Sandyaa pakai session Claude Code lo yang udah login
# Output muncul di findings/ folder, jalan sendiri sampai selesai

⚠️ Platform note: macOS = primary tested platform. Linux = expected to work, belum actively tested. Windows native = TIDAK supported (Unix-only shell commands). Pakai WSL2 kalau di Windows.

3. Roadmap & Konteks Proyek

Sandyaa adalah bukti nyata bahwa LLM yang “disuruh nalar” soal code bisa ngasilin signal security yang lebih berguna dibanding static analyzer yang sekedar pattern-matching. Tapi proyek ini masih sangat awal.

[STATUS & ROADMAP]

Status: Alpha — rough edges dan false positive masih ada. Bukan production-ready tool untuk semua skenario.

Native Windows support: Belum ada, welcome sebagai community PR — butuh refactor shell-out dan Claude CLI invocation.

Gemini support: Sudah opsional via CLI routing tanpa API key — otomatis dipakai kalau gemini CLI ada di PATH dan sudah authenticated.

Community case studies: SecureLayer7 mendorong pengguna submit bug real yang ditemukan lewat Sandyaa ke folder case-studies/ — sertakan target repo, commit hash, analysis.md, dan evidence.json.

CVE policy: Hanya submit CVE yang sudah publicly disclosed — jangan submit embargoed findings.

Arah jangka panjang Sandyaa kemungkinan ke dua hal: makin luas model support-nya (bukan cuma Claude/Gemini), dan makin tight pipeline verifikasinya — karena gap terbesar LLM-based auditor masih di false positive rate dan kemampuan reasoning di codebase yang sangat besar dan kompleks.

💡 Perspektif researcher: Sandyaa bukan buat gantiin code review manual — dia buat ngurangin waktu yang dibuang buat review noise. Kalau lo udah familiar baca Sigma rules di Rustinel atau manual hunt di AIMap, Sandyaa posisinya di source code layer yang sama: tool buat bikin kerja lo lebih fokus ke bug yang actual matter.
🔗 Source & Repo: github.com/securelayer7/sandyaa — MIT license.
📌 Sumber: Help Net Security SecureLayer7 blog (21 April 2026).

You may also like...

Leave a Reply

Your email address will not be published. Required fields are marked *