Riset terbaru dari tim keamanan Wiz menemukan bahwa penyerang siber kini "semakin menggunakan AI untuk mengotomasi pengintaian, mempercepat teknik yang sudah dikenal alih-alih menciptakan teknik baru." Artinya, fase reconnaissance yang dulu memakan berhari-hari — memetakan subdomain, mencari kredensial bocor, mengidentifikasi karyawan kunci di LinkedIn — kini bisa dipadatkan menjadi hitungan menit dengan bantuan large language model (LLM). Bagi tim keamanan di Indonesia, ini bukan sekadar tren global yang bisa diabaikan. Jika penyerang mempercepat pengintaian mereka dengan AI, tim Cyber Threat Intelligence (CTI) dan Security Operations Center (SOC) lokal juga perlu mengadopsi kemampuan setara agar tidak kalah cepat — sambil tetap menjaga akurasi dan kepatuhan hukum.
Tutorial ini membedah cara merakit pipeline Open Source Intelligence (OSINT) berbantuan AI untuk kebutuhan threat intelligence perusahaan: dari pengumpulan data mentah, sintesis oleh LLM, hingga guardrail anti-halusinasi dan pertimbangan hukum berdasarkan UU Pelindungan Data Pribadi (PDP) No. 27/2022 serta UU ITE. Tujuannya bukan membuat penyerang lebih pintar, melainkan membantu tim biru (blue team) di Indonesia memahami dan menandingi kecepatan yang sama.
Mengapa OSINT Masih Jadi Fondasi Threat Intelligence
OSINT adalah praktik mengumpulkan dan menganalisis informasi yang tersedia untuk umum guna mengidentifikasi ancaman keamanan — aset yang terekspos ke internet, kredensial yang bocor di dark web, hingga jejak digital yang bisa dimanfaatkan penyerang untuk social engineering. Bagi perusahaan, OSINT dipakai untuk beberapa kebutuhan sekaligus: pemetaan attack surface eksternal, due diligence terhadap mitra atau vendor, brand protection dari domain phishing, serta memperkaya indikator ancaman (indicators of compromise) yang masuk ke SOC.
Ekosistem tooling OSINT tahun ini cukup matang dan sebagian besar open-source. Beberapa yang paling umum dipakai tim CTI:
- Shodan — mengindeks perangkat yang terhubung ke internet melalui pemindaian port, berguna untuk menemukan server atau perangkat IoT perusahaan yang tidak sengaja terekspos.
- theHarvester dan Recon-ng — framework pengumpulan data pasif untuk subdomain, alamat email, dan metadata WHOIS/DNS.
- BuiltWith — mengungkap stack teknologi sebuah situs, termasuk CMS dan pustaka pihak ketiga yang mungkin punya kerentanan diketahui.
- FOCA — mengekstrak metadata tersembunyi dari dokumen publik (PDF, DOCX) yang bisa membocorkan nama pengguna internal atau versi perangkat lunak.
- Maltego dan SpiderFoot — alat analisis grafis dengan ratusan modul untuk memetakan hubungan antar-aktor, infrastruktur, dan entitas.
- Ahmia dan Intelligence X — mesin pencari untuk sumber dark web dan basis data kredensial bocor.
Masalahnya, output dari alat-alat ini mentah dan terpisah-pisah. Analis manual harus membuka belasan tab, menyalin data ke spreadsheet, lalu menyusun narasi ancaman secara manual. Di sinilah LLM mulai dipakai sebagai lapisan orkestrasi.
Peran LLM: Orkestrator, Bukan Sumber Data Baru
Poin krusial yang sering disalahpahami: LLM dalam pipeline OSINT tidak menciptakan informasi baru. Seperti dicatat dalam analisis praktik LLM-powered OSINT, AI "mengorkestrasi, meringkas, dan merangkai alat-alat lebih cepat daripada analis manusia mana pun," tetapi ia "tidak tahu apa pun yang tidak diketahui oleh tool-tool yang dipakainya." Dengan kata lain, LLM berfungsi sebagai lapisan sintesis di atas data yang sudah dikumpulkan alat OSINT konvensional — bukan pengganti alat itu sendiri.
Riset dari Blackdot Solutions tentang tren OSINT 2026 menegaskan hal serupa dari sisi risiko: "mengandalkan AI sepenuhnya untuk seluruh proses investigasi berisiko karena kecenderungan bias dan halusinasi." Pendekatan yang disarankan adalah menggabungkan efisiensi AI dengan keahlian manusia, bukan menggantikannya. Prinsip inilah yang menjadi dasar arsitektur pipeline di bawah.
Arsitektur Pipeline: Lima Tahap
Pipeline OSINT berbantuan AI yang aman untuk dipakai tim CTI perusahaan terdiri dari lima tahap berurutan, dengan gerbang validasi manusia di titik-titik kritis:
- Scoping & Dasar Hukum — menetapkan target, batasan, dan basis hukum pemrosesan data sebelum satu baris kode pun dijalankan.
- Collection — menjalankan tool OSINT terhadap target yang sudah disepakati, hanya dari sumber yang secara sah dapat diakses publik.
- Normalization — mengubah output mentah setiap tool menjadi skema data terstruktur agar bisa dibandingkan silang.
- AI Synthesis — LLM merangkum dan mengaitkan data, dengan setiap klaim wajib mencantumkan sumber baris data asal.
- Human Validation — analis memverifikasi setiap klaim bertanda "unverified" sebelum laporan intelijen dianggap final.
Tahap 3: Normalisasi Data
Setelah data terkumpul dari beberapa tool, langkah pertama adalah menyeragamkannya ke satu skema JSON agar bisa diproses konsisten. Contoh sederhana di Python:
import json
from dataclasses import dataclass, asdict
from typing import Optional
@dataclass
class OsintRecord:
source_tool: str # mis. "theharvester", "shodan"
record_type: str # mis. "subdomain", "email", "open_port"
value: str
collected_at: str
raw_ref: str # path/ID ke data mentah asli, untuk audit
def normalize_theharvester(raw_lines: list[str], collected_at: str) -> list[OsintRecord]:
records = []
for line in raw_lines:
line = line.strip()
if not line:
continue
record_type = "email" if "@" in line else "subdomain"
records.append(OsintRecord(
source_tool="theharvester",
record_type=record_type,
value=line,
collected_at=collected_at,
raw_ref=f"raw/theharvester_{collected_at}.txt"
))
return records
# Simpan sebagai dataset terstruktur yang bisa dirujuk balik
dataset = [asdict(r) for r in normalize_theharvester(raw_lines, "2026-09-23")]
with open("osint_dataset.json", "w") as f:
json.dump(dataset, f, indent=2, ensure_ascii=False)
Kolom raw_ref di atas penting: setiap catatan terstruktur harus bisa ditelusuri balik ke data mentah aslinya. Ini menjadi fondasi guardrail anti-halusinasi pada tahap berikutnya.
Tahap 4: Sintesis dengan Guardrail Anti-Halusinasi
Inti dari guardrail adalah memaksa LLM hanya merangkum apa yang benar-benar ada di dataset, dan menandai secara eksplisit klaim yang tidak bisa didukung data. Prompt sistem berikut dirancang untuk itu:
SYSTEM_PROMPT = """
Anda adalah asisten sintesis intelijen ancaman. Anda HANYA boleh
merangkum informasi yang secara eksplisit ada dalam dataset JSON
yang diberikan. Untuk setiap klaim dalam ringkasan Anda:
1. Sertakan referensi index dataset, format: [ref:N]
2. Jika Anda membuat inferensi (bukan fakta langsung dari data),
tandai jelas dengan awalan "Hipotesis:" dan jelaskan dasarnya.
3. JANGAN PERNAH menyebutkan nama orang, perusahaan, atau angka
yang tidak muncul secara harfiah dalam dataset.
4. Jika data tidak cukup untuk menyimpulkan sesuatu, katakan
"data tidak cukup" alih-alih menebak.
"""
def synthesize(dataset: list[dict], question: str) -> str:
numbered = [f"[{i}] {json.dumps(r, ensure_ascii=False)}"
for i, r in enumerate(dataset)]
user_prompt = (
"Dataset OSINT:\n" + "\n".join(numbered) +
f"\n\nPertanyaan analis: {question}"
)
# Panggil LLM pilihan Anda (contoh generik, ganti sesuai provider)
response = call_llm(system=SYSTEM_PROMPT, user=user_prompt)
return response
Setelah LLM menghasilkan ringkasan, jangan langsung percaya begitu saja. Tambahkan fungsi verifikasi otomatis yang mengecek apakah setiap referensi [ref:N] benar-benar menunjuk ke index dataset yang valid, dan flag setiap kalimat yang tidak punya referensi sama sekali:
import re
def verify_claims(summary: str, dataset_len: int) -> list[str]:
warnings = []
for i, sentence in enumerate(summary.split(". ")):
refs = re.findall(r"\[ref:(\d+)\]", sentence)
if not refs and "Hipotesis:" not in sentence and sentence.strip():
warnings.append(f"Kalimat tanpa referensi: '{sentence.strip()}'")
for r in refs:
if int(r) >= dataset_len:
warnings.append(f"Referensi tidak valid [ref:{r}] pada: '{sentence.strip()}'")
return warnings
Setiap warning dari fungsi ini wajib masuk ke tahap validasi manusia — bukan diabaikan. Inilah yang membedakan pipeline yang bertanggung jawab dari sekadar "tanya LLM lalu tempel hasilnya ke laporan."
Rambu Hukum di Indonesia: OSINT Bukan Zona Bebas Aturan
Data yang tersedia untuk umum bukan berarti bebas dari pengaturan hukum. Dua kerangka utama yang wajib diperhatikan tim CTI Indonesia:
UU PDP No. 27/2022
Data pribadi yang dikumpulkan dari sumber publik — misalnya nama, jabatan, atau alamat email karyawan target yang ditemukan lewat pencarian OSINT — tetap tergolong pemrosesan data pribadi menurut UU PDP, sekalipun sumbernya terbuka. Karena meminta persetujuan (consent) dari setiap individu yang datanya dikumpulkan jelas tidak praktis dalam konteks threat intelligence, basis hukum yang lazim dipakai adalah kepentingan yang sah (legitimate interest), salah satu dasar pemrosesan yang diakui UU PDP di samping persetujuan, kontrak, kewajiban hukum, dan kepentingan vital.
Namun, mengandalkan legitimate interest tidak otomatis memberi kebebasan penuh. Praktik yang dianjurkan adalah mendokumentasikan Legitimate Interest Assessment (LIA) sebelum pengumpulan dimulai: tujuan pemrosesan apa, mengapa kepentingan tersebut sah, dan bagaimana hasil balancing test terhadap hak dan kepentingan individu yang datanya diproses. Dokumen inilah yang menjadi bagian dari tahap "Scoping & Dasar Hukum" pada pipeline di atas — bukan langkah opsional, melainkan syarat sebelum collection dijalankan.
UU ITE dan Batas Akses
OSINT secara definisi hanya menyentuh informasi yang dapat diakses secara sah tanpa membobol autentikasi atau kontrol akses. Begitu sebuah teknik melibatkan bypass login, eksploitasi kerentanan, atau akses ke sistem tanpa izin, itu bukan lagi OSINT — melainkan berpotensi melanggar Pasal 30 UU ITE tentang akses ilegal. Batasan ini harus ditulis eksplisit dalam ruang lingkup (scope) sebelum tim menjalankan tool apa pun, termasuk memastikan pemindaian port atau enumerasi subdomain tidak menyentuh sistem pihak ketiga di luar target yang disepakati.
Standar Akuntabilitas yang Semakin Ketat
Regulasi internasional seperti EU AI Act mensyaratkan transparansi dan audit trail yang jelas untuk investigasi berbasis AI. Meski belum ada kewajiban setara secara eksplisit di Indonesia, tren regulasi turunan UU PDP — termasuk kewajiban kepatuhan yang jatuh tempo 16 Januari 2027 berdasarkan PP 33/2026 — mengarah ke akuntabilitas serupa. Kolom raw_ref dan log referensi [ref:N] pada pipeline di atas bukan sekadar praktik baik secara teknis, tetapi juga mempersiapkan organisasi menghadapi audit kepatuhan di masa depan.
Checklist Sebelum Menjalankan Pipeline
Sebelum tim CTI atau SOC di perusahaan Anda menjalankan pipeline OSINT berbantuan AI ini di lingkungan produksi, pastikan setiap poin berikut sudah terpenuhi:
- Ruang lingkup target sudah disetujui tertulis, termasuk domain dan entitas mana saja yang boleh disentuh.
- Legitimate Interest Assessment sudah didokumentasikan untuk setiap kategori data pribadi yang berpotensi terkumpul.
- Setiap tool collection hanya mengakses sumber yang secara sah terbuka untuk publik, tanpa bypass autentikasi.
- Setiap output LLM melewati fungsi verifikasi referensi sebelum masuk laporan final.
- Analis manusia memvalidasi seluruh klaim yang ditandai "Hipotesis" atau tanpa referensi sebelum laporan didistribusikan.
- Data mentah (raw_ref) disimpan dengan retensi yang jelas dan akses terbatas, sejalan dengan prinsip minimisasi data UU PDP.
Penutup
Kecepatan bukan lagi keunggulan eksklusif penyerang. Dengan pipeline yang menempatkan LLM sebagai lapisan orkestrasi — bukan sumber kebenaran — dan guardrail yang memaksa setiap klaim bisa ditelusuri balik ke data mentah, tim keamanan Indonesia bisa mengejar kecepatan yang sama tanpa mengorbankan akurasi maupun kepatuhan hukum. Yang membedakan investigasi OSINT yang kredibel dari sekadar tebakan berbalut AI bukanlah seberapa canggih model yang dipakai, melainkan seberapa disiplin tim menegakkan gerbang validasi manusia dan dasar hukum di setiap tahapnya.

