Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: persistent findings storage #22

Conversation

GangGreenTemperTatum
Copy link
Collaborator

@GangGreenTemperTatum GangGreenTemperTatum commented Feb 10, 2025

closes #18

Add Persistent Finding Storage with JSON Database

Changes

  • Implemented JSON-based finding storage in logs/findings.json
  • Added to_dict() method to BurpferenceIssue for serialization
  • Added database management with BurpDBManager class
  • Updated finding creation workflow in scanner and main extension

Technical Details

  • Findings are stored in structured JSON format with:
    • Timestamp
    • Severity level
    • Issue details
    • Affected URLs/hosts
    • Request/response pairs
  • Uses project root-relative paths for consistent file locations
  • Handles file I/O gracefully with proper error handling
  • Maintains synchronization between Scanner and Proxy analysis

ie

image image
[
  {
    "severity": "Information", 
    "url": "https://www.x.io:443/", 
    "name": "burpference: INFORMATIONAL Security Finding", 
    "host": "www.x.io",

AI-Generated Summary

PR Summary

Overview of Changes

Arr, here be a bounty of changes in the vast sea of code. The PR hoists up enhancements to README.md, includin' a vivid map to the project structure and tales of persistent findings storage. It makes the README.md more hearty with guides and structure for navigating the project and documenting the storage of security findings. New files and changes to existing ones be makin' their mark, primarily with the introduction of a db_manager.py for managin' findings in a database and revampin' paths in consts.py to better reflect the project's directory structure. The changes promise to make the handling of findings as robust as a galleon in full sail.

Key Modifications

  1. Addition of Project Structure to README: A detailed project structure be now documented in README.md, makin' it easier for fellow pirates to navigate the treacherous waters of the codebase.
  2. Persistent Findings Storage: README.md now boasts a section on how security findings are stored and tracked persistently across sessions, including a structured JSON example.
  3. db_manager.py Introduction: A new file for managing the database of findings, providing functionality to add and retrieve findings with ease.
  4. Rework of Directory Paths in consts.py: The constants file now uses updated paths that reflect a more accurate directory structure for better project navigation.
  5. Database Integration in BurpExtender: Modifications in burpference.py integrate the database manager for findings, allowing issues to be saved and logged effectively.

Potential Impact

  • Improved project documentation could facilitate easier onboarding and understanding of the project structure for new contributors.
  • The persistent storage of findings enhances the application's usability, allowing for better tracking and management of security issues.
  • Introduction of the database manager (db_manager.py) centralizes finding storage, potentially improving the efficiency and scalability of data handling.
  • Changes in file structure and paths (consts.py) may affect existing workflows or tools that rely on previous paths, necessitating updates to maintain compatibility.
  • The integration of database functionalities into main extension code (burpference.py) paves the way for more sophisticated data management but also introduces a new dependency that requires proper testing to ensure stability.

This summary was generated with ❤️ by rigging

@GangGreenTemperTatum GangGreenTemperTatum self-assigned this Feb 10, 2025
@GangGreenTemperTatum
Copy link
Collaborator Author

testing this, no concerns from

Now ye be speakin' the pirate's tongue, savvy?
[+] Saved 21 findings to /Users/ads/git/burpference/logs/findings.json
[+] Saved 22 findings to /Users/ads/git/burpference/logs/findings.json
[+] Saved 23 findings to /Users/ads/git/burpference/logs/findings.json
[+] Saved 24 findings to /Users/ads/git/burpference/logs/findings.json
image

@GangGreenTemperTatum GangGreenTemperTatum merged commit d05debd into main Feb 10, 2025
1 check passed
@GangGreenTemperTatum GangGreenTemperTatum deleted the ads/eng-1033-feature-local-sql-db-or-other-data-store-for-burpference branch February 10, 2025 16:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[FEATURE] Local SQL DB or other data store for burpference
1 participant