The SoulboundProfileNFT
contract lacks robust age verification mechanisms, potentially enabling minors to create dating profiles. While some wallet services implement KYC, many non-custodial wallets don't require age verification, making this a significant vulnerability for a dating application.
In the current implementation, the mintProfile
function accepts any uint8 age
parameter without validation.
The absence of age verification could allow users to input any age between 0 and 255, potentially enabling minors to create dating profiles.
Legal Risks: Non-compliance with US regulations regarding minimum age requirements for dating applications
Safety Concerns: Potential exposure of minors to adult dating environments
Platform Liability: The platform could be held responsible for enabling underage dating activities
Reputational Damage: Discovery of minors on the platform could severely impact the application's credibility
Manual code review
Implement age verification by adding a require statement in the mintProfile
function:
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.