BGM on BSC Batch Transactions Price Manipulation Exploit
Notice: This page is a freshly imported case study from an original repository. While the original content had a similar format, some sections may not have been fully completed. Please help fill in any empty sections or any missing information you can find. If you are new here, please read General Tutorial on Wikis or Anatomy of a Case Study for help getting started.
Notice: This page contains sources which are not attributed to any text. The unattributed sources follow the initial description. Please assist by visiting each source, reviewing the content, and placing that reference next to any text it can be used to support. Feel free to add any information that you come across which isn't present already. Sources which don't contain any relevant information can be removed. Broken links can be replaced with versions from the Internet Archive. See General Tutorial on Wikis, Anatomy of a Case Study, and/or Citing Your Sources Guide for additional information. Thanks for your help!
BGM is a token launched on BSC (Binance Smart Chain). This project has limited public presence. On November 10th, a complex attack was launched on the token which included price manipulation and large batch transactions. There was an estimated $450k lost. It's unclear what will be happening for affected users in this case.[1][2][3][4][5][6][7][8][9][10]
About BGM
BGM is a smart contract on the Binance Smart Chain. Very limited information can be found about the history of this token.
The Reality
This sections is included if a case involved deception or information that was unknown at the time. Examples include:
- When the service was actually started (if different than the "official story").
- Who actually ran a service and their own personal history.
- How the service was structured behind the scenes. (For example, there was no "trading bot".)
- Details of what audits reported and how vulnerabilities were missed during auditing.
What Happened
"The BGM token on BSC was attacked, resulting in losses exceeding $450K, with the attacker profiting through price manipulation."
| Date | Event | Description |
|---|---|---|
| November 6th, 2024 11:47:52 AM MST | Numerous Batch Transactions | The attacker creates numberous smart contracts as necessary for subsequent steps. |
| November 8th, 2024 10:04:15 PM MST | Smart Contract Addresses Setup | "the attacker designated four addresses as invitees, whose userInvitorEarn were inflated in subsequent txs. Address 0x851a was set as the first invitee, followed by each invitee pointing to the next." |
| November 8th, 2024 10:08:03 PM MST | Tokens Transfered/Inflated | "the above four invitee addresses's userInvitorEarn were inflated by leveraging the contracts created in the first step. These contracts acted as token users, transferring tokens to the invitees." |
| November 10th, 2024 1:04:24 AM MST | Increases To Token Price | "the attacker increased the token's price by calling BGM's withdraw function. This function transferred reward tokens from the pair, with the amount previously inflated through earlier txs." |
| November 10th, 2024 3:08:00 AM MST | TenArmorAlert Initial Tweet | TenArmorAlert notices and posts about the malicious transactions which have happened. |
| November 10th, 2024 9:43:00 AM MST | TenArmorAlert Tweet Posted | TenArmorAlert posts a follow up tweet with a detailed walkthrough of the attack. |
Technical Details
"The token rewards invitees when tokens are transferred between EOAs. This mechanism can be exploited if multiple user have the same invitee address, which can artificially inflate userInvitorEarn[addr]."
"The reward can be withdrawn by calling the withdraw function, which directly transfer the reward tokens from the pair, functioning similarly to a burn mechanism that attacker exploited."
Total Amount Lost
The total amount lost has been estimated at $450,000 USD.
How much was lost and how was it calculated? If there are conflicting reports, which are accurate and where does the discrepancy lie?
Immediate Reactions
"Today's #BGM incident on #BSC @BNBCHAIN appears to be a well-planned attack. The attacker(0x7824) prepared this attack about three days in advance! The root cause lies in the reward mechanism for tokens inviters. Let's break it down"
Ultimate Outcome
What was the end result? Was any investigation done? Were any individuals prosecuted? Was there a lawsuit? Was any tracing done?
Total Amount Recovered
There do not appear to have been any funds recovered in this case.
What funds were recovered? What funds were reimbursed for those affected users?
Ongoing Developments
What parts of this case are still remaining to be concluded?
Individual Prevention Policies
No specific policies for individual prevention have yet been identified in this case.
For the full list of how to protect your funds as an individual, check our Prevention Policies for Individuals guide.
Platform Prevention Policies
Policies for platforms to take to prevent this situation have not yet been selected in this case.
For the full list of how to protect your funds as a financial service, check our Prevention Policies for Platforms guide.
Regulatory Prevention Policies
No specific regulatory policies have yet been identified in this case.
For the full list of regulatory policies that can prevent loss, check our Prevention Policies for Regulators guide.
References
- ↑ BGM/USDT Real-time On-chain PancakeSwap v2 (BSC) DEX Data (Accessed Dec 13, 2024)
- ↑ BEP-20: BGM (BGM) Token Tracker | BscScan (Accessed Dec 13, 2024)
- ↑ Exchange | PancakeSwap (Accessed Dec 13, 2024)
- ↑ @TenArmorAlert Twitter (Accessed Dec 13, 2024)
- ↑ BNB Smart Chain Transaction Hash (Txhash) Details | BscScan (Accessed Dec 13, 2024)
- ↑ BNB Smart Chain Transaction Hash (Txhash) Details | BscScan (Accessed Dec 13, 2024)
- ↑ BNB Smart Chain Transaction Hash (Txhash) Details | BscScan (Accessed Dec 13, 2024)
- ↑ BNB Smart Chain Transaction Hash (Txhash) Details | BscScan (Accessed Dec 13, 2024)
- ↑ BGM/USDT - BGM Price on Pancakeswap V2 (BSC) | GeckoTerminal (Accessed Dec 13, 2024)
- ↑ BGM (BGM) contract is 0xdbd0ffadebd345686d91fdca316e81c94f9faa90 on BSC | Top100Token (Accessed Dec 13, 2024)