Vector35 / Vector35/binaryninja-api
Collaboration support for WARP
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 1.3k
- Forks
- 298
- Avg merge
- 5d 5h
- Merged PRs (30d)
- 19
Description
Collaboration (the functionality surrounding remote projects) is now supported in the Rust API, we could add a few interesting integrations with WARP. (NOTE: These are just ideas, no say on when/if these will be worked on)
- Add an option to load signature files (.sbin) from a remote.
This is pretty self explanatory, when WARP gathers all the local files for inclusion in the matching data set, we could pull down signature files from a remote. This would necessitate a few extra options and possibly be done as apart of "WARP providers", namely we would need to identify the remote to connect to and have a filter for the files that the user wants to include, this might require us to also add the architecture to the WARP spec, as to not pull in functions from other architectures.
This might also better be done as a UI interaction, where the user can select files from a remote after auto analysis is done, in that case the interaction file picker would just need to be used in some place in the WARP UI (see this issue).
- Add remote syncing to sigem (the headless WARP script)
A common issue with sigem is managing both the input and output files, if you have a thousand binaries in a dozen folders you would find yourself moving around a lot of data manually. Instead we could add support for sigem to stage the input files into a remote project, then pull them down in a separate stage to generate output signature files. These signature files could then be uploaded to another project (or the same one), for distribution. This would also make scaling sigem horizontally much more manageable, if you could have each sigem instance work on separate remote folders but contribute the signatures to the same output remote.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading the Rust API's collaboration support and the WARP providers and sigem entry points named in the issue. Review the related UI file-picker issue (#6337), then choose one of the proposed remote workflows and define its scope. Done means the selected integration has clear remote, filtering or staging behavior and is implemented consistently.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- reverse-engineering, tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100