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.
- 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
- 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
- Interactive CVSS metric selection with detailed tooltips
- Real-time score calculation using official
cvssPython module - Vector string generation
- Color-coded severity indicators (None/Low/Medium/High/Critical)
- Individual metric notes and overall CVSS explanations
- 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
- 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
- Python 3.8 or higher
- pip package manager
git clone https://github.com/SoftAndoWetto/Triage-Report-Generator.git
cd Triage-Report-Generatorpip install -r requirements.txtpython triage_application.pyThe requirements.txt file should contain:
PyQt6>=6.5.0
pyspellchecker>=0.7.2
cvss>=3.1
- Click "β New Report" to create a new tab
- Double-click tab names to rename them
- Multiple reports can be open simultaneously
- Summary: Brief vulnerability overview
- Proof of Concept: Step-by-step reproduction steps
- Manual Testing: Details of hands-on testing performed
- Technical Analysis: Deep technical explanation
- Impact Assessment: Business and security impact
- CVSS Metrics: Select metrics for automatic scoring
- Final Determination: Choose outcome and generate message
- Recommended Remediation: Suggested fixes
- Additional Notes: Any extra context
- 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
- Navigate to "CVSS Metrics" section
- Select values for each metric using the buttons
- Score updates in real-time
- Add individual metric notes if needed
- Add overall CVSS explanations in the notes field
- Select the appropriate determination from dropdown
- Review the auto-generated message to reporter
- Edit the bracketed
[Add your manual analysis...]section - Use "π Copy to Clipboard" to copy the message
- Click "Generate Report" in the sidebar
- Choose save location
- Application creates:
- A master folder with your report name
- A Markdown (.md) file with formatted report
- An
_Imagessubfolder with embedded images
- 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
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
βββ ...
- 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
- Lazy loading of sections
- Background pre-loading of adjacent sections
- Deferred CVSS widget loading
- Efficient state management
- Minimal UI blocking operations
- Auto-save: JSON-based state in
~/.triage_autosave/ - Projects: Complete state in project folders
- Images: Base64 encoding in HTML, file-based on export
- 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)
- 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
- 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
Error: "The 'cvss' Python module is not installed"
Solution: pip install cvss
Ensure: You're using "Generate Report" not copy-paste from editor
Note: CVSS section loads on first access, subsequent uses are faster
Check: ~/.triage_autosave/ directory permissions
| 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 |
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.
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
- Additional shorthand expansions
- Export formats (PDF, HTML, JSON)
- Theme customization
- Performance improvements
- Additional security terminology
This project is licensed under the MIT License - see the LICENSE file for details.
- HackerOne for the bug bounty platform inspiration
- CVSS Special Interest Group for the CVSS standard
- The PyQt and Python communities
For issues, feature requests, or questions:
- Check the "Common Issues & Solutions" section above
- Open a GitHub issue
- 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.