Valkyrie is an automated security testing platform that discovers vulnerabilities in web applications using AI-driven attack simulation. It combines traditional security testing techniques with browser-based AI agents to detect SQL injection, cross-site scripting (XSS), authentication flaws, and rate limiting issues.
-
SQL Injection Testing - Automated detection of SQL injection vulnerabilities across login forms, search endpoints, URL parameters, and API routes. Uses a library of injection payloads with intelligent error pattern matching to identify exploitable entry points.
-
XSS Testing (Browser-Based) - Client-side cross-site scripting detection powered by rtrvr.ai. Unlike traditional HTTP-based scanners, Valkyrie uses a real browser agent to inject payloads into forms and detect reflected/DOM-based XSS in rendered pages.
-
Authentication Testing - Tests for common authentication weaknesses including default credentials, brute-force susceptibility, and session management flaws.
-
Rate Limiting Analysis - Checks whether API endpoints enforce proper rate limits to prevent abuse and denial-of-service attacks.
-
AI-Powered Endpoint Discovery - Automatically crawls target applications to discover testable endpoints, forms, and API routes before running security tests.
-
PDF Report Generation - Export detailed vulnerability reports with severity ratings, proof-of-concept details, and remediation recommendations.
-
Real-Time Dashboard - Monitor running tests, view vulnerability counts by severity, and track your security testing history.
| Layer | Technology |
|---|---|
| Frontend | React 19, TypeScript, Vite, Tailwind CSS |
| Backend | Python, FastAPI, SQLAlchemy, SQLite |
| AI/ML | OpenAI API, rtrvr.ai Browser Agent |
- Python 3.11+
- Node.js 18+
- npm
git clone <repo-url>
cd Valkyriecd backend
pip install -r requirements.txtCreate a .env file in the backend/ directory:
# Required: OpenAI API key for AI-powered attack generation
OPENAI_API_KEY=your-openai-api-key
# Required for XSS testing: rtrvr.ai API key
# Get yours at https://rtrvr.ai/cloud -> API Keys
RTRVR_API_KEY=your-rtrvr-api-keycd frontend
npm installTerminal 1 - Backend:
cd backend
python main.py
# Runs on http://localhost:8000Terminal 2 - Frontend:
cd frontend
npm run dev
# Runs on http://localhost:5000Visit http://localhost:5000 in your browser and sign in.
We recommend using OWASP Juice Shop as a safe, intentionally vulnerable target for testing:
Target URL: https://juice-shop.herokuapp.com/
Juice Shop is a modern web application riddled with security flaws, purpose-built for security training and testing. It contains real SQL injection, XSS, and authentication vulnerabilities that Valkyrie can detect.
WARNING: Only use Valkyrie against applications you own or have explicit permission to test. Running security tests against unauthorized targets is illegal and unethical. Juice Shop is a safe, legal target designed for this purpose.
- Sign in to the Valkyrie dashboard
- Create a new test - Click "New Test", enter a name and the target URL (e.g.,
https://juice-shop.herokuapp.com/) - Select test types - Choose from SQL Injection, XSS Testing, Authentication, and Rate Limiting
- Run the test - Valkyrie will automatically discover endpoints and run the selected attacks
- Review results - View discovered vulnerabilities with severity ratings (Critical, High, Medium, Low)
- Export report - Download a PDF report with full findings and remediation steps
LLM-Canvas/
backend/
main.py # FastAPI server & API routes
api_security_engine.py # Test orchestrator - coordinates all engines
sqli_engine.py # SQL injection testing engine
xss_engine.py # XSS testing via rtrvr.ai browser agent
database.py # SQLAlchemy + SQLite configuration
models.py # Database models
.env # API keys (not committed)
frontend/
src/
pages/
Dashboard.tsx # Security overview & metrics
APITesting.tsx # Test management & execution
APITestDetail.tsx # Individual test results & vulnerabilities
Reports.tsx # PDF report generation
Settings.tsx # Platform configuration
components/
APITestForm.tsx # Test creation form
layouts/
AppLayout.tsx # Main app shell with sidebar navigation
cd backend
pip install --upgrade -r requirements.txt
python main.pycd frontend
rm -rf node_modules package-lock.json
npm install
npm run devlsof -ti:8000 | xargs kill -9
lsof -ti:5000 | xargs kill -9cd backend
rm llm_auditor.db
python main.py # Recreates with seed dataThis project was built for the hackathon. Use responsibly.