Contributing to BTIGhidra banner
trailofbits trailofbits

Contributing to BTIGhidra

Development community intermediate

Description

First, thanks for your interest in contributing to BTIGhidra! We welcome and appreciate all contributions, including bug reports, feature suggestions, and code improvements. If you're unsure where to

Installation

This entry records only its repository, not the path inside it, so there is no exact command to give. Open the source below and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

Repository README

This is the README for trailofbits/BTIGhidra, shared by 2 entries in this directory. It describes the repository, not this entry specifically.

Contributing to BTIGhidra

First, thanks for your interest in contributing to BTIGhidra! We welcome and appreciate all contributions, including bug reports, feature suggestions, and code improvements.

If you're unsure where to start, we recommend to join our [chat room](https://slack.empirehacking.nyc/) (in the #binary-lifting channel) to discuss new ideas to improve this tool.

Bug reports and feature suggestions

Bug reports and feature suggestions can be submitted to our [issue tracker](https://github.com/trailofbits/BTIGhidra/issues). For bug reports, attaching the binary and reproduction artifacts (generated by selecting the "Save to debug directory" analysis option). resolving the issue quickly. If you know that the issue is associated with the type inference algorithm itself and not the plugin then you may also open an issue on the [binary_type_inference issue tracker](https://github.com/trailofbits/binary_type_inference/issues)

Questions

Questions can be submitted to the issue tracker, but you may get a faster response if you ask in our [chat room](https://slack.empirehacking.nyc/) (in the #binary-lifting channel).

Code

BTIGhidra uses the pull request contribution model. Please make an account on Github, fork this repo, and submit code contributions via pull request. For more documentation, look [here](https://guides.github.com/activities/forking/).

There are two submodules used by this project

  • binary_type_inference contains the core implementation of the type inference algorithm operating over an IR exported from Ghidra
  • cwe_checker a fork of cwe_checker that exports some more information from Ghidra into their IR. We use cwe_checker as the basis for our flow-sensitive analyses and hope to contribute these changes back/not be dependent on a fork of cwe_checker in the future.

You will need to introduce a PR on every repository for which you would like to submit a change. Please reference the issue in all PRs particularly if the PRs are co-dependent.