Skip to content

SoftAndoWetto/Triage-Report-Generator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

4 Commits
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Triage Report Generator

A powerful, feature-rich desktop application for creating professional vulnerability triage reports for bug bounty programs. Built with PyQt6, this tool streamlines the report writing process with intelligent automation and organization features.

✨ Features

πŸš€ Smart Writing Assistance

  • Auto-Capitalization: Automatically capitalizes sentences as you type
  • Smart Contractions: Automatically fixes common contractions (dont β†’ don't, cant β†’ can't)
  • Shorthand Expansion: Expands security testing shorthand (XSS β†’ Cross Site Scripting, SQLi β†’ SQL Injection)
  • Real-time Spell Checking: Highlights misspelled words with red underline
  • Context Menu Suggestions: Right-click misspelled words for correction suggestions

πŸ“Š Professional Report Structure

  • Multiple Report Tabs: Work on multiple reports simultaneously with browser-style tabs
  • Organized Sections:
    • Summary
    • Proof of Concept
    • Manual Testing
    • Technical Analysis
    • Impact Assessment
    • CVSS Metrics (v3.1)
    • Final Determination
    • Recommended Remediation
    • Additional Notes

πŸ”’ CVSS v3.1 Calculator

  • Interactive CVSS metric selection with detailed tooltips
  • Real-time score calculation using official cvss Python module
  • Vector string generation
  • Color-coded severity indicators (None/Low/Medium/High/Critical)
  • Individual metric notes and overall CVSS explanations

πŸ’Ύ Project Management

  • Save/Load Projects: Complete project state preservation including images
  • Auto-save System: Automatic backup every 2 minutes with recovery option
  • Image Handling: Paste images directly into reports (saved as separate files on export)
  • Tab Management: Rename tabs, close with confirmation, multiple report handling

🎨 User Experience

  • Dark Theme: Easy-on-eyes dark interface optimized for long writing sessions
  • Lazy Loading: Sections load on-demand for faster startup
  • Smooth Navigation: Pre-loading of adjacent sections for seamless browsing
  • Inline Editing: All editing happens in-place with no modal dialogs

πŸ“‹ Installation

Prerequisites

  • Python 3.8 or higher
  • pip package manager

Step 1: Clone the Repository

git clone https://github.com/SoftAndoWetto/Triage-Report-Generator.git
cd Triage-Report-Generator

Step 2: Install Dependencies

pip install -r requirements.txt

Step 3: Run the Application

python triage_application.py

πŸ“¦ Requirements

The requirements.txt file should contain:

PyQt6>=6.5.0
pyspellchecker>=0.7.2
cvss>=3.1

πŸ–₯️ Usage Guide

1. Starting a New Report

  • Click "βž• New Report" to create a new tab
  • Double-click tab names to rename them
  • Multiple reports can be open simultaneously

2. Filling Report Sections

  1. Summary: Brief vulnerability overview
  2. Proof of Concept: Step-by-step reproduction steps
  3. Manual Testing: Details of hands-on testing performed
  4. Technical Analysis: Deep technical explanation
  5. Impact Assessment: Business and security impact
  6. CVSS Metrics: Select metrics for automatic scoring
  7. Final Determination: Choose outcome and generate message
  8. Recommended Remediation: Suggested fixes
  9. Additional Notes: Any extra context

3. Smart Features

  • Auto-Capitalization: Works automatically
  • Contractions: Type "dont" and press space β†’ becomes "don't"
  • Shorthand: Type "xss" and press space β†’ expands to "Cross Site Scripting"
  • Spell Check: Right-click red-underlined words for suggestions

4. CVSS Calculation

  1. Navigate to "CVSS Metrics" section
  2. Select values for each metric using the buttons
  3. Score updates in real-time
  4. Add individual metric notes if needed
  5. Add overall CVSS explanations in the notes field

5. Final Determination

  1. Select the appropriate determination from dropdown
  2. Review the auto-generated message to reporter
  3. Edit the bracketed [Add your manual analysis...] section
  4. Use "πŸ“‹ Copy to Clipboard" to copy the message

6. Exporting Reports

  1. Click "Generate Report" in the sidebar
  2. Choose save location
  3. Application creates:
    • A master folder with your report name
    • A Markdown (.md) file with formatted report
    • An _Images subfolder with embedded images

7. Project Management

  • Save Project: Saves all open tabs, CVSS selections, and images
  • Load Project: Restores complete workspace state
  • Auto-save: Automatically backs up work every 2 minutes

πŸ—‚οΈ Project Structure

triage-generator/
β”œβ”€β”€ triage_application.py  # Main application
β”œβ”€β”€ requirements.txt            # Dependencies
β”œβ”€β”€ README.md                   # This file
β”œβ”€β”€ .triage_autosave/          # Auto-save directory (created automatically)
β”‚   β”œβ”€β”€ autosave_20240101_120000.json
β”‚   └── ...
└── output_reports/            # Example output structure
    β”œβ”€β”€ My_Report_2024/
    β”‚   β”œβ”€β”€ My_Report_2024.md
    β”‚   └── My_Report_2024_Images/
    β”‚       β”œβ”€β”€ image_1.png
    β”‚       └── image_2.jpg
    └── ...

πŸ”§ Technical Details

Core Components

  • Main Window (TriageReportGenerator): Primary application window
  • SmartTextEdit: Enhanced text editor with all smart features
  • SpellChecker: Real-time spell checking with security terminology support
  • AutoSaver: Robust auto-save system with atomic writes and cleanup
  • CVSS Calculator: Official CVSS v3.1 implementation

Performance Optimizations

  • Lazy loading of sections
  • Background pre-loading of adjacent sections
  • Deferred CVSS widget loading
  • Efficient state management
  • Minimal UI blocking operations

Data Persistence

  • Auto-save: JSON-based state in ~/.triage_autosave/
  • Projects: Complete state in project folders
  • Images: Base64 encoding in HTML, file-based on export

πŸš€ Tips for Effective Use

For Bug Bounty Hunters

  • Use the Proof of Concept section for clear, reproducible steps
  • Leverage the Technical Analysis for deep technical explanations
  • Utilize the shorthand expansion for common terms (XSS, SQLi, RCE, etc.)
  • Include screenshots using copy-paste (images embed automatically)

For Triage Teams

  • Standardize determinations using the dropdown selections
  • Use the boilerplate messages as starting points
  • Add detailed CVSS justifications in the notes
  • Save project files for ongoing triage sessions

For Security Managers

  • Use the Impact Assessment for business risk context
  • Reference CVSS scores for prioritization
  • Export Markdown for integration with other tools
  • Leverage the auto-save feature for disaster recovery

⚠️ Common Issues & Solutions

CVSS Module Missing

Error: "The 'cvss' Python module is not installed"

Solution: pip install cvss

Images Not Saving

Ensure: You're using "Generate Report" not copy-paste from editor

Slow Loading on First Open

Note: CVSS section loads on first access, subsequent uses are faster

Auto-save Not Working

Check: ~/.triage_autosave/ directory permissions

πŸ”„ Keyboard Shortcuts

Action Shortcut
New Tab Not assigned (use button)
Next Section Click in sidebar
Generate Report Click button
Copy Message Click "πŸ“‹ Copy to Clipboard"
Fix Contractions Type word + Space
Expand Shorthand Type shorthand + Space

πŸ“„ Export Format

Reports are exported as Markdown with the following structure:

# Triage Report
## Summary
[content]

## Proof of Concept
[content]

## CVSS v3.1 Metrics
**CVSS Score:** 7.5 (High)
**Vector String:** `CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N`

[etc...]

Images are saved in a subfolder and linked with Markdown image syntax.

🀝 Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Test thoroughly
  5. Submit a pull request

Areas for Contribution

  • Additional shorthand expansions
  • Export formats (PDF, HTML, JSON)
  • Theme customization
  • Performance improvements
  • Additional security terminology

πŸ“ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ™ Acknowledgments

  • HackerOne for the bug bounty platform inspiration
  • CVSS Special Interest Group for the CVSS standard
  • The PyQt and Python communities

πŸ†˜ Support

For issues, feature requests, or questions:

  1. Check the "Common Issues & Solutions" section above
  2. Open a GitHub issue
  3. Provide detailed reproduction steps

Happy Triage Reporting! πŸ›‘οΈ

Note: This tool is for legitimate security testing and bug bounty reporting only. Always follow responsible disclosure practices.

About

A powerful, feature-rich desktop application for creating professional vulnerability triage reports for HackerOne and bug bounty programs. Built with PyQt6, this tool streamlines the report writing process with intelligent automation and organization features.

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages