PBKDF2 iterations reduced 10x - weakens anonymity against brute-force attacks
Nobody has claimed this yet.
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 78/100
- Issue type
- Bug
- Clarity
- Clearly specified
- Activity status
- Quiet
- Tech stack
- next.js, supabase, typescript
- Domain
- authentication, security
Research direction
Start with lib/anonymization.ts:35 and lib/supabase-auth.ts:72, tracing how each PBKDF2 hash is generated and verified. Confirm the intended iteration counts in both paths and inspect any existing authentication or anonymization checks; done means both reduced counts are restored without changing the surrounding identity or verification flow.
Written by the indexing model from the issue text.
Description
Issue
The anonymization system intentionally reduced PBKDF2 iterations for "speed":
generateAnonymousIdentityinlib/anonymization.ts:35: reduced from 100,000 to 10,000 iterations- Double hashing in
lib/supabase-auth.ts:72: reduced from 50,000 to 5,000 iterations
Why this matters
The anonymization system's security model depends on the PBKDF2 hash being computationally infeasible to brute-force. If an attacker obtains the database (which contains verification_hash and salt), they can attempt to reverse the hash by trying common email patterns:
student@iitbh.ac.inprofessor@iitbh.ac.in- Common name patterns at IIT Bhilai
At 10,000 iterations, this is 10x faster to brute-force than the originally intended 100,000. Combined with the small email space (all IIT Bhilai students), a targeted attack could deanonymize users.
Fix
- Restore 100,000 iterations for
generateAnonymousIdentity - Restore 50,000 iterations for the double-hash verification
- If speed is a concern, consider client-server split: do the slow hash server-side only
- Dominant language
- TypeScript
- Stars
- 0
- Forks
- 26
- PR merge metrics
- No merged PRs in 30d
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from OpenLake/RateMyCourse
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
OpenLake/RateMyCourse#66 ·
-
bug help wanted
Difficulty 4/5 3-5 days Newbie friendliness 48/100
OpenLake/RateMyCourse#60 ·
-
advanced bug
Difficulty 3/5 1-2 days Newbie friendliness 48/100
OpenLake/RateMyCourse#59 ·
-
advanced bug enhancement
Difficulty 4/5 3-5 days Newbie friendliness 48/100
OpenLake/RateMyCourse#58 ·
-
help wanted
Difficulty 5/5 Over a week Newbie friendliness 25/100
OpenLake/RateMyCourse#49 · 1 comment ·
All issues in OpenLake/RateMyCourse
Similar issues
-
calcite-components needs triage refactor
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
Esri/calcite-design-system#15203 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 91/100
-
community first-timers-only good first issue hacktoberfest help wanted low hanging fruit up-for-grabs
Difficulty 1/5 Under an hour Newbie friendliness 95/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Automattic/studio#4908 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 90/100