Project Info
Inspiration
I saw that Cybersecurity education has a very steep learning curve and may be boring at times. Students read about various attacks, such as XSS and SQL injection, but never get to see them live in action. Real-world security tools are also very complex and can be overwhelming for beginners. I built Entropy to address this gap. It is an AI-powered learning tool that demonstrates real-world vulnerability testing in real time, making security concepts more real and understandable.
What it does
Entropy is an interactive security education platform, as a simple-to-use website. All users have to do is paste a URL and watch as an AI agent does these tasks. Visually navigates the website. Students see exactly how an attacker might explore a website, looking for possible attacks. The AI highlights input fields, forms, and interactive elements, identifies common attacks, and performs XSS and SQL injection tests with payloads. At the end, it generates educational reports, explaining what was tested, why it matters, and how to fix vulnerabilities The live terminal view also shows every step the AI takes, acting as a teacher explaining a lesson on web security.
How we built it
Frontend: React 19 + Vite + Tailwind CSS v4 for the ui Backend: Python FastAPI to help prompt and navigate the AI agent AI Agent: Google Gemini 2.5 Flash using an autonomous browser navigation via the browser-use library. Real-time Streaming is used with Firebase Firestore, as it streams live logs so students can follow along step-by-step Educational Output: Structured reports are provided at the end that explain vulnerabilities in plain language, with advice on how to fix them and how to look out for them.
Challenges we ran into
Making AI behavior more transparent and easier to understand: We wanted students to understand why the agent was taking each action, so we built a step-by-step logging terminal with action descriptions. Handling model Automation and education: Just feeding the HTML to an AI is boring and doesn't show the steps for looking for vulnerabilities. Students often miss the lesson or lose interest, so using a live browser shows each step in an easy-to-follow view. Handling rate limits: Gemini's API quotas forced us to optimize prompts and add retries to certain steps, while avoiding loops and limiting steps, and also the Gemini Vision input. Parsing AI output: The agent's responses needed easy-to-parse, structured content to make the report easier to understand and more consistent.
Accomplishments we're proud of
We created a tool that makes security ideas visual and interactive, rather than really abstract Built an experience where students see real attack techniques demonstrated safely and step by step Designed a report that explains vulnerabilities at a level easy for beginners to understand Achieved no setup required, making it very simple for students to start learning Developed a clean UI that makes cybersecurity feel more accessible and not a very complicated tool
What we learned
How to create educational tools and focus on learning. The importance of showing real-time logs and how that can transform a black-box tool like LLMs into a more understandable and educational experience. How security professionals view vulnerability discovery and finding issues with sites. Techniques for making AI agents behave more predictably and have structured and consistent outputs.
What's next
More explanation: Add inline tips for each attack type as it occurs, providing live narration. A challenge Mode: Let students try to see what vulnerabilities the agent found before showing the results AI Vision: More use of Gemini Vision so the AI can approach the site more visually, making the explanation more detailed. Safe Practice examples: Create packages or websites that intentionally include vulnerabilities to teach specific concepts.
Entropy
AI-Powered Security Auditor — Paste a URL, watch an AI agent navigate your site, get a vulnerability report.
Features
- Zero Configuration — Just enter a URL and click scan
- Visual AI Agent — Watch the browser navigate in real-time
- Live Terminal Logs — live streaming output via Firebase
- Structured Reports — JSON-based vulnerability reports with risk levels
- XSS & SQLi Testing — Automated payload injection and analysis
Tech Stack
| Layer | Technology |
|---|---|
| Frontend | React 19, Vite, Tailwind CSS v4 |
| Backend | Python, FastAPI, Uvicorn |
| AI Agent | browser-use, Gemini 2.5 Flash |
| Database | Firebase Firestore (live logs) |
Quick Start
Prerequisites
- Python 3.11+
- Node.js 18+
- Google Cloud GeminiAPI Key
- Firebase Project
Backend Setup
cd backend
# Create virtual environment
python -m venv venv
source venv/bin/activate
# Install dependencies
pip install -r requirements.txt
# Configure environment
cp .env.example .env
# Add your GOOGLE_API_KEY to .env
# Add Firebase service account
# Place your service-account.json in the backend/ directory
# Set credentials path
export GOOGLE_APPLICATION_CREDENTIALS="./service-account.json"
# Start server
uvicorn app.main:app --reload --port 8000
Frontend Setup
cd frontend
# Install dependencies
npm install
# Start dev server
npm run dev
Open http://localhost:5173 in your browser.
Environment Variables
Backend (.env)
GOOGLE_API_KEY=your_gemini_api_key
Firebase
Place your service-account.json in the backend/ directory.
Update frontend/src/firebase.js with your Firebase web config.
🎯 How It Works
- User submits a URL via the React frontend
- Backend spawns an AI agent using browser-use + Gemini
- Agent navigates the site in a visible Chrome window
- Real-time logs stream to Firestore → React UI
- Agent tests for vulnerabilities (XSS, SQLi, info disclosure)
- Structured report generated and displayed in the UI
📊 Report Format
{
"target": "https://example.com",
"risk_level": "MEDIUM",
"vulnerabilities": [
{
"type": "XSS",
"location": "search bar",
"severity": "HIGH",
"description": "Reflected XSS via script tag"
}
],
"inputs_tested": [...],
"pages_visited": [...],
"recommendations": [...]
}
Disclaimer
This tool is for educational and authorized security testing only. Only scan websites you own or have explicit permission to test. Unauthorized scanning may violate laws and terms of service.
Hackathon
Built at CruzHacks 2026
License
MIT
Analysis
View
Metric
- 3
Figures cover GitHub contributors during the hackathon window. A co-authored commit counts in full for each author, so per-member totals add up to more than the whole-team figures.
Technology
- CSSIn code
- FastAPIIn code
- FirebaseIn code
- HTMLIn code
- JavaScriptIn code
- PythonIn code
- ReactIn code
- Tailwind CSSIn code
- Google GeminiClaimed
- LangChainClaimed
8 of 10 appear in the indexed code. 2 claimed on Devpost could not be matched to code, which may simply mean the tool leaves no trace in the repository.
AI coding agents
No AI coding agent signals were found in this repository.
Detected from committed agent config files and commit authorship. Absence of a signal is not proof an agent was unused.
Codebase size
Source size
37 KB
Source files
16
Counts recognized source files only; vendored directories, binaries and lockfiles are excluded, so this is smaller than the repository on disk.
Repository
ChristianHuerta05/Entropy
23 files · 198 KB · @ 37d0ebc
Structure
Interface
5 files · 22%Screens, components and styles rendered to the user.
Application logic
7 files · 30%Domain rules, services and shared utilities.
Supporting
Layers are inferred from where files sit in the tree, not from reading the code. A project that names its directories unconventionally will read oddly here — open the file browser to check anything the diagram implies.
Languages
- JavaScript56%
- Python27%
- Markdown8%
- CSS6%
- Shell2%
- HTML1%
Share of indexed source by file size. Binary and vendored files are excluded.
Dependencies
frontend/package.json
npm · 17- firebase
- lucide-react
- react
- react-dom
- +13 more
backend/requirements.txt
pypi · 6- browser-use
- fastapi
- firebase-admin
- langchain-google-genai
- python-dotenv
- uvicorn
Declared in the repository’s manifests at the indexed commit. A declared package is not proof it is used, and runtime dependencies are listed first.
This project’s features have not been analysed yet.
Export this project's context (description, README, evidence, key source files) to chat with an AI agent elsewhere.