The BriTechToken contract exposes a public mint() function callable by the contract owner which mints a fixed large amount of tokens on every invocation:
There is no supply cap, no one-time check, and no governance or timelock restrictions. As a result, the owner (or an attacker who compromises the owner key) can call mint() repeatedly to create arbitrary amounts of BTT, destroying scarcity and the token’s economic integrity.
Likelihood: Medium
mint() is callable by the owner at any time.
Compromise or misuse of the owner key (or owner intentionally minting) directly enables the issue.
Impact: High
Unlimited minting destroys token value and trust.
Any system using BTT as an accounting asset (vaults, swaps, staking) can be catastrophically affected.
Downstream protocols and users will suffer economic loss.
Add this test to your test suite to reproduce the issue. It mints ONE_MINT repeatedly, showing linear supply growth per call.
Run with:
Mint the full supply in the constructor and remove the external mint() function.
Rationale:
Ensures a fixed total supply, eliminating the inflation risk.
Preserves economic integrity and trust in the token.
Simple, safe, and works well for tokens that are meant to have a capped supply.
The contest is live. Earn rewards by submitting a finding.
This is your time to appeal against judgements on your submissions.
Appeals are being carefully reviewed by our judges.