Sebelum kamu testing apa pun di program bug bounty Shopify, kamu butuh environment sendiri. Aturan program-nya tegas: kamu cuma boleh test store yang dibuat dengan email format HackerOne kamu (<username>@wearehackerone.com). Menyentuh store orang lain = langsung banned. Ini yang kejadian pas orang nggak baca aturan dulu — mereka “iseng” ngetes store produksi orang, dan akun HackerOne-nya kena permanen sebelum sempat dapat satu bounty pun.

Kabar baiknya, bikin dev store itu gratis dan cukup cepat. Artikel ini memandu setup dari nol sampai siap testing, lengkap dengan konfigurasi yang bikin lab kamu realistis.

Kenapa dev store wajib

Dua alasan:

  1. Legal. Dev store yang kamu buat sendiri adalah satu-satunya tempat kamu boleh testing. Semua eksperimen — IDOR, permission boundary, app proxy — harus di sini.
  2. Realistis. Dev store meniru store asli, jadi bug yang kamu temukan punya relevansi ke environment produksi.

Jangan pernah testing di store produksi milik merchant lain, bahkan “cuma lihat-lihat”. Itu pelanggaran berat.

BolehDilarang
Dev store dibuat dengan email @wearehackerone.comStore produksi merchant lain
Custom app di store sendiriScanner komersial (Nessus dkk)
Dua dev store sendiri untuk uji IDOR antar-shopKontak Shopify Support soal bounty
Introspection GraphQL di store sendiriDisclose sebelum resolved

Langkah 1 — Buat akun dengan email yang benar

Daftar Shopify Partner / Dev Dashboard menggunakan email HackerOne kamu (format <username>@wearehackerone.com). Ini penting: store yang dibuat dengan email ini yang diakui sah oleh program. Kalau kamu pakai email pribadi, temuan kamu bisa dianggap out-of-scope.

Langkahnya:

  1. Di HackerOne, buka Settings dan aktifkan email alias — kamu dapat <username>@wearehackerone.com.
  2. Daftar di partners.shopify.com atau Dev Dashboard pakai alias itu.
  3. Verifikasi email (cek inbox HackerOne kamu), lengkapi profil, masuk ke dashboard.

Langkah 2 — Buat development store

Dari dashboard, buat development store baru. Pilih opsi yang mengizinkan kamu konfigurasi penuh (products, orders, customers, dsb). Setelah jadi, kamu dapat domain seperti namastore-xxxx.myshopify.com.

Konfigurasi dasar yang perlu kamu isi supaya testing realistis:

  • Beberapa produk dummy (buat punya data untuk IDOR/permission test).
  • Beberapa customer dummy (untuk test akses PII).
  • Minimal satu draft order dan discount/price rule (banyak bug permission ada di area ini).

Tips: bikin dua dev store. Kamu butuh store kedua untuk menguji IDOR antar-shop — swap object ID dari store A ke store B, keduanya milik kamu, 100% legal.

Langkah 3 — Buat staff account low-permission

Ini salah satu setup paling penting untuk security testing. Banyak bug kelas “staff permission boundary” ketemu dengan cara:

  1. Buat staff account kedua dengan permission seminimal mungkin (Settings → Users and permissions → Add staff).
  2. Login sebagai staff itu di browser/profil terpisah.
  3. Coba akses operation yang harusnya butuh Sensitive Permission (Manage Settings, Manage Payment Settings, Themes).

Kalau operation jalan padahal staff nggak punya permission-nya, itu kandidat bug. Contoh yang pernah dibayar: staff no-permission bisa baca saldo Shopify Payments (pola #417170), atau trigger webhook yang harusnya butuh izin.

Setup browser yang rapi: pakai satu profil Chrome untuk owner, satu profil lain (atau Firefox) untuk staff. Jangan campur cookie, biar nggak bingung mana session yang mana.

Langkah 4 — Aktifkan API dan catat scopes

Shopify Admin jalan di atas GraphQL, dan di situ sebagian besar permukaan testing berada. Buat custom app di store kamu, aktifkan Admin API, dan catat scopes yang tersedia: products, orders, customers, draft_orders, price_rules, discounts, gift_cards, themes, checkouts, fulfillments, inventory.

Setelah API aktif, uji konektivitas dengan request sederhana:

curl -s -X POST \
  "https://YOUR-STORE.myshopify.com/admin/api/2025-01/graphql.json" \
  -H "X-Shopify-Access-Token: $ADMIN_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"query":"{ shop { name email myshopifyDomain } }"}'

Kalau balik nama store kamu, API siap. Langkah berikutnya adalah mapping operation GraphQL dan mencari IDOR/permission flaw. Teknik lengkapnya ada di Shopify GraphQL Security Testing: IDOR dan Permission.

Langkah 5 — Setup test payment gateway

Untuk testing yang menyentuh checkout dan order flow, kamu butuh transaksi — tapi jelas kamu nggak mau pakai kartu asli. Shopify menyediakan test payment gateway (bogus gateway) yang bisa diaktifkan di Settings → Payments.

Dengan bogus gateway, pakai nomor kartu test standar:

SkenarioNomor kartu
Transaksi sukses1 (atau 4242 4242 4242 4242)
Transaksi gagal2
Error/exception3

Isi nama, tanggal expiry masa depan, dan CVV apa pun. Dengan ini kamu bisa simulasi order sukses/gagal tanpa uang nyata — penting untuk menguji bug di area order, refund, dan discount tanpa risiko finansial.

Langkah 6 — Siapkan custom app untuk testing lanjutan

Kalau kamu mau menyentuh area reward tinggi seperti checkout extension dan app proxy backend, kamu perlu build custom app sendiri (semua di store kamu, legal sesuai program). Yang perlu kamu uji nanti:

  • Apakah backend app memvalidasi session token sub vs data yang diminta, atau malah percaya begitu saja.
  • Apakah validasi HMAC app proxy rentan parameter pollution (duplikat param shop/signature/timestamp).
  • Apakah app proxy memvalidasi logged_in_customer_id sesuai data yang diminta.

Ini area yang butuh effort lebih, tapi reward-nya lebih tinggi daripada permission boundary biasa.

Common mistakes saat setup

  1. Daftar pakai email pribadi. Temuan jadi out-of-scope. Harus @wearehackerone.com.
  2. Cuma bikin satu dev store. Nggak bisa uji IDOR antar-shop. Bikin dua.
  3. Staff account dikasih permission penuh. Nggak bisa uji boundary. Kasih minimal.
  4. Campur cookie owner & staff di satu browser. Bikin bingung session mana. Pisahkan profil.
  5. Lupa aktifkan test gateway. Nggak bisa uji order flow dengan aman.
  6. Pakai scanner komersial. Dilarang program, bisa kena ban.

Aturan yang jangan dilanggar saat testing

Sekali lagi, karena ini penting:

  • Cuma test store yang dibuat dengan email HackerOne kamu.
  • Dilarang pakai scanner komersial (Nessus dkk).
  • Dilarang kontak Shopify Support soal bounty program.
  • Jangan disclose sebelum resolved tanpa izin.

Melanggar salah satu bisa bikin akun kamu didiskualifikasi. Setup yang benar dari awal melindungi reputasi kamu.

Checklist setup dev store

  • Email alias @wearehackerone.com aktif di HackerOne.
  • Daftar Partner/Dev Dashboard pakai alias itu.
  • Dua dev store dibuat (untuk uji IDOR antar-shop).
  • Data dummy diisi: produk, customer, draft order, discount.
  • Staff account low-permission dibuat + login di profil terpisah.
  • Custom app + Admin API aktif, konektivitas diuji dengan curl.
  • Test payment gateway (bogus) diaktifkan.
  • Browser owner & staff dipisah biar session jelas.
  • Baca ulang aturan program: no scanner, no Support contact, no early disclosure.

Setelah setup, lalu apa?

Dev store yang udah siap cuma pondasi. Langkah berikutnya adalah tahu area mana yang layak ditest supaya report kamu nggak kena N/A. Mulai dari Cara Dapat Bug Pertama di Shopify HackerOne, hindari jebakan di 7 Alasan Report Dapat N/A, dan pahami mekanika trial report & signal biar kesempatan awal nggak kebuang.

Hemat waktu riset setup + target

Setup dev store itu mudah; yang susah adalah tahu harus ngetes apa setelahnya. Gue sama tim rangkum checklist area testing, daftar Known Issues, dan pola report yang terbukti diterima — hasil riset puluhan disclosed report Shopify — di Shopify Bug Bounty Starter Pack ($1). Dengan dev store siap + peta target yang benar, kamu bisa langsung kerja alih-alih bingung.

Environment yang benar adalah separuh perjuangan. Siapkan dev store, staff account, API, dan test gateway — lalu kamu punya lab aman untuk belajar dan hunting tanpa melanggar aturan.

Sumber & referensi