The VulnChamp highlights the best workers of the weekend based on the vulnerabilities they find. It promotes healthy competition and recognizes outstanding performance within the team.
- Collect data on vulnerabilities found by each team member.
- Rank team members based on the number of vulnerabilities found.
- Display the leaderboard with the following details:
- Worker name
- Number of vulnerabilities found.
- Severity breakdown (low, medium, high).
- Short description of the vulnerability.
- Date of the vulnerability discovery.
- Award badges for "Top Hunter," "Runner-up," and "Honorable Mention."
- Categorize vulnerabilities by type (e.g., SQL injection, XSS, etc.).
- Aggregate severity data for all findings.
- Create graphical representations:
- Bar chart for vulnerability types.
- Pie charts for severity distribution.
- Add filtering options for specific time periods (e.g., last week, last month, etc.) and categories (e.g., SQL injection, XSS, etc.).
- Identify the notable vulnerabilities found by each team member during the week.
- Dedicated section for these highlights.
- Include the following details:
- Worker name.
- Vulnerability type.
- Severity and impact.
- Techniques used to identify or exploit it.
- Short description of the vulnerability.
- Date of the vulnerability discovery.
- Track individual performance over time.
- Line graph to represent weekly or monthly progress.
- Include cumulative points earned based on vulnerability severity.
- Allow workers to view and analyze their own performance history.
- Aggregate statistics for the entire team.
- Display total vulnerabilities found.
- Calculate averagge severity score for the team.
- Highlight the team's overall improvement or trends.
- A points system based on severity:
- Low: 1 point
- Medium: 3 points
- High: 5 points
- Create badges and achievements for milestones.
- Add weekly streak rewards for consistent performance.
- A light and dark mode.
- Dynamic color schemes based on the team's performance.
- Customizable themes for each team member.
- Notify team members of new vulnerabilities.
- Real-time updates on the leaderboard.
- Next.js for the
frontend
. - Style components using
Tailwind CSS
,Shadcn UI
, andRadix UI
. Chart.js
andD3.js
for creating interactive visualizations.- Components:
- Leaderboard
- Statistics
- Personal dashboard.
Node.js
withTypeScript
for thebackend
.RESTful
APIs for:
- Fetching leaderboard data.
- Storing vulnerability findings.
- Serving statistics and progress data.
- WebSockets for real-time updates.
PostgreSQL
for the database.- Database schema using
Prisma ORM
- JWT authentication for secure authentication.
- Role-based access control.
- Admin: Full control over the dashboard.
- User: Limited to their data and rankings.
- secure token storage and refresh mechanisms.
This project is licensed under the MIT License - see the LICENSE file for details.