The most interactive CTF (capture the flag) game with applied CyberSec;
SaferSkills independently audited ZeroDayCTF (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
<div align="center"> <img src="./backend/public/logo.png" alt="ZeroDayCTF Logo" width="80" height="80" style="vertical-align: middle; margin-right: 20px; border-radius: 10px;"> <h1 style="display: inline-block; vertical-align: middle; margin: 0;">ZeroDayCTF</h1> </div> <br>
<div align="center"> <img src="https://img.shields.io/github/stars/vivekkushalch/ZeroDayCTF?style=social" alt="GitHub stars"> <img src="https://img.shields.io/github/forks/vivekkushalch/ZeroDayCTF?style=social" alt="GitHub forks"> <img src="https://img.shields.io/github/watchers/vivekkushalch/ZeroDayCTF?style=social" alt="GitHub watchers"> </div
>
<div align="center"> <a href="https://zerodayctf.onrender.com/" target="_blank"> <img src="https://img.shields.io/badge/🎮%20Play%20Now-brightgreen?style=for-the-badge&logo=gamepad" alt="Play Live"> </a> <a href="https://zerodayctf.onrender.com/leaderboard.html" target="_blank"> <img src="https://img.shields.io/badge/🏆%20Leaderboard-orange?style=for-the-badge&logo=trophy" alt="View Leaderboard"> </a>
</div>
ZeroDayCTF is a Capture The Flag (CTF) cybersecurity challenge game with a progressive leveling system. Players must solve puzzles, discover hidden routes, and exploit vulnerabilities to advance through 4 levels.
<div align="center"> <table style="border: 2px solid #00ff88; border-radius: 10px; padding: 10px; background-color: #0a0a0a;"> <tr> <td width="50%" align="center" style="border: 1px solid #00ff88; padding: 10px; border-radius: 8px;"> <img src="./backend/public/poster.png" alt="ZeroDayCTF Poster" width="400" height="400"/> </td> <td width="50%" align="center" style="border: 1px solid #00ff88; padding: 10px; border-radius: 8px;"> <img src="./backend/public/success.jpeg" alt="Success Selfie" width="500" height="300"/> </td> </tr> </table> </div>
https://github.com/user-attachments/assets/140e118d-671b-4dc9-992b-f29cd944c7a5 <div align="center"> <a href="./backend/public/intro.mp4"> <img src="https://img.shields.io/badge/▶️%20Watch%20Intro%20Video-Click%20Here-red?style=for-the-badge&logo=youtube" alt="Watch Intro Video" width="300"/> </a> <br/>
</div>
<div align="center"> <table style="border: 2px solid #00ff88; border-radius: 10px; padding: 15px; background-color: #0a0a0a;"> <tr> <td width="50%" align="center" style="border: 1px solid #00ff88; padding: 10px; border-radius: 8px;"> <img src="./backend/public/home.png" alt="Home Page" width="100%"/> <p style="color: #00ff88; margin-top: 8px;"><b>🏠 Home Page</b></p> </td> <td width="50%" align="center" style="border: 1px solid #00ff88; padding: 10px; border-radius: 8px;"> <img src="./backend/public/login.png" alt="Login Page" width="100%"/> <p style="color: #00ff88; margin-top: 8px;"><b>🔐 Login Page</b></p> </td> </tr> <tr> <td width="50%" align="center" style="border: 1px solid #00ff88; padding: 10px; border-radius: 8px;"> <img src="./backend/public/level1.png" alt="Level 1 Challenge" width="100%"/> <p style="color: #00ff88; margin-top: 8px;"><b>🎯 Level 1 Challenge</b></p> </td> <td width="50%" align="center" style="border: 1px solid #00ff88; padding: 10px; border-radius: 8px;"> <img src="./backend/public/hack.png" alt="Hacking Interface" width="100%"/> <p style="color: #00ff88; margin-top: 8px;"><b>💻 Hacking Interface</b></p> </td> </tr> </table> </div>
git clone <repository-url>
cd ZeroDayCTF/backendnpm installCopy the example environment file:
cp .env.example .envEdit the .env file with your configuration:
# Server Configuration
PORT=3000
# JWT Configuration
JWT_SECRET=your_jwt_secret_key_here_make_it_secure
# Level Up Secrets
LEVEL_UP_SECRET=super_secret_key_for_level_3
CHAT_KEY=chat_access_key_for_level_4
# Google AI Configuration
GENAI_API_KEY=your_google_genai_api_key_here
# Dashboard Configuration
DASHBOARD_USERNAME=
DASHBOARD_PASSWORD=
DASHBOARD_TOKEN=Important: Replace your_google_genai_api_key_here with your actual Google AI API key!
Runs with auto-reload on file changes:
npm run devnpm startOnce the server is running, open your browser and navigate to:
http://localhost:3000You should see:
Server running on http://localhost:3000
WebSocket server ready for real-time leaderboard updatesnpm run devhttp://localhost:3000/leaderboard.html to see rankingsOnce the server is running, access the interactive API documentation:
http://localhost:3000/api-docs<div align="center"> Made with ❤️ by team ZeroDayCTF | 00:00:00 </div>
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.