- JDK 21+ - Required for building the extension
- Python ≥3.8 - Required for AWS JSON model support (optional)
- IntelliJ IDEA - For UI development (optional)
-
Clone the repository
git clone <repo-url> cd model-parser
-
Build the project
gradlew shadowJar
The fat JAR will be output to
build/libs/si-model-parse-x.x.x-all.jar -
Load in Burp Suite
- Open Burp Suite → Extensions → Add
- Select the generated JAR file
If you modify .proto files, regenerate the protobuf classes:
gradlew generateProtoBuild the fat JAR with gradle shadow:
gradlew shadowJar- Model File Loaders - Parse and load API spec files
- Model File Handlers - Process and serialize API operations
- UI Components - Burp Suite extension interface
- gRPC Server - Python service for AWS botocore serialization
UI .form files are built with IntelliJ's GUI Designer with the option:
"Generate into: Java source code on save"
Follow these steps to add support for a new API specification format:
-
Implement the loader
- Create a new class extending AbstractModelFileLoaderChain
- This loads the model file and acts as an adapter
-
Implement the handler
- Create a new class extending AbstractModelFileHandler
- This processes and serializes the API operations
-
Register the loader
- Add your new loader to the
modelFileLoaderChainin OpenModelFile
- Add your new loader to the
When reporting bugs, please include:
- Steps to reproduce
- Expected vs actual behavior
- Sample spec file (if possible)
- Error messages or stack traces
