Vector35 / Vector35/binaryninja-api

Improved UX for pushing data to WARP server

Open
#7,739 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Component: WARP Effort: Low Impact: Low
Dominant language
C++
Stars
1.3k
Forks
298
Avg merge
5d 5h
Merged PRs (30d)
19

Description

Currently outlined steps for pushing to WARP server:

  1. Enable network WARP in settings
  2. Add API key in settings
  3. Open a binary and annotate
  4. Create WARP file with selected annotations or all
  5. Use the commit file command or upload via website

This is all documented and fine but making the user have to create the file and then commit is unnecessary friction in most cases.

We should have a "fast path" here that will "just push the information" similar to other products. Optionally we should also give the option for the user to automatically push information at certain key points, such as when analysis completes. Because of this automatic pushing we should be providing a "default source" setting for users to set (should be settable from the WARP container tab).

On the server we should be more aggressive in "tombstoning" functions after push operations to avoid duplicate function information poisoning a specific file (e.g. the one which had multiple pushes occur on the same function information)

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing the existing WARP settings, WARP container tab, commit file command, and website upload flow described in the issue. Determine where a direct push, optional automatic push points, and a default source setting would fit, then review the server-side push handling. Done means the fast path and requested automatic behavior are defined without duplicate function information for a specific file.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
backend-api-design, reverse-engineering
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.