
Glitch RM1 bilion ganjaran Aeon Bank, dijelaskan
Glitch RM1 bilion ganjaran Aeon Bank, dijelaskan
Pada 14 Oktober 2026, seorang pengurus klinik di Kuching membuka aplikasi Aeon Bank miliknya dan mendapati RM1,000,315,879 berada dalam akaunnya. Beberapa minit sebelum itu, bakinya kurang RM1,000. Ia bukan titik perpuluhan yang tersalah letak. Ia sepuluh digit, dicatat sebagai satu transaksi.
Dia menghubungi bank, akaunnya dibekukan, dan jumlah itu dibalikkan pada hari yang sama. Tetapi yang menarik bukan jumlahnya — tetapi apa yang tertulis pada catatan transaksi itu, kerana ia menunjukkan sistem yang menghasilkannya.
Apa yang sebenarnya berlaku
Pemegang akaun itu ialah seorang pengurus klinik berusia 33 tahun, dilaporkan New Straits Times sebagai Wan Muhammad Fairuz, yang berkongsi insiden itu di Threads pada 14 Oktober. The Vibes melaporkan bahawa RM1,000,315,879 dikreditkan ke akaunnya sekitar 10:36 pagi.
Dua butiran lebih penting daripada jumlahnya:
- Transaksi itu dilabel "Bank adjustment", dikategorikan sebagai "Rewards – Promotion/Campaign", dengan keterangan "Cash Reward – Merdeka / Malaysia Day 2026 Campaign (Cycle 6)".
- Menurutnya, dia tidak menyertai mana-mana promosi atau membuat sebarang pembelian yang boleh menjelaskan kredit itu.
Dia menghubungi bank sekitar 11 pagi. Akaunnya dibekukan sementara sehingga 4 petang, transaksi itu dibalikkan, dan baki asalnya tidak terjejas. Satu pos susulan menyatakan bank menawarkan ganjaran kepadanya kerana melaporkan kejadian itu dengan pantas.
Aeon Bank mengeluarkan kenyataan pada 14 Oktober bahawa insiden itu berkaitan dengan satu kempen terkini yang menyebabkan sesetengah baki akaun dipaparkan dengan tidak betul. Bank berkata perkara itu diselesaikan dengan segera dan tiada akaun atau maklumat terjejas. Bank belum menerbitkan analisis punca, dan tidak menjawab pertanyaan susulan media.
Matematik kempen jauh sekali
Aeon Bank menjalankan kempen Merdeka / Malaysia Day 2026: ganjaran tunai RM31 untuk perbelanjaan minimum RM15 menggunakan DuitNow QR. Enam puluh sembilan pemenang dipilih setiap minggu selama enam minggu, dari 17 Ogos hingga 27 September 2026. Iaitu 414 pemenang dengan jumlah kumpulan ganjaran RM12,834.
Jumlah yang dikreditkan ialah kira-kira 78,000 kali keseluruhan bajet kempen.
Nisbah itulah keseluruhan cerita. Ini bukan ralat pembundaran. Faktor 100 ialah bug unit; faktor 78,000 ialah kegagalan kawalan — sistem yang dibenarkan mencatat nombor tanpa had yang jelas.
Bug paparan, atau bug lejar?
Pemilihan kata Aeon Bank sendiri cukup berhati-hati: ia berkata sesetengah baki telah dipaparkan dengan tidak betul. Dua jenis kegagalan yang sangat berbeza tersembunyi di sebalik frasa itu.
Jika ia bug paparan, lejar sentiasa betul dan hanya aplikasi membaca snapshot yang salah. Pemulihannya ialah muat semula cache dan permohonan maaf.
Jika ia bug pencatatan, entri sebenar bergerak melalui lejar. Wang dalam baki, secara prinsipnya, boleh dibelanjakan atau dipindahkan — itulah sebabnya bank membekukan akaun itu, dan mengapa pembetulannya ialah pembalikan: satu entri kedua yang membatalkan yang pertama, bukan lukisan semula skrin.
Rekod awam menunjukkan kedua-duanya mungkin. Akaun pelanggan memaparkan transaksi yang lengkap dengan kategori dan keterangan — seperti rupa satu pencatatan. Bahasa bank pula menggambarkan masalah pemaparan. Kami tidak tahu yang mana satu, dan salah untuk berpura-pura sebaliknya. Tetapi perbezaan ini tidak wajar dikebumikan: satu ialah kecacatan UI yang memalukan, satu lagi ialah lejar yang seketika menyatakan seorang pelanggan memiliki satu bilion ringgit. Pelanggan berhak tahu yang mana satu, secara bertulis.
Bagaimana pembayaran ganjaran rosak begini
Keterangan itu menyebut "Campaign Cycle 6", meletakkan entri salah itu pada kitaran akhir kempen. Berikut kategori kegagalan yang wajar difahami — sebagai hipotesis, bukan penemuan tentang Aeon Bank, yang belum mendedahkan apa yang berlaku:
- Agregat salah, tanda betul. Satu kerja pembayaran untuk setiap pemenang (RM31 seorang) tersilap membaca jumlah berjalan daripada query yang sama, dan satu akaun dikreditkan dengan jumlah itu, bukan bahagiannya. Inilah cara klasik sesuatu jumlah membesar dengan gandaan tertib magnitud dan bukan sekadar faktor 100.
- Bug gandaan kecil. Mengira dalam sen tetapi mencatat dalam ringgit, parameter kempen yang diedit pertengahan kitaran, atau kelompok yang diulang dua kali — semuanya nyata, tetapi ia menghasilkan gandaan kecil, bukan ralat 78,000x.
- Tiada magnitude guard. Tiada apa-apa yang membandingkan kelompok itu dengan bajet kempen sebelum dicatat.
Dua daripadanya aritmetik dan satu konfigurasi; guard yang hilang ialah kesilapan proses, dan itulah yang murah yang sepatutnya menghalang ini.
Jadikan kontrak kempen boleh dilaksanakan
Wang promosi ialah wang sebenar. Kerja cashback ialah sistem pembayaran yang memakai topi pemasaran, dan ia memerlukan kawalan yang sama. Yang paling berharga ialah menukar terma kempen menjadi config yang disahkan oleh kerja payout sebelum ia mencatat apa-apa:
from dataclasses import dataclass
from datetime import datetime, timedelta
SEN = 100
@dataclass(frozen=True)
class Reward:
account_id: str
amount_sen: int # minor units: never use floats for money
campaign: str
posted_at: datetime
# The campaign contract is config, signed off before the batch runs.
CAMPAIGN = {
"name": "merdeka-malaysia-day-2026",
"per_award_sen": 31 * SEN, # RM31.00 per winner
"max_awards": 414, # 69 winners x 6 weekly cycles
"budget_sen": 12_834 * SEN, # RM12,834.00 total
"starts": datetime(2026, 8, 17),
"ends": datetime(2026, 9, 27),
}
def validate_batch(rewards, campaign):
errors = []
if len(rewards) > campaign["max_awards"]:
errors.append(f"count {len(rewards)} > max {campaign['max_awards']}")
total = sum(r.amount_sen for r in rewards)
if total > campaign["budget_sen"]:
errors.append(f"total RM{total/SEN:,.2f} > budget RM{campaign['budget_sen']/SEN:,.2f}")
for r in rewards:
if r.amount_sen != campaign["per_award_sen"]:
errors.append(f"{r.account_id}: RM{r.amount_sen/SEN:,.2f} != expected RM{campaign['per_award_sen']/SEN:,.2f}")
if not (campaign["starts"] <= r.posted_at <= campaign["ends"] + timedelta(days=1)):
errors.append(f"{r.account_id}: posted_at {r.posted_at:%Y-%m-%d} outside campaign window")
if total > campaign["budget_sen"] * 1000:
errors.append("magnitude guard tripped: batch is >1000x budget, halt")
return errors
if __name__ == "__main__":
good = [Reward(f"acct-{i}", 31 * SEN, CAMPAIGN["name"], datetime(2026, 9, 27)) for i in range(414)]
print("clean batch:", validate_batch(good, CAMPAIGN) or "PASS")
glitch = good + [Reward("acct-x", 1_000_315_879 * SEN, CAMPAIGN["name"], datetime(2026, 10, 14))]
for err in validate_batch(glitch, CAMPAIGN):
print("HALT:", err)
Kelompok bersih lulus tanpa ralat, manakala entri salah itu mencetuskan empat pemeriksaan serentak — bilangan, jumlah kelompok, jumlah per-ganjaran dan tempoh kempen — ditambah magnitude guard yang menghentikan apa-apa melebihi 1,000 kali bajet.
Kod itu bahagian yang kecil. Selebihnya operasi, dan membosankan dengan sengaja:
- Simpan wang dalam unit minor. Integer dalam sen, atau jenis decimal — jangan sekali-kali float.
- Jalankan canary untuk kelompok itu. Catat satu pemenang sebenar sebelum larian penuh, kemudian rekonsiliasi dengan kontrak. Jika satu kredit RM31 salah, berhenti.
- Rekonsiliasi secara berjadual. Kerja yang membandingkan apa yang benar-benar dibayar dengan kontrak kempen, setiap jam, akan menangkap penyimpangan jauh sebelum pelanggan perasan.
- Beri amaran pada taburan, bukan hanya jumlah. Satu outlier jauh melebihi jumlah per-ganjaran harus segera memberi isyarat, walaupun jumlah kelompok kelihatan baik.
- Wajibkan kawalan dwi. Apa-apa yang menggerakkan wang memerlukan dua kelulusan, termasuk payout "pemasaran".
Wang itu bukan milik anda: apa kata undang-undang Malaysia
Naluri untuk menyimpan wang yang jatuh dari langit seperti ini difahami, tetapi berbahaya dari segi undang-undang. Seksyen 403 Kanun Keseksaan (Akta 574) meliputi penyelewengan harta secara tidak jujur:
Whoever dishonestly misappropriates, or converts to his own use, or causes any other person to dispose of, any property, shall be punished with imprisonment for a term which shall not be less than six months and not more than five years and with whipping and shall also be liable to fine.
Peruntukan itu juga membawa satu ilustrasi yang hampir ditulis khas untuk senario ini: jika seseorang mengambil harta dengan niat baik, kerana percaya ia miliknya, itu bukan kecurian — tetapi apabila dia menyedari kesilapan itu dan menyelewengkannya secara tidak jujur, ia menjadi kesalahan. Jam bermula pada saat pengetahuan. Baki yang muncul akibat kesilapan bukan hadiah pada saat anda sedar ia bukan milik anda.
Malaysia sudah mengujinya. Pada September 2024, DayakDaily melaporkan seorang lelaki berusia 24 tahun, Andrian Pahang Gau, didakwa di Mahkamah Majistret Miri dengan 34 pertuduhan di bawah Seksyen 403 selepas sebuah bank tersilap memindahkan RM10 juta ke akaunnya dan dia didakwa membelanjakan RM309,100 dalam tempoh tiga hari. Jaminan ditetapkan pada RM22,500.
Itulah garis pemisah antara dua kes ini. Seorang pelanggan melaporkan kesilapan itu dalam masa sejam; seorang lagi didakwa membelanjakannya, dan berakhir di mahkamah.
Jika ia berlaku kepada anda
Ini maklumat umum, bukan nasihat guaman, tetapi urutannya mudah:
- Jangan belanjakan atau pindahkan wang itu. Ambil tangkapan skrin kedua-dua baki dan catatan transaksi, termasuk keterangannya.
- Laporkan dengan segera — telefon bank dan gunakan saluran dalam aplikasi, dan simpan nombor rujukan.
- Minta pengesahan bertulis sama ada ia ralat paparan atau pencatatan sebenar, dan pengesahan pembetulannya.
- Naik taraf jika tidak selesai. Adu kepada unit aduan bank dahulu. Jika tiada respons selepas 14 hari, atau jawapannya tidak memuaskan, naik taraf kepada BNMLINK, pusat hubungan Bank Negara Malaysia.
- Untuk pertikaian sebenar, gunakan FMOS. Financial Markets Ombudsman Service, dilancarkan pada 17 Januari 2025 oleh BNM dan Suruhanjaya Sekuriti, mengendalikan kerugian kewangan langsung sehingga RM250,000, secara percuma. Anda perlu menghabiskan proses dalaman bank dahulu, kemudian memfailkan dalam tempoh enam bulan selepas keputusan muktamadnya, atau selepas 60 hari tanpa respons.
Cermin sebaliknya juga penting. Jika wang keluar dari akaun anda tanpa persetujuan anda, itu bukan rezeki tetapi transaksi tanpa kebenaran, dan anda harus segera melaporkannya kepada bank. Quishing melalui kod QR ialah salah satu cara ia bermula.
Apa yang developer patut ambil daripada ini
Kredit promosi ialah pembayaran. Sebaik sahaja ia keluar dari spreadsheet dan masuk ke lejar, ia mewarisi setiap peraturan pembayaran: ia memerlukan had, kelulusan, rekonsiliasi, dan sesuatu yang enggan berjalan apabila nombornya tidak masuk akal.
Aeon Bank menyelesaikannya dalam beberapa jam, dan pelanggan yang menandainya melakukan semuanya dengan betul. Tetapi kawalan yang sepatutnya menghalang kredit RM1 bilion ialah segelintir assertion yang berjalan sebelum kelompok itu dicatat. Guard itu murah, membosankan, dan minggu ini masa yang baik untuk menyemak sama ada milik anda wujud.
Sumber
- SoyaCincau: Aeon Bank customer claims he received RM1 billion in his account by mistake
- New Straits Times: Man shocked as banking glitch shows RM1 billion in his account
- The Vibes: Instant billionaire? Bank customer finds RM1 billion mistakenly credited to account
- DayakDaily: Billionaire for a day: Kuching man finds RM1 billion in bank account due to technical glitch
- DayakDaily: 24yo man charged with misappropriating RM10 million after bank error
- Aeon Bank: Merdeka / Malaysia Day 2026 campaign
- Bank Negara Malaysia: Five successful applicants for the digital bank licences
- AEON Credit Service (M) Berhad: AEON Bank launched as Malaysia's first Islamic digital bank
- Laws of Malaysia: Penal Code (Act 574)
- FMOS: Financial Markets Ombudsman Service (FMOS)
- Bank Negara Malaysia: Got an issue with your bank, insurance company, takaful operator or e-money issuers?
// penulis
Editor & Operator
Mohd Firdaus Abu Bakar (MrDodgerX) is an enterprise geospatial systems engineer in Malaysia and the editor behind hejes.my. He runs the briefing pipeline, curates and edits every draft, verifies each factual claim against primary sources, and presses the publish button — nothing ships without his review. He writes about AI, security and Malaysia's tech scene from a builder's perspective. Professional profile and code: the links below.
// sumber //
disahkan fakta · 16 OKT 2026 · hejes-content-fact-check
- Aeon Bank customer claims he received RM1 billion in his account by mistakeSoyaCincau · diakses 16 OKT 2026
- Man shocked as banking glitch shows RM1 billion in his accountNew Straits Times · diakses 16 OKT 2026
- Instant billionaire? Bank customer finds RM1 billion mistakenly credited to accountThe Vibes · diakses 16 OKT 2026
- Billionaire for a day: Kuching man finds RM1 billion in bank account due to technical glitchDayakDaily · diakses 16 OKT 2026
- 24yo man charged with misappropriating RM10 million after bank errorDayakDaily · diakses 16 OKT 2026
- Merdeka / Malaysia Day 2026 campaignAeon Bank · diakses 16 OKT 2026
- Five successful applicants for the digital bank licencesBank Negara Malaysia · diakses 16 OKT 2026
- AEON Bank launched as Malaysia's first Islamic digital bankAEON Credit Service (M) Berhad · diakses 16 OKT 2026
- Penal Code (Act 574)Laws of Malaysia · diakses 16 OKT 2026
- Financial Markets Ombudsman Service (FMOS)FMOS · diakses 16 OKT 2026
- Got an issue with your bank, insurance company, takaful operator or e-money issuers?Bank Negara Malaysia · diakses 16 OKT 2026
berkaitan //

Shopee Kini Boleh Bayar Guna TNG eWallet
TNG eWallet kini boleh digunakan untuk membayar di Shopee melalui DuitNow QR, bukan integrasi native. Ini cara pembayaran dan cashback yang perlu anda tahu.

Quishing di Malaysia: RM28.67 Juta Lesap Akibat Kod QR
Penipuan kod QR menyebabkan kerugian RM28.67 juta pada H1 2026. Cara quishing berfungsi, kenapa ia mudah disalahgunakan, dan apa yang perlu diperiksa.

Kebocoran CTOS: Bila Agensi Kredit Suruh Anda Tukar Kata Laluan
CTOS mengesahkan subset terhad data pengguna telah diakses; notis tukar kata laluan kini sampai ke peti masuk pengguna. Ini maksudnya.
// sertai suapan
satu ilmu seminggu. tiada spam.
ringkasan mingguan. berhenti bila-bila masa.