Property
Languagesolidity
Severityhigh
CWECWE-284: Improper Access Control
Confidence LevelLow
Impact LevelHigh
Likelihood LevelHigh

Description#

The _transfer() function in your ERC20 contract is set to public or external, allowing anyone to call it directly. This bypasses intended access controls and exposes internal transfer logic to arbitrary external calls.

Impact#

Attackers could transfer tokens between accounts without proper authorization, potentially draining user balances or manipulating funds. This can lead to loss of assets, contract compromise, and severe trust issues for the token ecosystem.