guardianproject / guardianproject/haven

Onion service should have a random prefix

Open
#47 3 comments 0 reactions 0 assignees View on GitHub
enhancement help wanted low-priority
Dominant language
Java
Stars
6.8k
Forks
752
PR merge metrics
No merged PRs in 30d

Description

Until next gen onion services are live, the actual onion addresses aren't private from HSDir nodes. So it's possible that Haven onion services could get discovered by an attacker, giving them access to all of the evidence logs.

The easiest way to thwart this is to generate a random string and prefix all the URLs with it. So instead of starting with just `http://blahblahblah.onion:8080/`, the URLs should start with `http://blahblahblah.onion:8080/randomstring/`. This way, if an attacker discovered the onion service, they won't be able to view the logs without guessing the value of `randomstring` -- which is essentially a random password. This is how OnionShare URLs works.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by locating the Android code that constructs the onion-service URLs and serves the evidence logs. Trace how requests reach the logs and how the service address is exposed. Done means onion-service URLs include an unpredictable prefix and logs cannot be accessed through the onion address without that prefix; add or run the relevant access tests if present.

Written by the indexing model from the issue text.

Assessment

Tech stack
android, java
Domain
security
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.