Smart Contract Security, Blockchain Security, Blockchain Security Audit, Ethereum Security, Secure Development.
Preventative Techniques Use msg.sender instead of tx.origin for authorization in smart contracts. This isn't to say that the tx.origin variable should never be used. It does have some legitimate use cases in smart contracts. For example, if one wanted to deny external contracts from calling the