Skip to content

Red-Flake/burpsuite-nix

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

burpsuite-nix

Declarative Burp Suite configuration for Nix and Home Manager — including automatic installation and configuration of Burp extensions (BApps), Jython, JRuby, and Burp configuration files.

burpsuite-nix makes Burp Suite fully reproducible: extensions, interpreters, UI settings, and Burp’s UserConfig.json are all generated automatically through Nix.

Features

  1. Home Manager module for Burp Suite
  • Declarative UserConfigCommunity.json / UserConfigPro.json generation

  • Deep merging of your overrides with Burp defaults

  • Automatic dark mode support

  • Multiple edition configs (Community, Pro)

  1. Fully packaged Burp extensions (BApps)
  • Managed and installed through Nix

  • Extensions are installed into your profile automatically

  • Each extension exposes metadata through passthru.burp

  1. Automatic interpreter setup
  • If any extension requires Python, Jython is installed and configured

  • If any extension requires Ruby, JRuby is installed and configured

  • Burp receives correct interpreter JAR paths automatically

  1. Reproducible & portable
  • All config JSON files are fully generated by Nix

  • Zero runtime patching or mutating files in $HOME

  • No GUI config needed — all Burp settings are declarative

Module Documentation

The Documentation for each Module Setting can be found here: nixos-options.md

Usage

Note that this Module does not install Burpsuite, this needs to be done separately!

Import this Repo as a Flake Input:

burpsuite-nix = {
    url = "github:Red-Flake/burpsuite-nix";
    inputs.nixpkgs.follows = "nixpkgs";
};

Then you need to import the Module in your Home-Manager Configuration and configure it:

imports = [ inputs.burpsuite-nix.homeManagerModules.default ];

programs.burp = {
    enable = true;

    extensions = [
        # Loaded by default
        "403-bypasser"
        "json-web-tokens"
        "js-miner"
        "param-miner"

        # Installed but not loaded
        {
            package = "http-request-smuggler";
            loaded = false;
        }
    ];

    # Define which file will be installed, defaults to community
    edition = [
    "Community"
    "Pro"
    ];

    # Settings that are deep-merged into the default config
    settings = {
        display.user_interface = {
        # Enable Darkmode
        look_and_feel = "Dark";
        # Change Scaling
        font_size = 17;
      };
    };
};

TODO

  • [] Add a Github Action Workflow that updates the Extensions
  • [] Add integration tests
  • [] Only prefetch changed Extensions, not all Extensions on a Change
  • [] Explore compiling the Extensions from Source
  • [] reimplement javas cursed directory name generation to declaratively modify burp extension settings

About

A simple Home-Manager module managing BurpSuite Configs and Extension reproducibly.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •