vuln-bank: Practice Web, API, and AI Security Testing

Summary
Vuln Bank is an intentionally vulnerable banking web app for learning application security testing and secure code review. It offers hands-on scenarios across web, API, GraphQL, and AI features, and should only run in an isolated educational environment.
At a glance
- Language
- HTML
- License
- MIT
- Stars
- 960
- Forks
- 348
- Added to OSRepos
- December 26, 2025
- Last analyzed
- October 3, 2026
Use at your own risk
OSRepos shares public repositories for knowledge and discovery only. Any installation, execution, configuration, or use of code from these repositories is the user's own responsibility. Always review the repository, source code, dependencies, licenses, and security implications before running or installing anything. OSRepos is not responsible for issues, damages, or losses resulting from third-party repositories.
Overview
Vuln Bank is a deliberately vulnerable banking application that provides a hands-on environment for practicing security testing and secure code review. It combines familiar banking workflows with intentionally flawed web, API, GraphQL, and AI support features.
The project is intended for security learners and practitioners who need a lab for exploring vulnerabilities and testing security workflows. It is not a safe banking product or a template for production software.
Key Features
- Banking workflows including accounts, transfers, loans, transaction history, and bill payments.
- Practice scenarios for authentication, authorization, input handling, file uploads, and transaction logic.
- API and GraphQL endpoints with documented vulnerability-testing areas.
- AI customer support agent with a real LLM option and a mock mode.
- Virtual cards and merchant payment integrations for testing payment-related security flaws.
- Docker Compose setup and a local Python/PostgreSQL installation path.
- Testing guidance for the included vulnerability categories.
Use Cases
- Security students can use the isolated app to explore common web and API vulnerabilities against realistic workflows.
- Developers can practice reviewing intentionally flawed application code and discuss safer implementation patterns.
- QA and security teams can try automation and DevSecOps testing against a controlled target.
- AI security learners can compare prompt-injection and data-disclosure scenarios in authenticated and anonymous chat modes.
Project Facts
- Language: HTML
- License: MIT
- Stars: 960
- Forks: 348
- Topics: ai-security, apisecurity, application-security, devsecops, penetration-testing, secure-coding
- Archived: No
Getting Started
With Docker Compose, clone the repository and start the lab:
git clone https://github.com/Commando-X/vuln-bank.git
cd vuln-bank
docker-compose up -d --build
The app is available at http://localhost:5000. See the README for local setup, testing scenarios, and configuration details.
Alternatives
- buffer-overflow-lab: It focuses on demonstrating buffer overflows in a Flask lab, while vuln-bank covers varied banking scenarios across web, API, GraphQL, and AI features.
Considerations
- The application intentionally contains serious vulnerabilities. Run it only in an isolated environment, never on a public network or with real personal data.
- The Docker setup uses the Flask development server with debugging enabled, as part of the training scenarios. Do not treat it as production-ready.
- Local installation requires Python 3.9 or higher and PostgreSQL. Docker is the documented recommended setup.
- The AI agent can use the DeepSeek API, or fall back to mock mode when no API key is configured.
Found this useful?
Share it with someone who would like vuln-bank.
Comparisons
Source repository
Open the original repository on GitHub.
23 counted GitHub visits
Related repositories
Similar repositories that may be relevant next.

shepherd: Supervise Agents with Reversible Execution Traces
October 2, 2026
Shepherd records agent work as inspectable, reversible execution traces and keeps changes as proposals for review. It is aimed at developers building systems that supervise, replay, or manage the work of other agents.

agent-anvil: Test AI Agent Tool Use in CI
October 1, 2026
Agent Anvil evaluates tool-using AI agents through scenario-based runs, trace checks, and optional semantic grading. It helps teams catch unsafe or incorrect tool behavior before it reaches production.

e2a: Email API for Applications and AI Agents
September 29, 2026
e2a provides an email API and relay for applications and AI agents. It supports transactional sending, inbound mailboxes, and agent replies, with optional human review and hosted or Docker-based deployment.

bernstein: Govern and Orchestrate AI Agents
September 28, 2026
Bernstein coordinates AI-agent workloads through declarative policies, approval gates, and isolated task execution. It records runs for replay and offline verification, helping teams that need accountable, auditable automation.