Pendahuluan
Dalam dunia bug bounty, tidak semua temuan yang terdengar "seram" akan selalu berujung ke severity tinggi atau bounty besar. Kadang kita menemukan sesuatu yang secara teori sangat berbahaya, tapi secara praktik dampaknya terbatas.
Artikel ini menceritakan pengalaman saya menemukan AWS credentials yang tersimpan di LocalStorage browser, terdiri dari:
- AWS Access Key ID
- AWS Secret Access Key
- AWS Session Token
Temuan ini akhirnya dihargai $200 dengan severity Low. Banyak yang mungkin bertanya:
"Lah, AWS key bocor kok cuma low?"
Nah, di artikel ini saya bakal jelasin semuanya — dari teknis sampai alasan kenapa impact-nya dibatasi.
Apa Itu Information Disclosure?
Information disclosure adalah kondisi di mana informasi sensitif terekspos ke pihak yang tidak berwenang. Informasi ini bisa berupa:
- API key
- Token autentikasi
- Credential cloud (AWS, GCP, Azure)
- Internal endpoint
- Data konfigurasi
Dalam konteks web application, information disclosure sering terjadi karena:
- Salah penempatan data di LocalStorage / SessionStorage
- JavaScript client-side menyimpan rahasia yang seharusnya ada di server
- Debug mode atau config lama yang tidak dibersihkan
Kenapa LocalStorage Itu Sensitif?
LocalStorage adalah tempat penyimpanan di browser yang bisa diakses oleh JavaScript. Masalahnya:
- Data di LocalStorage tidak terenkripsi
- Bisa diakses lewat DevTools
- Rentan dicuri lewat XSS
- Tidak punya mekanisme expiry bawaan
Artinya, menyimpan credential sensitif di LocalStorage adalah praktik yang buruk.
Studi Kasus: Temuan Saya
Saat melakukan analisis pada sebuah web application, saya membuka Developer Tools → Application → LocalStorage.
Di sana, saya menemukan value yang mencurigakan. Setelah diperiksa lebih lanjut, ternyata berisi:
AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEYAWS_SESSION_TOKEN
Ini bukan sekadar token biasa — ini adalah AWS temporary credentials.
Kenapa Ini Berbahaya?
Secara teori, jika seseorang mendapatkan AWS credentials, dia bisa:
- Mengakses resource AWS
- Membaca atau memodifikasi data
- Menjalankan service tertentu
- Bahkan menaikkan biaya cloud secara drastis
Makanya, kebocoran AWS key biasanya dianggap serius.
Proof of Concept (PoC)
Untuk membuktikan impact, saya melakukan langkah yang sangat terbatas dan etis:
- Mengambil credential dari LocalStorage
2. Menggunakannya dengan AWS CLI
3. Menjalankan perintah read-only untuk melihat permission yang tersedia
Contoh pendekatan (tanpa detail sensitif):
aws sts get-caller-identityHasilnya menunjukkan bahwa credential tersebut valid, namun permission-nya sangat terbatas.
Kenapa Severity-nya Low?
Nah, ini bagian paling penting.
Meskipun credential AWS bocor, permission yang dimiliki sangat minimal, misalnya:
- Tidak bisa create / delete resource
- Tidak bisa access data sensitif
- Hanya sebatas akses tertentu yang tidak kritikal
Dengan kata lain:
- Credential valid? Ya
- Impact besar? Tidak
Karena itulah, tim security menilai severity-nya sebagai Low.
Bounty yang Diterima
Dari laporan ini, saya mendapatkan:
- Bounty sebesar $200
- Status laporan: Accepted
- Severity: Low
- Platforn: hackerone

Walaupun bukan severity tinggi, ini tetap pencapaian yang valid dan fair, karena:
- Temuannya nyata
- Ada bukti teknis
- Tidak overclaim impact
Pelajaran Penting dari Temuan Ini
Untuk Bug Hunter
- Jangan cuma fokus ke "kedengeran serem"
- Impact nyata jauh lebih penting daripada asumsi
- Jangan over-exploit credential yang bocor
- Buktikan secukupnya
Untuk Developer
- Jangan simpan credential sensitif di client-side
- AWS key tidak pernah seharusnya ada di LocalStorage
- Gunakan backend proxy atau token terbatas
- Audit JavaScript build secara rutin
Untuk Program Bug Bounty
- Low severity ≠ tidak penting
- Credential leakage tetap harus diperbaiki
- Defense in depth itu wajib
Penutup
Temuan ini mengajarkan saya satu hal penting:
Security bukan soal seberapa serem namanya, tapi seberapa besar dampaknya.
AWS key bocor memang terdengar fatal, tapi tanpa permission yang luas, risikonya bisa ditekan.
Meski hanya mendapat severity Low dan bounty $200, pengalaman ini tetap berharga — baik secara teknis maupun profesional.
Karena di dunia bug bounty, konsistensi, etika, dan kejujuran dalam menilai impact jauh lebih penting daripada sekadar mengejar severity tinggi.