Salah satu hal yang sering luput dari perhatian ketika sebuah project sudah lama tidak disentuh adalah dependency pihak ketiga yang diam-diam menua — dan seiring waktu, menjadi pintu masuk bagi celah keamanan yang sudah diketahui publik. Itulah yang saya temukan minggu ini, melalui kiriman email GitHub security alert digest, di salah satu repository GitHub saya, Dockerproject.
Temuan Awal
GitHub Dependabot menandai repository ini dengan status “known security vulnerabilities detected”. Setelah ditelusuri lebih dalam melalui GitHub Security Advisory dan Dependency Graph, sumbernya adalah file:
pesbuk/web/js/jquery-3.2.1.slim.min.js
File ini adalah bundel jQuery versi 3.2.1 yang di-vendor langsung ke dalam project (tidak dikelola lewat package manager seperti npm), sehingga tidak pernah ter-update secara otomatis.
Cross-Site Scripting (XSS) via Prototype Pollution
Severity
Medium (CVSS 6.1)
Versi terdampak
jQuery >= 1.1.4 dan < 3.4.0
Versi perbaikan
jQuery 3.4.0
Inti masalahnya ada pada fungsi jQuery.extend(true, {}, ...). Jika sebuah objek sumber yang tidak disanitasi memiliki properti __proto__ yang enumerable, fungsi ini bisa “mencemari” Object.prototype bawaan JavaScript. Dalam skenario tertentu, ini bisa dimanfaatkan penyerang untuk menyisipkan skrip berbahaya ke halaman (XSS) — sebuah teknik yang dikenal sebagai prototype pollution.
Prompt engineering adalah teknik menyusun instruksi agar AI seperti ChatGPT memberikan hasil yang lebih sesuai dengan kebutuhan pengguna. Dalam komunitas pengguna AI, sering muncul berbagai shortcut prompt atau prompt tags seperti /HUMAN, EL10, X10THINK, KILLCRITIC, dan ALT3. Perlu diketahui bahwa istilah-istilah tersebut bukan perintah resmi yang dipahami secara universal oleh ChatGPT, melainkan konvensi atau pola prompt yang dibuat oleh komunitas untuk mengarahkan gaya respons tertentu. Misalnya, /HUMAN biasanya digunakan untuk meminta tulisan yang terdengar lebih natural dan manusiawi, sedangkan EL10 (Explain Like I’m 10) meminta penjelasan yang sederhana seolah ditujukan kepada anak berusia 10 tahun.
Istilah lain seperti X10THINK umumnya digunakan untuk mendorong AI melakukan analisis yang lebih mendalam sebelum menjawab, KILLCRITIC sering dipakai untuk meminta AI menghasilkan ide secara bebas tanpa terlalu banyak kritik atau evaluasi awal, dan ALT3 biasanya berarti meminta tiga alternatif jawaban atau solusi yang berbeda. Karena tidak ada standar resmi untuk istilah-istilah tersebut, maknanya dapat berbeda antara satu komunitas dan komunitas lainnya. Agar hasil lebih konsisten, sebaiknya pengguna menjelaskan maksudnya secara eksplisit, misalnya: “Berikan 3 alternatif solusi (ALT3), jelaskan untuk pemula (EL10), dan gunakan gaya bahasa yang natural seperti manusia (/HUMAN).” Dengan cara ini, AI memiliki konteks yang lebih jelas untuk menghasilkan respons yang diinginkan.
Berikut ini adalah contoh-contoh penggunaannya dalam prompting ChatGPT.
Disturbing industry (lebih tepatnya sering disebut disruptive industry atau disruptive innovation) adalah industri, teknologi, atau model bisnis yang mengganggu dan mengubah tatanan industri lama dengan cara yang lebih cepat, lebih murah, lebih efisien, atau lebih mudah diakses—hingga pemain lama (incumbent) terpaksa beradaptasi atau tersingkir. Singkatnya: yang lama masih jalan, tapi yang baru bikin aturan mainnya berubah total.
Ciri-ciri utama disturbing / disruptive industry
Mengubah model bisnis lama Contoh: dari beli → kemudian bisa sewa → selanjutnya bisa subscription atau berlangganan.
Memanfaatkan teknologi digital Cloud, AI, mobile, blockchain, platform online.
Lebih fokus ke user experience Lebih simpel, cepat, dan murah.
Awalnya dianggap “remeh” oleh pemain lama Tapi lama-lama mengambil pasar utama.
Skalabilitas tinggi Bisa tumbuh cepat tanpa aset fisik besar.
Contoh disturbing / disruptive industries yang udah ada di Indonesia.