The SoulboundProfileNFT mintProfile
function allows users to mint a profile NFT without validating the name
, age
, and profileImage
fields. This allows empty or unrealistic values to be stored on-chain.
The function mintProfile
does not enforce name, age, and profileImage parameters constraints. This allows users to create profiles with empty strings or unrealistic values, which may lead to:
Meaningless or spam entries in the contract’s data.
Potential exploitation where users abuse the lack of constraints (e.g., impersonation or garbage data insertion).
The absence of validation could lead to:
Data integrity issues: Garbage or incomplete profile data stored permanently on-chain.
Potential UX problems: Applications relying on this data might break or require extra filtering.
Manual Review
Foundry
Require non-empty name
and profileImage
Set a reasonable constraint on age, e.g., ensuring it is within a valid range
Scamming/phishing is not the protocol problem, that's a user mistake. NFT are unique, even if someone does a copy of your profile (which is also possible in web2), I consider it informational. Injection is a problem for the web2 part of the protocol, not a bug here. For the age, it depends on the countries law and future medicine. Anyways, that's more an ethical/political problem, not a bug.
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.