There is no age restriction on profile sign-ups, so users of any age -especially under-age users- can create profiles.
As is customary with all dating platforms, there is an age restriction put in place so that under-age profiles are not created.
SoulboundProfileNFT::mintProfile()
however does not have such restrictions. Users have to specify their age when sign-ing up, but beacuse there are no such restrictions, any age number can be used to sign up.
While this flaw does not affect the protocol from a security point of view, its impact stretches far into the real life.
Government regulation bodies will ban this protocol. Child rights organizations will hit this protocol with all sorts of lawsuits.
I would not want to be on the legal team of this protocol. I would go bald.
Manual Review
Foundry
Add the following test to the test contract:
Add a check in the ::mintProfile()
function that ensures that profiles with ages lower than 18 have their sign-ups reverted.
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.
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.