Skip to content

ruyynn/VulnDraft

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

30 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

VulnDraft Logo

🐞 VulnDraft

Bug Report Generator for Security Researchers

Version Python License PRs Welcome Stars Forks

Generate professional, platform-compliant security reports in minutes.
Made for bug hunters, by Ruyynn.

Features β€’ Quick Start β€’ Screenshots β€’ Documentation β€’ Support Development

VulnDraft Demo

πŸ“Œ About VulnDraft

VulnDraft is an open-source tool designed to help security researchers and bug bounty hunters generate clear, structured, and professional vulnerability reports.

In bug bounty and penetration testing workflows, discovering vulnerabilities is only half the battle. Writing well-structured reports that clearly explain the issue, impact, and reproduction steps is just as important. VulnDraft streamlines this process by providing automated report generation using clean templates.

The tool supports report formats for popular bug bounty platforms such as HackerOne, Bugcrowd, and Intigriti, allowing researchers to quickly generate reports that match platform expectations.

Key Goals

  • Improve the quality and consistency of vulnerability reports
  • Reduce the time spent formatting reports manually
  • Provide structured templates for common bug bounty platforms
  • Help researchers focus more on finding vulnerabilities, not writing reports

VulnDraft aims to become a simple but powerful tool in the bug bounty and security research workflow, making professional reporting faster and easier.


✨ Features

🎨 Dual Interface

  • βœ… CLI Interactive Mode - For terminal lovers
  • βœ… Web GUI Mode - Beautiful browser interface
  • βœ… Cross-platform (Windows, Linux, macOS, Termux)
  • βœ… REST API for automation

πŸ“„ Multi-Format Export

  • βœ… Markdown (.md) - Ready for platform submission
  • βœ… HTML (.html) - Beautiful styled reports
  • βœ… JSON (.json) - For API integration
  • βœ… PDF (Coming soon)

πŸ† Platform Templates

  • βœ… HackerOne Style
  • βœ… Bugcrowd Style
  • βœ… Intigriti Style
  • βœ… Custom Template Support

πŸ“Š Advanced Features

  • βœ… CVSS v3.1 Calculator
  • βœ… Multi-vulnerability Reports
  • βœ… Session Management (Save/Resume)
  • βœ… Input Validation & Sanitization

🎯 Why VulnDraft?

"Finding a bug is hard enough. Writing a professional report shouldn't be."

VulnDraft was created to solve a common problem in bug bounty and penetration testing workflows.
Discovering vulnerabilities is only part of the process β€” writing a clear, structured report is equally important.

Many security researchers spend unnecessary time formatting reports instead of focusing on actual security research.

The Problem

  • πŸ”₯ Time-consuming β€” Formatting reports manually wastes valuable time
  • πŸ“‹ Inconsistent β€” Every platform has different reporting formats
  • 😀 Repetitive β€” Researchers often rewrite the same structure repeatedly

The Solution

VulnDraft simplifies the reporting process by generating structured vulnerability reports automatically.

With VulnDraft you can:

  • ⚑ Generate professional bug bounty reports in seconds
  • 🧩 Use templates for platforms like HackerOne, Bugcrowd, and Intigriti
  • πŸ“Š Include CVSS scoring and structured vulnerability details
  • πŸ“„ Export clean Markdown reports ready for submission

πŸš€ Quick Start

Prerequisites

# Python 3.8 or higher
python --version

# Git (optional)
git --version

Installation

# Clone the repository
git clone https://github.com/ruyynn/VulnDraft.git
cd VulnDraft

Install dependencies

pip install -r requirements.txt

Usage

πŸ–₯️ CLI Mode (Terminal)

python main.py

Follow the interactive prompts:

  1. Enter report title and author

  2. Add vulnerability details

  3. Choose platform (HackerOne/Bugcrowd/Intigriti/Custom)

  4. Optional: Calculate CVSS score

  5. Add multiple vulnerabilities

  6. Report generated automatically!

🌐 Web Mode (Browser)

python main.py --web

Then open http://localhost:8000 in your browser.

πŸ”§ API Mode (REST)

# Start server
python main.py --web

# Generate report via API
curl -X POST http://localhost:8000/api/v1/reports \
  -H "Content-Type: application/json" \
  -d '{
    "report_title": "SQL Injection Test",
    "author": "YourName",
    "platform": "hackerone",
    "vulnerabilities": [{
      "title": "SQL Injection",
      "description": "Detailed description...",
      "steps_to_reproduce": ["Step 1", "Step 2"],
      "impact": "High impact"
    }]
  }'

πŸ“Έ Screenshots

🎨 Web Interface

Web Interface - Form
Clean, professional form interface
Web Interface - Report
Clean, professional

πŸ’» CLI Interface

CLI - Interactive
Interactive CLI prompts
CLI - CVSS Calculator
Preview Markdown In Terminal

πŸ“„ Report Examples

HackerOne Report
Style Report
Bugcrowd Report
Style Report

πŸ“ Project Structure

VulnDraft/
β”œβ”€β”€ main.py                 # Entry point
β”œβ”€β”€ requirements.txt        # Dependencies
β”œβ”€β”€ config.json            # Configuration
β”œβ”€β”€ core/                  # Core logic
β”‚   β”œβ”€β”€ cvss.py           # CVSS v3.1 calculator
β”‚   β”œβ”€β”€ prompt.py         # CLI interactive prompts
β”‚   β”œβ”€β”€ builder.py        # Report builder
β”‚   └── session.py        # Session management
β”œβ”€β”€ api/                   # REST API
β”‚   β”œβ”€β”€ routes.py         # FastAPI endpoints
β”‚   └── schemas.py        # Pydantic models
β”œβ”€β”€ web/                   # Web interface
β”‚   β”œβ”€β”€ main.py           # FastAPI app
β”‚   β”œβ”€β”€ templates/        # HTML templates
β”‚   └── static/           # CSS/JS assets
β”œβ”€β”€ templates/             # Report templates
β”‚   β”œβ”€β”€ hackerone.md      # HackerOne style
β”‚   β”œβ”€β”€ bugcrowd.md       # Bugcrowd style
β”‚   β”œβ”€β”€ intigriti.md      # Intigriti style
β”‚   └── base.html         # HTML base template
β”œβ”€β”€ platforms/             # Platform validators
β”‚   β”œβ”€β”€ hackerone.py
β”‚   β”œβ”€β”€ bugcrowd.py
β”‚   └── intigriti.py
β”œβ”€β”€ utils/                 # Utilities
β”‚   β”œβ”€β”€ exporter.py       # Export to MD/HTML/JSON
β”‚   β”œβ”€β”€ validator.py      # Input validation
β”‚   └── formatter.py      # Text formatting
└── output/                # Generated reports

πŸ› οΈ Tech Stack

Category Technologies
Backend Python 3.8+, FastAPI, Pydantic
CLI Questionary, Click
Frontend HTML5, TailwindCSS, JavaScript
Templating Jinja2, Markdown
Validation Pydantic, Regex
Testing Pytest

πŸ“ Supported Platforms

Platform Template Fields Status
HackerOne βœ… Title, Description, Steps, Impact, CVSS Full Support
Bugcrowd βœ… Title, Description, Steps, Impact, PoC, CVSS Full Support
Intigriti βœ… Title, Summary, Technical Details, Steps, Impact Full Support
Custom βœ… Fully customizable Full Support

🀝 Contributing

We welcome contributions! Here’s how you can help:

πŸ› Report Bugs

  • Open an issue with detailed steps to reproduce
  • Include screenshots if applicable
  • Mention your OS and Python version

πŸ’‘ Suggest Features

  • Open an issue with [FEATURE] prefix
  • Describe your use case and provide examples

πŸ”§ Submit PRs

  1. Fork the repository
  2. Create a feature branch
    git checkout -b feature/AmazingFeature
  3. Commit your changes
git commit -m 'Add some AmazingFeature'
  1. Push to branch
git push origin feature/AmazingFeature

Open a Pull Request

πŸ“ Improve Documentation

Fix typos

Add examples

Translate to other languages

πŸ’– Support Development

If VulnDraft helps you write better bug reports, consider supporting my work!

Benefits of supporting:

● πŸš€ Early access to new features (PDF export, more platforms)

● πŸ› Faster bug fixes

● πŸ“š Better documentation & examples

● β˜• Keep me caffeinated for late-night coding sessions

πŸ“¬ Contact

Have questions, suggestions, or want to chat about bug bounty? Reach out!

GitHub Mastodon Facebook Email

πŸ“„ License

Distributed under the MIT License. See LICENSE for more information.

MIT License

Copyright (c) 2026 Ruyynn

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions...

πŸ‘₯ Contributors

Thank you to everyone who has contributed to VulnDraft!

thanks to zeennxx for contributions!

⭐ Star History

Keep track of VulnDraft’s popularity over time:

Star History

Built with πŸ’ͺ🧠 by Ruyynn | Bug bounty hunter & tool builder
Happy Bug Hunting! πŸ”₯