
BugBounty GPT
https://github.com/openai/bugbounty-gpt- Category
- Cybersecurity
- Rank
- No. 1011Tools index
- Pricing
- Open Source
- Type
- TOOL
- Builder
- openai
- GitHub
- 58 stars
- Date
About
GPT-powered triage tool for processing BugCrowd bug bounty submissions.
What it does
BugBounty GPT continuously polls one Bugcrowd program for new, nonduplicate submissions. It sends each description to an OpenAI chat model, stores the returned category and reasoning in PostgreSQL, then posts configured replies and closes submissions belonging to selected response categories.
Why it's ranked here
The tool covers a complete operational loop rather than stopping at classification. It fetches reports, records decisions, checks current submission state, comments, closes reports, and tracks outcomes. That reach is useful, but automatic external actions make careful category and response configuration essential.
What's good
Categories, fallback behavior, prompts, program filtering, and reply templates are configurable. Invalid model categories fall back to a designated default. Database records preserve the submission identifier, researcher identifier, classification, reasoning, processing state, and timestamps. Docker Compose supports rebuilding an ephemeral schema while testing category changes.
Tradeoffs
Several synchronous sleeps run inside asynchronous workflows, pausing other work during rate delays. The model response parser expects a category and explanation separated by the final newline. Duplicate tracking lives in memory and resets on restart, although database insertion also checks existing records. Automated response categories can trigger public comments and closure.
How to use it well
Use it for a Bugcrowd program with stable categories, reviewed reply templates, PostgreSQL, and operators who inspect classifications before trusting automation. Test category changes against the disposable Docker Compose database, then manage production migrations manually. It does not replace human validation, vulnerability investigation, severity assessment, or broader case management.
Technical notes+
bugbounty_gpt/__main__.py creates an async SQLAlchemy engine, polls every 60 seconds, classifies unseen reports, persists them, then processes configured response categories. bugbounty_gpt/handlers/openai_handler.py calls the legacy openai.ChatCompletion interface through an executor, uses temperature 0, and falls back to the default category on parsing or request errors. Both that file and bugbounty_gpt/handlers/bugcrowd_api.py use blocking time.sleep calls in async flows. bugbounty_gpt/env.py loads YAML from a parent-relative location, reads secrets and the database URL from environment variables, sanitizes categories, and validates response-category membership. bugbounty_gpt/handlers/submission_handler.py contains assignment support, but the main processing path creates comments and closes submissions without invoking it. bugbounty_gpt/db/models.py builds a SQL enum from configured categories, while alembic/env.py derives a synchronous migration URL by removing +asyncpg.
Observed
- Primary language
- Python
- Python support
- Python 3.11.x is required by the Poetry configuration
- Packaging
- Poetry project named bugbounty-gpt with the bugbounty_gpt package included
- Interface
- Runnable module entry point via python -m bugbounty_gpt
- Deployment surface
- Supports direct local execution and Docker or Docker Compose operation
- Storage
- PostgreSQL through SQLAlchemy, asyncpg, psycopg2, and Alembic
- External integrations
- Bugcrowd HTTP API and OpenAI ChatCompletion API
- License
- No license is stated in the supplied repository text
Read from README.md, pyproject.toml, alembic/env.py, bugbounty_gpt/env.py, bugbounty_gpt/__main__.py, bugbounty_gpt/db/models.py, bugbounty_gpt/db/migrate.py, bugbounty_gpt/db/db_handler.py, bugbounty_gpt/handlers/bugcrowd_api.py, bugbounty_gpt/handlers/openai_handler.py, bugbounty_gpt/handlers/submission_handler.py.
What it can do
Analyze bug bounty submission severity
Bug bounty report details → Severity assessment and priority ranking
Categorize vulnerability types
Bug report description and technical details → Vulnerability classification and category assignment
Validate bug report completeness
Bug bounty submission data → Completeness score and missing information requirements
Generate triage recommendations
Raw bug bounty submissions → Structured triage decisions and next steps
Extract technical indicators from reports
Unstructured bug report text → Structured technical data points and indicators
Score bug bounty payout eligibility
Bug report details and program criteria → Payout recommendation and justification
Tags
Tech Stack
Comments (0)
No comments yet
Editorially curated, with community endorsements as a secondary signal. Corrections welcome.