Sebuah agen AI untuk urusan akuntansi tiba-tiba lepas kendali: dalam satu jam, ia melakukan lebih dari 15.000 panggilan API bertarif tinggi secara beruntun, menyebabkan tagihan cloud membengkak sekitar 50.000 dolar AS (dengan kurs sekitar Rp15.800/USD, setara kira-kira Rp790 juta) sekaligus mengganggu transaksi bisnis yang sedang berjalan. Insiden ini bukan fiksi — ia diungkap dalam laporan AI Risk and Resilience 2026 milik Mandiant (unit intelijen ancaman Google Cloud) yang dirilis pekan ini. Tidak ada peretas, tidak ada malware canggih. Agen itu hanya menjalankan tugasnya sendiri, tanpa ada yang menghentikannya.
Bagi perusahaan Indonesia yang kini beramai-ramai memasang agen AI untuk layanan pelanggan, rekonsiliasi keuangan, hingga otomatisasi DevOps, insiden ini adalah peringatan penting. Artikel ini membedah apa yang salah, mengaitkannya dengan kerangka OWASP Top 10 untuk Aplikasi Agentic 2026 yang baru dirilis, lalu memandu Anda membangun guardrail teknis — lengkap dengan contoh kode — agar insiden serupa tidak terjadi di infrastruktur Anda.
Anatomi Insiden: Ketika Agen "Hanya Menjalankan Tugasnya"
Menurut laporan Mandiant, agen akuntansi tersebut masuk ke dalam runaway execution loop: sebuah kondisi di mana agen terus memanggil ulang tool atau API yang sama tanpa syarat berhenti yang jelas, biasanya karena kesalahan logika, respons API yang tidak sesuai ekspektasi, atau tidak adanya batas jumlah langkah (step limit). Karena setiap panggilan dikenai biaya, dan tidak ada mekanisme yang memutus rantai pemanggilan itu, biaya menumpuk secara eksponensial dalam hitungan menit.
Mandiant mencatat tiga kategori ancaman utama yang berulang di seluruh insiden yang mereka tangani sepanjang 2026:
- Prompt injection tetap menjadi “vektor serangan utama dalam deployment AI enterprise”, sering diperparah oleh izin file dan kontrol akses yang longgar.
- Serangan rantai pasok (supply chain) — misalnya paket otomasi OpenClaw palsu yang disusupi backdoor dan infostealer pada Februari 2026, serta insiden UNC6780/TeamPCP yang melibatkan kredensial layanan AI yang dicuri.
- Eksploitasi berbasis AI — pada Mei 2026, tim intelijen ancaman Google (GTIG) mengonfirmasi kasus pertama pelaku kejahatan siber memakai zero-day yang dikembangkan AI untuk kampanye eksploitasi massal terhadap autentikasi dua faktor pada sebuah tool administrasi open-source.
Insiden Rp790 juta di atas termasuk dalam kategori yang oleh komunitas keamanan disebut sebagai risiko excessive agency dan unbounded consumption — agen diberi terlalu banyak keleluasaan bertindak tanpa batas biaya, batas laju, atau titik persetujuan manusia.
Kerangka Rujukan: OWASP Top 10 Agentic Applications 2026
Pekan-pekan terakhir, OWASP GenAI Security Project merilis pembaruan besar untuk dua daftar sekaligus: OWASP LLM Top 10 2026 dan daftar baru OWASP Agentic Top 10, hasil kerja kolaboratif lebih dari 100 peneliti dan praktisi keamanan global. Perubahan paling mencolok: risiko excessive agency naik peringkat signifikan dibanding edisi sebelumnya, didorong oleh gelombang insiden nyata seperti yang dialami Mandiant.
Beberapa kategori dari OWASP LLM Top 10 2026 yang relevan langsung dengan kasus ini:
- Excessive Agency — mitigasinya adalah kebijakan tool berbasis least privilege disertai persetujuan manusia untuk aksi yang tidak bisa dibatalkan (irreversible).
- Unbounded Consumption — tata kelola token, rate limit, dan biaya yang diterapkan per agen maupun per pengguna.
- Supply Chain — pemindaian image tool dan MCP (Model Context Protocol) server, serta pemantauan perubahan definisi tool pasca-persetujuan.
Sementara pada daftar barunya, OWASP Agentic Top 10, empat kategori berikut paling relevan dengan kasus runaway agent:
- Tool Misuse and Exploitation — kebijakan tool MCP yang memblokir aksi destruktif kecuali melalui gerbang persetujuan (approval gate).
- Identity and Privilege Abuse — setiap agen punya identitas sendiri dengan kontrol akses data yang sadar identitas (identity-aware).
- Cascading Failures — pembatasan laju (throttling) di sepanjang jalur eksekusi dan penonaktifan otomatis untuk mencegah efek domino.
- Rogue Agents — pemantauan perilaku dengan alert SIEM saat terdeteksi penyimpangan dari pola normal.
Rekomendasi Mandiant sejalan dengan kerangka ini: memperluas praktik secure software development ke rekayasa AI, menjaga inventaris model dan layanan AI yang dipakai, mengumpulkan telemetri pemakaian token dan panggilan API lintas aplikasi, serta mencocokkan ukuran model dengan kebutuhan tugas untuk mengendalikan biaya.
Tutorial: Membangun Guardrail Biaya, Laju, dan Persetujuan Manusia
Bagian ini memandu Anda membangun lapisan guardrail sederhana yang bisa dipasang di depan pemanggilan tool/agen apa pun — baik dibangun dengan LangChain, LlamaIndex, framework agent kustom, maupun langsung memanggil API model. Prinsipnya: setiap aksi agen harus lolos tiga pemeriksaan sebelum dieksekusi — batas laju (rate), batas biaya (cost), dan gerbang persetujuan untuk aksi ireversibel.
Langkah 1: Definisikan Kelas Guardrail
Kelas berikut membungkus setiap pemanggilan tool. Ia mencatat waktu setiap panggilan dalam jendela waktu bergulir (sliding window), menghitung proyeksi biaya, dan memiliki “kill switch” yang otomatis aktif begitu ambang batas terlampaui — persis mekanisme yang absen pada insiden agen akuntansi Mandiant.
import time
from dataclasses import dataclass, field
@dataclass
class AgentGuardrail:
max_calls_per_window: int = 50 # batas laju
window_seconds: int = 60
max_spend_usd: float = 5.0 # batas biaya per sesi
cost_per_call_usd: float = 0.02
call_log: list = field(default_factory=list)
total_spend: float = 0.0
halted: bool = False
def check_and_record(self, action_name: str,
irreversible: bool = False,
approved: bool = False):
if self.halted:
raise RuntimeError(
f"Kill switch aktif, aksi '{action_name}' diblokir."
)
now = time.time()
# buang catatan di luar jendela waktu
self.call_log = [t for t in self.call_log
if now - t < self.window_seconds]
if len(self.call_log) >= self.max_calls_per_window:
self.halted = True
raise RuntimeError(
f"Rate limit terlampaui: {len(self.call_log)} "
f"panggilan/{self.window_seconds}s. Agent dihentikan."
)
proyeksi = self.total_spend + self.cost_per_call_usd
if proyeksi > self.max_spend_usd:
self.halted = True
raise RuntimeError(
f"Batas biaya terlampaui: proyeksi ${proyeksi:.2f} "
f"> ${self.max_spend_usd:.2f}. Agent dihentikan."
)
if irreversible and not approved:
raise PermissionError(
f"Aksi '{action_name}' bersifat ireversibel, "
f"menunggu persetujuan manusia."
)
self.call_log.append(now)
self.total_spend = proyeksi
return True
Langkah 2: Bungkus Setiap Tool dengan Guardrail
Setiap fungsi yang bisa dipanggil agen — misalnya kirim_email, update_invoice, atau transfer_dana — harus melewati check_and_record sebelum benar-benar dieksekusi. Tandai aksi yang berdampak finansial atau tidak bisa dibatalkan sebagai irreversible=True, sesuai anjuran OWASP untuk kategori Excessive Agency dan Tool Misuse:
guardrail = AgentGuardrail(max_calls_per_window=20,
max_spend_usd=2.0)
def transfer_dana(rekening_tujuan, jumlah, approved=False):
guardrail.check_and_record(
"transfer_dana", irreversible=True, approved=approved
)
# ... logika transfer sesungguhnya di sini ...
return f"Transfer {jumlah} ke {rekening_tujuan} berhasil"
def cek_saldo(rekening):
guardrail.check_and_record("cek_saldo") # bukan aksi ireversibel
# ... logika cek saldo ...
return "Saldo: Rp12.500.000"
Panggilan transfer_dana(...) tanpa approved=True akan otomatis ditolak. Baru setelah manusia (atau sistem persetujuan terpisah) menyetujuinya, agen boleh mengeksekusi ulang dengan approved=True. Ini menerapkan gerbang persetujuan manusia yang secara eksplisit disebut sebagai mitigasi utama untuk Excessive Agency di OWASP LLM Top 10 2026.
Langkah 3: Simulasikan Skenario Runaway untuk Menguji Guardrail
Sebelum dipasang ke produksi, uji guardrail dengan mensimulasikan loop tak terkendali seperti yang dialami Mandiant — pastikan kill switch benar-benar berhenti sebelum biaya membengkak:
berhasil, gagal = 0, 0
for i in range(100):
try:
cek_saldo("REK-001")
berhasil += 1
except RuntimeError as e:
gagal += 1
print(f"Panggilan ke-{i}: dihentikan — {e}")
break
print(f"Total sukses sebelum dihentikan: {berhasil}")
Dengan konfigurasi max_calls_per_window=20 dan max_spend_usd=2.0, simulasi ini akan berhenti jauh sebelum panggilan ke-100 — persis perilaku yang seharusnya mencegah insiden 15.000 panggilan dalam satu jam.
Langkah 4: Tambahkan Telemetri dan Peringatan Perilaku
Guardrail lokal saja tidak cukup. Sesuai rekomendasi Mandiant dan kategori Rogue Agents pada OWASP Agentic Top 10, setiap event guardrail — terutama saat halted=True atau permintaan persetujuan ditolak — sebaiknya dikirim sebagai log terstruktur ke sistem SIEM/monitoring Anda, bukan hanya dicetak ke konsol. Ini memberi tim keamanan visibilitas atas pemakaian token, frekuensi panggilan lintas aplikasi, dan pola perilaku agen yang menyimpang dari baseline — sehingga anomali terdeteksi dalam hitungan menit, bukan setelah tagihan cloud membengkak.
Checklist Implementasi Cepat
Sebagai ringkasan praktis, berikut langkah minimal yang bisa diadopsi tim yang mengoperasikan agen AI di produksi: terapkan kebijakan least privilege pada setiap tool yang bisa diakses agen; pasang batas laju dan batas biaya di level kode, bukan hanya di dashboard cloud provider; wajibkan persetujuan manusia untuk aksi finansial atau destruktif; catat inventaris seluruh model, agen, dan MCP server yang berjalan; kumpulkan telemetri token dan panggilan API secara terpusat; serta uji skenario kegagalan (seperti runaway loop) secara berkala, bukan hanya saat insiden sudah terjadi.
Konteks Tata Kelola di Indonesia
Bagi organisasi di Indonesia, guardrail teknis semacam ini juga membantu kepatuhan yang lebih luas. Jika agen AI memproses data pribadi nasabah atau karyawan, prinsip minimalisasi akses dan pencatatan aktivitas pemrosesan sejalan dengan kewajiban dasar UU Pelindungan Data Pribadi (UU PDP) No. 27 Tahun 2022, termasuk akuntabilitas atas siapa — termasuk sistem otomatis — yang mengakses data apa. Secara tata kelola, kerangka seperti ISO/IEC 42001 (sistem manajemen AI) dan NIST AI Risk Management Framework juga dapat dijadikan referensi untuk menyusun kebijakan internal seputar batas kewenangan, anggaran, dan eskalasi insiden agen AI, sebelum insiden serupa kasus Mandiant terjadi di infrastruktur sendiri.
Penutup
Insiden agen akuntansi Mandiant menunjukkan bahwa risiko terbesar AI agentic hari ini bukan selalu peretas canggih dari luar, melainkan agen yang bekerja terlalu baik tanpa batas yang jelas. Guardrail biaya, laju, dan persetujuan manusia seperti yang didemonstrasikan di atas bukan solusi sekali pasang, melainkan lapisan pertahanan dasar yang seharusnya menyertai setiap agen AI yang diberi akses ke sistem produksi, data pelanggan, atau anggaran perusahaan. Semakin banyak wewenang yang diberikan ke agen, semakin penting pula rem yang menyertainya.



