Sebelum menjadi Application Security Engineer, kalian wajib menguasai fondasi pemrograman web, HTTP/API, Git & CI/CD, serta mindset security; di episode ini kalian menyiapkan IDE, lab aplikasi rentan OWASP Juice Shop, dan tools testing inti seperti Burp Suite, Semgrep, Trivy, dan gitleaks lalu memverifikasi seluruh environment siap dipakai sepanjang series

Selamat datang di series Belajar Application Security Engineer! Series ini akan membawa kalian menguasai peran yang mengamankan software dari kode hingga produksi — dari secure coding, threat modeling & SDLC security, SAST/DAST & security testing, hingga CI/CD security dan application security di era AI. Total ada 28 episode yang tersusun dalam enam fase, dari fondasi skill sampai production readiness.
Sebelum mengaudit aplikasi pertama atau menulis rule scanner pertama, ada skill dasar dan perangkat yang wajib kalian siapkan. Mengapa prasyarat ini penting? Karena AppSec engineer tidak bekerja di ruang hampa: kalian akan membaca kode developer lain, memahami alur HTTP request, menganalisis dependency tree, dan berkolaborasi di pipeline CI. Jika fondasi engineering-nya goyah, temuan security kalian akan mudah dibantah dan rekomendasi kalian sulit dieksekusi.
Episode 0 ini adalah peta jalan kalian: kita pastikan skill dasar terpenuhi, bangun lab aplikasi yang sengaja rentan untuk praktik legal, install tools testing inti, lalu verifikasi semuanya bekerja. Setelah episode ini, seluruh series bisa diikuti dengan nyaman.
Kalian tidak harus jadi senior developer, tetapi wajib bisa membaca dan menulis kode di minimal satu bahasa populer — JavaScript/TypeScript, Python, Java, atau Go. Fokusnya pada pola yang paling sering jadi pintu masuk serangan: handling HTTP request, query database, dan manipulasi string. Kode yang tidak bisa kalian baca tidak akan pernah bisa kalian amankan.
app.get("/users/:id", async (req, res) => {
const user = await db.query(
"SELECT * FROM users WHERE id = " + req.params.id
);
res.json(user);
});Bisakah kalian melihat kerentanannya sebelum saya jelaskan? Query tersebut menyambung input pengguna langsung ke SQL — klasik SQL injection. Kalau ya, kalian sudah punya insting dasar. Kalau belum, jangan khawatir: episode 3 dan 4 akan melatihnya intensif.
AppSec hidup di protokol HTTP. Kalian wajib paham: method (GET/POST/PUT), status code, header penting (Cookie, Authorization, Content-Type), cara kerja session & cookie, serta format JSON. Tambahkan pemahaman dasar TLS dan DNS — cukup level "tahu apa yang terjadi dari mengetik URL sampai halaman tampil".
Hampir semua pekerjaan AppSec modern terjadi di dalam pull request dan pipeline. Kalian harus nyaman dengan git clone, branch, commit, push, dan membuka pull request, serta memahami konsep job/step di GitHub Actions. Episode 7, 11, dan 23 akan menempatkan security tool langsung di dalam workflow YAML.
Ini yang paling sulit diajarkan, tetapi mulailah sekarang dengan tiga pertanyaan yang akan kalian ulang terus:
Tip
Biasakan berpikir sebagai penyerang saat membaca kode: "bagaimana saya membuat fungsi ini berperilaku di luar niat pembuatnya?". Pertanyaan tunggal ini menemukan mayoritas kerentanan logika yang tidak akan pernah ditangkap scanner otomatis.
Laptop dengan RAM 8 GB minimum (16 GB ideal) karena kita akan menjalankan Docker + beberapa container lab secara bersamaan. Linux native, macOS, atau Windows dengan WSL2 — semuanya valid; series ini memakai perintah POSIX shell.
Visual Studio Code adalah pilihan netral lintas bahasa. Install ekstensi yang relevan untuk AppSec:
| Ekstensi | Fungsi |
|---|---|
| ESLint + plugin security | Deteksi pola berbahaya saat mengetik |
| Semgrep VS Code | Hasil scan langsung di editor |
| Docker | Mengelola lab container |
| GitLens | Melacak siapa mengubah baris mana (berguna saat review) |
Praktik tanpa target adalah teori kosong. Kita memakai OWASP Juice Shop — aplikasi e-commerce sengaja rentan yang mencakup hampir semua kategori OWASP Top 10, legal untuk diretas karena memang dirancang untuk itu:
docker run --rm -d -p 3000:3000 --name juice-shop bkimminich/juice-shop
curl -s http://localhost:3000 -o /dev/null -w "%{http_code}\n"Output 200 berarti lab siap di http://localhost:3000. Opsional, tambahkan DVWA jika ingin variasi PHP klasik:
docker run --rm -d -p 80:80 --name dvwa vulnerables/web-dvwaWarning
Jalankan lab rentan hanya di mesin lokal atau VM terisolasi. Menguji sistem milik orang lain tanpa izin tertulis adalah tindakan ilegal di hampir semua yurisdiksi, apa pun niatnya. Batasan etis ini akan kita formalisasi lewat bug bounty policy di episode 17.
Install empat tools yang akan menemani hampir semua episode praktik:
# Unduh installer dari portswigger.net/burp/communitydownload
# Verifikasi instalasi:
burpsuite --version 2>/dev/null || echo "jalankan via GUI launcher"Tambahkan curl dan jq untuk eksplorasi API cepat — keduanya sudah tersedia di hampir semua distro.
Jalankan checklist menyeluruh sebelum lanjut ke episode 1:
node --version && python3 --version
docker run --rm hello-world
curl -s http://localhost:3000 -o /dev/null -w "%{http_code}\n"
semgrep --version
trivy --version
gitleaks versionUji perdana scanner kalian pada folder kode apa pun — misalnya proyek latihan kalian sendiri:
semgrep scan --config auto --metrics=off .Jika output menampilkan hasil analisis (atau pesan bahwa tidak ada temuan), environment kalian sudah lengkap. Error umum yang sering muncul: versi Node terlalu tua untuk Juice Shop alternatif, atau port 3000 sudah dipakai service lain — matikan dulu prosesnya.
Note
Prinsip just-in-time learning berlaku: kalian tidak harus menguasai semua tool hari ini. Yang wajib aktif sekarang hanyalah Docker + Juice Shop dan satu CLI scanner. Burp Suite baru benar-benar dipakai di episode 8.
Rangkuman yang sudah kalian siapkan di episode 0:
localhost:3000, opsional DVWA.Jika ada yang belum terpenuhi, berhenti dulu dan lengkapi. 27 episode ke depan akan jauh lebih lancar dengan pijakan ini.
Inti yang harus dibawa pulang:
Di episode 1 selanjutnya kita akan membahas peran Application Security Engineer, SDLC, dan karir — apa yang dikerjakan peran ini setiap hari, bedanya dengan pentester/SOC/DevSecOps, di titik mana security menyentuh SDLC dari kode hingga runtime, dan mengapa demand AppSec meledak di era shift-left dan AI. Pastikan environment kalian hijau di semua checklist, karena perjalanan Belajar AppSec baru saja dimulai!