OTTERCOOKIE: Kampanye APT Korea Utara Menyembunyikan Malware dalam Steganografi SVG — Pengembang Perangkat Lunak Jadi Target Utama
Daftar Isi 36 bagian
Ringkasan Eksekutif
Elastic Security Labs dan GitLab Threat Intelligence secara independen mengungkap eskalasi terbaru dari kampanye Contagious Interview — operasi rekruitmen palsu yang dijalankan oleh kelompok APT Korea Utara yang menarget pengembang perangkat lunak di seluruh dunia. Varian terbaru, yang dilacak sebagai OTTERCOOKIE, memperkenalkan teknik obfuskasi yang sangat canggih: steganografi SVG untuk menyembunyikan payload malware dalam file gambar vektor yang tampak tidak berbahaya.
Modus operandinya licik dan sangat tertarget. Aktor ancaman menyamar sebagai perekrut untuk perusahaan cryptocurrency, fintech, dan real estate — menawarkan peluang kerja dengan gaji tinggi melalui LinkedIn, Slack, dan Discord. Korban yang tertarik diundang untuk menyelesaikan “coding challenge” — sebuah repositori Git yang tampak profesional dan fungsional, lengkap dengan file proyek yang meyakinkan.
Namun tersembunyi di dalam repositori tersebut, di antara aset gambar SVG yang tampak normal (ikon bendera negara, ikon UI), terdapat potongan-potongan kode berbahaya yang dikodekan dalam Base64 dan disisipkan sebagai komentar HTML. Ketika korban menjalankan proyek — yang biasanya diinstruksikan melalui npm run dev atau npm start — skrip JavaScript mengumpulkan fragmen-fragmen ini, menyusunnya kembali, mendekodenya, dan mengeksekusinya di memori. Hasilnya: infeksi malware tanpa satu pun file mencurigakan yang dapat dideteksi oleh antivirus tradisional.
Artikel ini menganalisis kampanye OTTERCOOKIE secara teknis — dari teknik steganografi SVG hingga kemampuan payload, atribusi ke aktor Korea Utara, dan implikasi bagi pengembang dan organisasi di seluruh dunia.
Latar Belakang: Operasi Contagious Interview
Sejarah Kampanye
Operasi Contagious Interview adalah kampanye social engineering yang telah berlangsung sejak pertengahan 2023, secara konsisten dikaitkan dengan kelompok APT yang terkait dengan Korea Utara. Kampanye ini adalah bagian dari upaya sistematis rezim Korea Utara untuk menghasilkan pendapatan melalui kejahatan siber — termasuk pencurian cryptocurrency, pencurian kekayaan intelektual, dan spionase.
EVOLUSI OPERASI CONTAGIOUS INTERVIEW
| Fase | Periode | Karakteristik |
|---|---|---|
| Fase 1: BeaverTail | 2023-2024 | Malware JavaScript sederhana yang didistribusikan melalui coding test palsu; pencurian kredensial browser dan crypto wallet |
| Fase 2: InvisibleFerret | 2024-2025 | Payload Python dengan kemampuan RAT penuh; ekspansi targeting ke sektor fintech dan Web3 |
| Fase 3: OTTERCOOKIE | 2025-2026 | Steganografi SVG untuk payload delivery; four-stage malware loader; Socket.IO C2; VM evasion canggih |
Aktor di Balik Kampanye
Kampanye ini dikaitkan dengan Famous Chollima — sebutan untuk cluster aktivitas APT Korea Utara yang juga dikenal dengan nama lain seperti:
| Nama | Vendor |
|---|---|
| Lazarus Group (sub-kelompok) | Berbagai vendor |
| Famous Chollima | CrowdStrike |
| APT38 | Mandiant/FireEye |
| BlueNoroff | Kaspersky |
| TraderTraitor | CISA/FBI |
Kelompok ini secara spesifik berspesialisasi dalam operasi yang dimotivasi oleh keuntungan finansial — berbeda dengan sub-kelompok Lazarus lain yang fokus pada spionase — meskipun batas antara keduanya sering kabur karena semua operasi pada akhirnya mendanai rezim Korea Utara.
Teknik Steganografi SVG: Menyembuhkan Malware dalam Gambar
Konsep Steganografi dalam Keamanan Siber
Steganografi adalah seni menyembunyikan informasi di dalam media lain — dalam hal ini, menyembunyikan kode berbahaya di dalam file gambar. Berbeda dengan enkripsi yang membuat data tidak dapat dibaca tanpa kunci, steganografi membuat data tidak terlihat — keberadaannya sendiri tersembunyi.
Dalam konteks OTTERCOOKIE, steganografi digunakan dengan cara yang sangat elegan dan sulit dideteksi.
Mengapa SVG?
SVG (Scalable Vector Graphics) adalah format gambar berbasis XML yang — tidak seperti PNG atau JPEG — sepenuhnya berbasis teks. Ini membuat SVG ideal untuk steganografi karena:
| Karakteristik SVG | Keunggulan untuk Steganografi |
|---|---|
| Berbasis teks (XML) | Data dapat disisipkan langsung sebagai teks tanpa perlu encoding biner |
| Mendukung komentar HTML | <!-- --> adalah sintaks XML yang valid dan tidak dirender oleh browser |
| Tidak mencurigakan | File SVG adalah aset normal dalam proyek pengembangan web |
| Mudah disusun ulang | Skrip dapat membaca file SVG dalam urutan alfabetis untuk merekonstruksi payload |
Mekanisme Penyembunyian OTTERCOOKIE
PROSES STEGANOGRAFI SVG OTTERCOOKIE
Proses dimulai dengan payload malware yang dipecah menjadi fragmen-fragmen kecil. Setiap fragmen dikodekan dalam Base64 dan disisipkan ke dalam komentar HTML di dalam file SVG. File-file SVG ini — biasanya ikon bendera negara — kemudian ditempatkan di direktori assets proyek bersama dengan file JavaScript pemuat.
Saat proyek dijalankan, file serverValidation.js (atau nama serupa) melakukan langkah berikut:
- Membaca seluruh file SVG di direktori assets secara alfabetis
- Mengekstrak string Base64 dari komentar HTML di setiap file
- Menggabungkan semua fragmen menjadi satu string
- Mendekode string Base64 menjadi kode JavaScript
- Mengeksekusi kode tersebut menggunakan
eval()
Hasilnya: payload malware dieksekusi sepenuhnya di memori, tanpa pernah ada satu file pun yang berisi malware lengkap di disk. Ini membuat deteksi berbasis signature hampir mustahil.
Anatomi Serangan OTTERCOOKIE
Tahapan Serangan
OTTERCOOKIE ATTACK FLOW
| Tahap | Aktivitas | Indikator |
|---|---|---|
| 1. SOCIAL ENGINEERING | Aktor menyamar sebagai perekrut via LinkedIn/Slack/Discord; menawarkan posisi dengan gaji tinggi | Profil palsu, tawaran terlalu bagus |
| 2. CODING CHALLENGE | Korban diarahkan ke repositori Git (GitHub/GitLab) yang berisi proyek web fungsional | Repositori dari akun baru atau tidak dikenal |
| 3. PROJECT EXECUTION | Korban menjalankan npm install && npm run dev sesuai instruksi |
Tidak ada — inilah yang dilakukan secara normal |
| 4. SVG PARSING | Script membaca file SVG, mengekstrak payload dari komentar HTML | File SVG dengan komentar tidak biasa |
| 5. PAYLOAD ASSEMBLY | Fragmen Base64 digabung, didekode, dan dieksekusi via eval() | Aktivitas eval() dengan string panjang |
| 6. INFECTION | OTTERCOOKIE terinstal; koneksi C2 via Socket.IO; pencurian data dimulai | Koneksi Socket.IO ke IP asing |
Contoh Struktur Repositori Trojan
Repositori proyek disusun seperti aplikasi web profesional pada umumnya, membuatnya sulit dibedakan dari proyek yang sah:
| Direktori | File | Keterangan |
|---|---|---|
| challenge-project/ | package.json | File konfigurasi npm standar |
| challenge-project/server/ | index.js | Entry point aplikasi yang terlihat normal |
| challenge-project/server/ | serverValidation.js | File inilah yang berisi logika pemuatan payload dari file SVG |
| challenge-project/assets/flags/ | af.svg | File bendera Afganistan — berisi fragmen Base64 #1 dalam komentar HTML |
| challenge-project/assets/flags/ | br.svg | File bendera Brasil — berisi fragmen Base64 #2 |
| challenge-project/assets/flags/ | cn.svg | File bendera Tiongkok — berisi fragmen Base64 #3 |
| challenge-project/assets/flags/ | de.svg | File bendera Jerman — berisi fragmen Base64 #4 |
| challenge-project/assets/flags/ | (lebih banyak file SVG) | File bendera negara lainnya dengan fragmen tambahan |
| challenge-project/src/ | components/ | Direktori komponen UI — kode normal |
| challenge-project/src/ | pages/ | Direktori halaman aplikasi — kode normal |
Struktur ini sangat meyakinkan. Proyek terlihat seperti aplikasi web nyata dengan komponen UI, halaman, dan aset. Bahkan pengembang berpengalaman yang melakukan code review cepat mungkin tidak menemukan sesuatu yang mencurigakan — terutama karena kode berbahaya tersembunyi di dalam file gambar yang jarang diperiksa secara manual.
Payload Malware: Kemampuan OTTERCOOKIE
Four-Stage Malware Loader
OTTERCOOKIE menggunakan arsitektur four-stage loader untuk menghindari deteksi:
| Stage | Fungsi |
|---|---|
| Stage 1 | SVG Parser — membaca file SVG, mengekstrak Base64 |
| Stage 2 | Assembler — menggabungkan fragmen, dekode, eksekusi eval() |
| Stage 3 | Loader — mengunduh dan mengeksekusi payload utama |
| Stage 4 | Core Payload — malware OTTERCOOKIE penuh |
Kemampuan Core Payload
1. Pencurian Kredensial Browser
OTTERCOOKIE menarget browser utama untuk mencuri kredensial:
| Browser | Data yang Dicuri |
|---|---|
| Google Chrome | Saved passwords, autofill data, cookies, browsing history |
| Microsoft Edge | Saved passwords, autofill data, cookies |
| Brave | Saved passwords, cookies, crypto wallet extensions |
| Opera | Saved passwords, autofill data |
2. Pencurian Cryptocurrency Wallet
| Target | Metode |
|---|---|
| Browser Extension Wallets | Mengakses LevelDB wallet extensions (MetaMask, Phantom, dll.) |
| File Wallet | Mencari wallet.dat, keyfile, dan seed phrase di filesystem |
3. Pencurian File Sensitif
OTTERCOOKIE melakukan recursive file sweep untuk ekstensi spesifik:
| Ekstensi | Jenis Data |
|---|---|
.env |
Environment variables, API keys, database credentials |
.pem |
Private keys, SSL certificates |
.ssh |
SSH keys |
.json |
Konfigurasi, credentials, token |
.md |
Dokumentasi internal |
.bash_history |
Command history |
.aws |
AWS credentials |
.azure |
Azure credentials |
4. Clipboard Monitoring
Pada Windows dan macOS, OTTERCOOKIE memonitor clipboard setiap 500 milidetik — menangkap password, private keys, dan seed phrase yang mungkin disalin oleh korban.
5. Persistence dan C2
| Fitur | Detail |
|---|---|
| C2 Protocol | Socket.IO — WebSocket-based, real-time bidirectional communication |
| Process Masquerading | Mengganti nama proses menjadi npm-cache untuk menghindari kecurigaan |
| VM/Sandbox Evasion | Memeriksa keberadaan VMware, VirtualBox, dan environment virtualisasi lainnya |
VM/Sandbox Evasion
OTTERCOOKIE melakukan pemeriksaan lingkungan sebelum mengeksekusi payload penuh:
| Pemeriksaan | Platform | Metode |
|---|---|---|
| VMware detection | Windows | wmic queries |
| VirtualBox detection | macOS | system_profiler |
| VM detection | Linux | /proc/cpuinfo analysis |
| Sandbox detection | All | Pemeriksaan resource dan timing |
Jika environment virtualisasi terdeteksi, malware dapat memilih untuk tidak mengeksekusi payload berbahaya — tetap tidak terdeteksi oleh sandbox analisis otomatis.
Target: Mengapa Pengembang Perangkat Lunak?
Nilai Strategis Pengembang sebagai Target
Pengembang perangkat lunak adalah target yang sangat bernilai bagi aktor APT Korea Utara karena alasan berikut:
| Faktor | Penjelasan |
|---|---|
| Akses Kredensial | Pengembang sering memiliki akses ke production systems, CI/CD pipelines, dan database |
| Cryptocurrency | Banyak pengembang — khususnya di Web3 — memiliki cryptocurrency wallet dengan saldo signifikan |
| Kunci Kriptografi | SSH keys, API tokens, dan signing keys yang dapat digunakan untuk supply chain attacks |
| Kekayaan Intelektual | Source code, algoritma, dan dokumentasi teknis yang bernilai |
| Supply Chain Access | Akses ke repositori dan build pipelines yang dapat digunakan untuk menyusupi downstream users |
Profil Target
| Karakteristik | Detail |
|---|---|
| Profesi | Software engineer, DevOps, Web3 developer, blockchain developer |
| Platform | LinkedIn, Slack, Discord, GitHub, GitLab |
| Sektor | Cryptocurrency, fintech, real estate tech |
| Geografi | Global — korban teridentifikasi di Amerika Utara, Eropa, dan Asia |
Social Engineering yang Canggih
Yang membedakan kampanye ini dari phishing biasa adalah tingkat kerumitan social engineering:
- Profil Palsu Profesional: Akun LinkedIn dan GitHub yang lengkap dengan riwayat pekerjaan, koneksi, dan aktivitas
- Komunikasi Multi-Tahap: Interaksi melalui chat, email, dan video call sebelum memberikan coding challenge
- Proyek yang Meyakinkan: Repositori dengan kode fungsional, dokumentasi, unit test, dan struktur profesional
- Waktu yang Diinvestasikan: Perekrut palsu bersedia menghabiskan waktu berminggu-minggu untuk membangun hubungan sebelum memberikan challenge berbahaya
Tingkat investasi ini — baik dari segi waktu maupun sumber daya — menunjukkan bahwa ini bukan operasi kriminal biasa. Ini adalah kampanye yang dijalankan oleh aktor negara dengan sumber daya signifikan dan target strategis.
Atribusi: Jejak Korea Utara
Bukti Atribusi
Beberapa faktor mengarah pada atribusi ke aktor Korea Utara:
| Bukti | Detail |
|---|---|
| TTP Overlap | TTP konsisten dengan cluster Famous Chollima dan kampanye Contagious Interview sebelumnya |
| Target Selection | Fokus pada cryptocurrency dan sektor keuangan — area prioritas untuk operasi pendanaan Korea Utara |
| Infrastruktur C2 | Pattern infrastruktur yang tumpang tindih dengan operasi Korea Utara yang diketahui |
| Malware Lineage | OTTERCOOKIE menunjukkan DNA yang sama dengan BeaverTail dan malware Korea Utara lainnya |
| Motivasi Finansial | Pencurian cryptocurrency adalah pendapatan signifikan untuk rezim Korea Utara yang terkena sanksi |
Konteks Geopolitik
Operasi siber Korea Utara — termasuk Contagious Interview — adalah bagian dari strategi yang lebih luas untuk menghasilkan pendapatan bagi rezim yang terisolasi secara ekonomi akibat sanksi internasional. Pencurian cryptocurrency telah menjadi sumber pendapatan utama, dengan perkiraan mencapai miliaran dolar sejak 2017.
Pengembang perangkat lunak adalah target ideal karena mereka sering:
- Memiliki akses ke cryptocurrency dalam jumlah signifikan
- Bekerja di perusahaan dengan infrastruktur dan kredensial berharga
- Memiliki tingkat kepercayaan terhadap komunitas open source yang tinggi
Dampak dan Risiko bagi Organisasi
Risiko Individual
| Risiko | Dampak |
|---|---|
| Pencurian Cryptocurrency | Kehilangan aset digital yang tidak dapat dipulihkan |
| Pencurian Identitas | Kredensial yang dicuri dapat digunakan untuk identity theft |
| Kompromi Akun | Akses ke akun email, GitHub, dan layanan cloud |
Risiko Organisasi
| Risiko | Dampak |
|---|---|
| Supply Chain Attack | Kredensial developer yang dicuri dapat digunakan untuk menyusupi repositori dan CI/CD pipelines organisasi |
| Data Breach | Akses ke database, server, dan sistem internal melalui kredensial developer |
| IP Theft | Source code, algoritma, dan dokumentasi teknis yang dicuri |
| Lateral Movement | Komputer developer sebagai pivot point untuk menyerang jaringan internal organisasi |
Skenario Terburuk: Supply Chain Attack
Risiko paling mengkhawatirkan adalah supply chain attack. Jika seorang pengembang di organisasi besar terinfeksi OTTERCOOKIE:
- Kredensial GitHub/GitLab dicuri
- Aktor Korea Utara mendapatkan akses ke repositori privat organisasi
- Kode berbahaya disisipkan ke dalam proyek
- Ratusan atau ribuan downstream users terinfeksi melalui update software yang sah
Ini bukan skenario hipotetis — kelompok APT Korea Utara sebelumnya telah terlibat dalam supply chain attacks, termasuk kampanye 3CX dan JumpCloud.
Indikator Kompromi (IoC)
File Indicators
| Indikator | Deskripsi |
|---|---|
| File SVG dengan komentar HTML berisi Base64 panjang | File di direktori assets/ dengan payload tersembunyi |
| serverValidation.js | File JavaScript yang membaca dan mendekode payload dari SVG |
| Nama proses: npm-cache | Process masquerading untuk OTTERCOOKIE |
Network Indicators
| Indikator | Deskripsi |
|---|---|
| Koneksi Socket.IO ke IP/domain asing | WebSocket C2 communication |
| Koneksi ke platform rekrutmen | LinkedIn, Slack, Discord — untuk social engineering |
| Eksfiltrasi data ke server asing | Volume upload abnormal dari komputer developer |
Behavioral Indicators
| Indikator | Severity |
|---|---|
eval() dengan string panjang dan kompleks |
TINGGI |
| Clipboard monitoring (akses setiap 500ms) | TINGGI |
| File sweep untuk ekstensi sensitif (.env, .pem, .ssh) | TINGGI |
| Pemeriksaan environment virtualisasi | SEDANG |
| Koneksi Socket.IO persisten | SEDANG |
Social Engineering Indicators
| Indikator | Detail |
|---|---|
| Tawaran kerja dari perekrut yang tidak dikenal | Verifikasi identitas perekrut melalui saluran resmi |
| Coding challenge dari repositori tidak resmi | Periksa usia akun, jumlah kontributor, dan aktivitas repositori |
| Instruksi untuk menjalankan kode secara lokal | Pertimbangkan untuk menjalankan di VM atau sandbox |
| Proyek dengan file SVG berlebihan | Periksa konten file SVG untuk komentar atau data mencurigakan |
Rekomendasi Mitigasi
Untuk Pengembang Individu
| Rekomendasi | Detail |
|---|---|
| Verifikasi Perekrut | Konfirmasi identitas perekrut melalui website resmi perusahaan atau email domain perusahaan |
| Sandbox Coding Challenge | Jalankan semua kode asing di VM terisolasi atau container |
| Periksa Repositori | Evaluasi usia akun, riwayat kontribusi, dan aktivitas sebelum mengkloning |
| Review Dependencies | Periksa package.json dan dependency untuk package mencurigakan |
| Gunakan Hardware Wallet | Simpan cryptocurrency di hardware wallet, bukan browser extension |
| Monitoring File Access | Gunakan tools untuk mendeteksi akses file tidak normal |
Untuk Organisasi
| Rekomendasi | Detail |
|---|---|
| Developer Security Training | Edukasi developer tentang ancaman social engineering spesifik |
| Endpoint Protection | Pastikan EDR terinstal di semua perangkat developer |
| Network Monitoring | Monitor koneksi Socket.IO dan WebSocket yang tidak dikenal |
| Least Privilege | Batasi akses developer ke production systems |
| Repository Security | Audit akses repositori dan monitor aktivitas mencurigakan |
| CI/CD Security | Implementasi code signing dan review wajib untuk semua commit |
Deteksi Teknis
| Aturan | Implementasi |
|---|---|
| Deteksi eval() dengan string panjang | Monitor JavaScript runtime untuk eval() yang mencurigakan |
| Deteksi file sweep | Monitor proses yang melakukan enumerasi file massal |
| Deteksi koneksi Socket.IO | Monitor untuk koneksi WebSocket persisten ke IP tidak dikenal |
| Deteksi clipboard access | Monitor frekuensi akses clipboard oleh proses |
| Deteksi VM probing | Monitor untuk query wmic, system_profiler, dan pembacaan /proc/cpuinfo |
Kesimpulan
Kampanye OTTERCOOKIE adalah eskalasi signifikan dalam operasi Contagious Interview yang telah berlangsung bertahun-tahun. Penggunaan steganografi SVG untuk menyembunyikan payload malware — dikombinasikan dengan social engineering yang sangat canggih dan targeting yang tepat terhadap pengembang perangkat lunak — merepresentasikan ancaman yang tidak boleh diremehkan.
Beberapa faktor yang membuat OTTERCOOKIE sangat berbahaya:
-
Deteksi yang Sangat Sulit: Steganografi SVG membuat payload tidak terdeteksi oleh antivirus berbasis signature. Tidak ada file malware tunggal yang bisa di-scan dan di-flag. Kode berbahaya hanya eksis dalam bentuk terfragmentasi di dalam file gambar — dan hanya disusun di memori saat runtime.
-
Target Bernilai Tinggi: Pengembang perangkat lunak adalah “kunci kerajaan” — mereka memiliki akses ke source code, production systems, cryptocurrency, dan kredensial yang dapat digunakan untuk supply chain attacks.
-
Social Engineering Canggih: Tingkat investasi dalam membangun persona palsu, repositori fungsional, dan hubungan dengan target menunjukkan operasi yang didukung negara dengan sumber daya signifikan.
-
Risiko Eksistensial untuk Organisasi: Infeksi satu pengembang dapat menjadi pintu masuk untuk supply chain attack yang mempengaruhi ribuan downstream users — persis seperti yang terjadi dalam kampanye 3CX dan JumpCloud yang juga dikaitkan dengan Korea Utara.
Bagi pengembang individu, kesadaran adalah pertahanan pertama: setiap tawaran kerja yang tidak diminta, setiap coding challenge dari repositori yang tidak dikenal, dan setiap proyek yang meminta untuk dijalankan secara lokal harus diperlakukan dengan skeptisisme.
Bagi organisasi, OTTERCOOKIE adalah peringatan bahwa ancaman terhadap pengembang perangkat lunak bukan lagi sekadar risiko individu — ini adalah risiko korporat yang dapat memiliki dampak eksistensial melalui supply chain compromise. Pertahanan harus mencakup tidak hanya teknologi (EDR, network monitoring, least privilege) tetapi juga pelatihan dan kesadaran yang menjadikan setiap pengembang sebagai garis pertahanan pertama.
Artikel ini disusun berdasarkan laporan Elastic Security Labs (Contagious Interview: Malware in SVG Images, Juli 2026), analisis GitLab Threat Intelligence (North Korean Tradecraft, Juli 2026), laporan The Hacker News (Fake Coding Tests Deliver OtterCookie-Aligned Malware, Juli 2026), serta pemantauan tim Threat Intelligence Seraphim News.